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

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

Docker: RabbitMQ: exec(): Unable to fork, Prometheus node_exporter и Docker limits

15 февраля 2019
 

 RabbitMQ перестал принимать новые сообщения, и при выполнении запроса – возвращает ошибки вида: exec(): Unable to fork write(): send of 12 bytes failed with errno=104 Connection reset by peer fwrite(): send of 19 bytes failed with errno=32 Broken pipe Собственно, по сообщениям видно, что проблема с памятью – exec() не может выполнить fork() и выделить… Читать далее »

Grafana Labs: Loki – подключение S3 для данных и DynamoDB для индексов

13 февраля 2019
 

 И продолжаем баловаться с Loki. Первая часть – тут>>>, вторая – тут>>>. Очень пригодилась помощь разработчиков в Slack-комьюнити Grafana – там есть отдельный канал #loki. Задача сейчас – настроить Loki для использования AWS S3 корзины как persistent storage для данных самих логов, и AWS DynamoDB – для хранения индексов. При запуске Loki с конфигурацией по… Читать далее »

Grafana Labs: Loki – распределённая система, теги и фильтры

7 февраля 2019
 

 Предыдущий пост серии – Grafana Labs: Loki – сбор и просмотр логов. Задача на сейчас – попробовать собрать распределённую систему: Grafana будет работать на одном хосте Loki – на втором Promtail – на третьем Суть идеи такова: имеется рабочее окружение, скажем Dev, включает в себя 2 хоста имеется окружение мониторинга – хост с Grafana/Prometheus/etc На хостах Dev-окружения… Читать далее »

Grafana Labs: Loki – сбор и просмотр логов

6 февраля 2019
 

 В Grafana версии 6.0 была предоставлена новая плюшка – просмотрщик логов Loki, аналог известного всем стека ELK/EFK. Является встроенной возможностью самой Grafana, и заточен под работу с Prometehus и Kubernetes, с возможностью использования их метрик. Проект совсем новый, и главный его недостаток, который выявился за время попытки поднять хотя бы Proof of Concept, который и… Читать далее »

Prometheus: роутинг алертов в Alertmanager

30 октября 2018
 

 Есть три рабочих окружения – Dev, Stage, Production. Есть пачка алертов с разными уровнями важности – info, warning и critical, например: … – name: SSLexpiry.rules rules: – alert: SSLCertExpiring30days expr: probe_ssl_earliest_cert_expiry{job=”blackbox”} – time() < 86400 * 30 for: 10m labels: severity: info annotations: summary: “SSL certificate warning” description: “SSL certificate for the {{ $labels.instance }}… Читать далее »

Prometheus: node_exporter – мониторинг supervisord

25 октября 2018
 

 Задача – мониторить статус supervisor и его задач. Используем node_exporter и его supervisord коллектор. Настройка supervisor Настраиваем сам supervisor – в конфиге /etc/supervisor/supervisord.conf, добавляем [inet_http_server]: … [inet_http_server] port = 127.0.0.1:9001 … Перезапускаем supervisor: [simterm] root@bttrm-stage-console:/home/admin# systemctl restart supervisor [/simterm] Проверяем статус: [simterm] root@bttrm-stage-console:/home/admin# supervisorctl status projectname_daily_statistic_processing STARTING projectname_itunes_purchases:projectname_itunes_purchases_00 RUNNING pid 2323, uptime 0:00:27 projectname_itunes_purchases:projectname_itunes_purchases_01 RUNNING… Читать далее »

Prometheus: проверка отсутствия метрик – avg_over_time()

15 августа 2018
 

 Среди прочих алертов у нас есть алерты на падение сервиса – когда метрика *_up == 0. Проблема в том, что такой алерт сработает только в том случае, если екпортёр сервиса явно вернёт значение ноль, но если ЕС2 с сервисом и екпортёром был выключен/удалён – то Alertmanager ничего не сообщит. Например – алерт на RDS выглядит… Читать далее »

Linux: systemd сервис для Docker Compose

14 августа 2018
 

 Есть Docker Compose файл, который запускает Prometheus стек. Рабочий каталог Prometheus – /opt/prometheus, в котором находится Compose файл prometheus-compose.yml. Для управления им через systemd – создаём файл /etc/systemd/system/prometheus.service: [Unit] Description=Prometheus stack Requires=docker.service After=docker.service [Service] Restart=always WorkingDirectory=/opt/prometheus ExecStart=/usr/local/bin/docker-compose -f prometheus-compose.yml up ExecStop=/usr/local/bin/docker-compose -f prometheus-compose.yml down [Install] WantedBy=multi-user.target Проверяем. Запускаем: [simterm] # systemctl start prometheus.service [/simterm] Проверяем… Читать далее »

Prometheus: OpsGenie и Alertmanager – уведомления в почту/SMS/телефон

9 августа 2018
 

 OpsGenie – сервис, позволяющий настроить отправку уведомлений на почту, в Slack, SMS и умеющий выполнять звонки при возникновении алерта. Кроме того – у него есть мобильные приложения для Android и iOS. Сейчас у нас нотификации отправляются только в Slack, через slack_configs Alertmanager-а, но этого явно мало, особенно если ночью упадёт какой-то критичный сервис. Собственно, задачей… Читать далее »

Prometehus: MySQL exporter

7 августа 2018
 

 Ещё одна задача по мониторингу – проверять доступ к серверу баз данных. Краткая заметка просто для примера. Используем prometheus/mysqld_exporter. Подключаемся к серверу БД, добавляем пользователя: [simterm] MariaDB [(none)]> CREATE USER ‘prometheus’@’10.0.2.7’ IDENTIFIED BY ‘password’; Query OK, 0 rows affected (0.00 sec) [/simterm] Задаём ему права доступа: [simterm] MariaDB [(none)]> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.*… Читать далее »