Архив рубрики: Monitoring

Мониторинг серверов, сетей и оборудования

Grafana: Loki — Prometheus-like счётчики и функции агрегации в LogQL и графики DNS запросов к dnsmasq

16 ноября 2019
 

 Последний раз Loki для сбора и наблюдения за логами настраивал аж в феврале этого (см. Grafana Labs: Loki — сбор и просмотр логов), когда Loki была ещё в beta-версии. Сейчас возникли проблемы с исходящим трафиком (объём за два месяца вырос в 4 раза), никак не можем найти виновника. Как один из вариантов поиска этого самого… Читать далее »

dnsmasq: ошибки в AWS — «Temporary failure in name resolution», логи, дебаг и размер кеша

26 октября 2019
 

 При использовании AWS VPC DNS периодически сталкиваемся с ошибками вида «php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution«. Единственный совет от тех. поддержки AWS заключался в установке dnsmasq в роли кеширующего сервиса, но он уже давно установлен — а проблема раз в несколько месяцев проявляется снова. Хотя пост не о том, но из возможных причин… Читать далее »

Debian: не срабатывает logrotate — unknown group ‘syslog’

9 октября 2019
 

 Имеется AWS EC2 с Debian с logrotate. Закончилось место на корневом разделе, начали искать причину, обнаружилось, что накопились файлы вида /var/log/syslog.N.gz. При этом по-умолчанию logrotate создаёт файл настроек для syslog: Т.е. должен оставаться syslog + syslog.1, а вместо этого имеем: Проверяем — запускаем logrotate с —debug: unknown group ‘syslog’ Собственно — вот и ошибка. Возникает потому,… Читать далее »

Linux: постоянное хранение логов в systemd-journald

25 сентября 2019
 

 Имеется AWS EC2, который внезапно перезагрузился. Проблема заключается в том, что файл /var/log/messages неполный, последняя запись в нём — о том, что rsyslog был убит. Но вот кем и как — непонятно. Была надежда увидеть логи в journald, но — сюприз: по умолчанию journald хранит только записи о последней загрузке: Собственно, надо включить хранение логов… Читать далее »

Opsgenie: интеграция с Uptrends

24 сентября 2019
 

 Uptrends — простая мониторилка-пинговалка, давно использую для RTFM (см. Prometheus: мониторинг для RTFM — Grafana, Loki и promtail). Решил добавить её как последний рубеж для уведомлений о проблемах с рабочими ендпоинтами, а заодно — прикрутить интеграцию с OpsGenie, через который мы получаем уведомления на мобильные, см. Prometheus: OpsGenie и Alertmanager — уведомления в почту/SMS/телефон. Интеграция… Читать далее »

Prometheus: получить общее количество процессов на сервере и process-exporter

9 сентября 2019
 

 Начали у нас на бекенде размножаться процессы. Причина сейчас не важна, интересно другое: захотелось собирать метрики по общему количеству процессов на хостах, но, внезапно — node-exporter такого не умеет: у него есть только метрики node_procs_running и node_procs_blocked, а хочется видеть количество процессов и в Sleep, и в Zombie. Используем вместо него process-exporter. Запускаем для проверки… Читать далее »

RTFM: День Рождения — 8 годиков и 3 миллиона посетителей. Обзор обновлений.

14 августа 2019
 

 Как-то вдруг наступил уже и Август. Традицонно — 14-е Августа у RTFM что-то вроде Дня рождения: Ну и традиционно — кратенько пройдусь по основным событиям за прошедший год (хотя семилетие не записал, ну да ладно). Блог по-прежнему работает на WordPress, хостится на Debian + NGINX + PHP-FPM + MariaDB — стандартный LEMP. Предыдущие посты: rtfm.co.ua… Читать далее »

Sentry: запуск self-hosted версии системы мониторинга ошибок на AWS EC2

18 мая 2019
 

 Для проекта мы пользовались Cloud-based версией Sentry, но в один прекрасный день исчерпали лимит на отправку сообщений, и бекенд-команда, по сути, осталась без мониторинга. Давно собирались запустить Sentry на своём сервере, появился повод. В посте описывается запуск Sentry с Docker Compose, настройка почты и пример перехвата ошибок в Python. Используем репозиторий Sentry. Запускаем AWS EC2,… Читать далее »

Prometheus» Alertmanager — отправка алертов в «/dev/null»

26 марта 2019
 

 В дополнение к посту Prometheus: роутинг алертов в Alertmanager. Имеется конфиг с роутами. Задача — вырезать все алерты от Дев-а, и слать в «/dev/null». Для этого — создаём пустой ресивер: … receivers: — name: ‘blackhole’ — name: ‘default’ slack_configs: — send_resolved: true title_link: ‘http://dev.monitor.example.world/prometheus/alerts’ title: ‘{{ if eq .Status «firing» }}:confused:{{ else }}:dancing_panda:{{ end }}… Читать далее »

Monit: алерты при SSH логинах на сервер

18 марта 2019
 

 Задача — отсылать уведомления на почту при SSH-логине на хост с недоверенных IP. Используем Monit. Устанавливаем: Настраиваем отправку почты — задаём localhost (у нас крутится локальный exim), формат письма и получателя алертов. Редактируем /etc/monit/monitrc: … set mailserver localhost set mail-format { from: Monit <monit@$HOST> subject: monit alert — $EVENT $SERVICE message: $EVENT Service $SERVICE Date:… Читать далее »