Tag Archives: monitoring

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

30 October 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 }}… Read More »

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

25 October 2018
 

 Задача – мониторить статус supervisor и его задач. Используем node_exporter и его supervisord коллектор. Настройка supervisor Настраиваем сам supervisor – в конфиге /etc/supervisor/supervisord.conf, добавляем [inet_http_server]: … [inet_http_server] port = 127.0.0.1:9001 … Перезапускаем supervisor: Проверяем статус: Настройка node_exporter Проверяем node_exporter – запускаем пока вручную. Указываем ему –collector.supervisord и URL – –collector.supervisord.url=”http://localhost:9001/RPC2″: ОК, работает. Теперь добавим supervisor коллектор… Read More »

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

15 August 2018
 

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

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

9 August 2018
 

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

Prometehus: MySQL exporter

7 August 2018
 

 Ещё одна задача по мониторингу – проверять доступ к серверу баз данных. Краткая заметка просто для примера. Используем prometheus/mysqld_exporter. Подключаемся к серверу БД, добавляем пользователя: Задаём ему права доступа: Запускаем експортер: Проверяем метрики: Добавляем в Ansible шаблон Compose файла: … mysql_exporter: image: prom/mysqld-exporter networks: – prometheus-client ports: – 9104:9104 environment: – DATA_SOURCE_NAME={{ mysql_monitoring_user }}:{{ mysql_monitoring_pass }}@({{… Read More »

Prometheus: Alertmanager и blackbox-exporter – проверка срока действия SSL и нотификация в Slack

27 July 2018
 

 Основная задача – проверять SSL-сертификаты и уведомлять о том, что срок действия сертификата завершается. Запуск blackbox-exporter Все сервисы мониторинг запускаются из Compose-файла, который деплоится на хост мониторинга из Ansible-шаблона roles/monitoring/templates/prometheus-compose.yml.j2. Добавляем туда ещё один контейнер: … blackbox-exporter: image: prom/blackbox-exporter command: ‘–config.file=/config/blackbox.yml’ # for debug #command: ‘–config.file=/config/blackbox.yml –log.level=debug’ networks: – prometheus ports: – 9115:9115 volumes: -… Read More »

Grafana: создание dashboard

23 July 2018
 

 Задача – добавить дашборд для отображения различной статистики с бекенда. Ниже описывается процесс создания дашборды, рассматриваются примеры запросов из Grafana к Prometheus для получения данных, настройки различных типов панелей, примеры метрик, которые можно использовать. Основная цель поста – записать для себя примеры использования Grafana, т.к. подобных примеров не встречал, хотя у Grafana отличная документация. Для… Read More »

Prometheus: AWS EC2 service discovery

11 June 2018
 

 Для чего нам нужен EC2 service discovery? В первую очередь – что бы избежать необходимости открывать порт на Application Load Balancer и гонять трафик “через мир”. Т.е. вместо того, что бы в конфиге Prometheus указывать статичный URL и URI, типа mainhost.domain.tld/metrics, который был бы направлен на AWS ALB, у которого было бы правило форвардить URI /metrics… Read More »

AWS: CloudWatch unified agent – сбор метрик и логов с EC2 и Ansible роль для него

7 June 2018
 

 В дополнение к посту AWS: CloudWatch logs – сбор и мониторинг логов, где сбор логов выполнялся старым агентом – пример использования нового агента, который собирать и метрики инстанса, и логи. Для работы агента – ЕС2 требуется подключенная роль CloudWatchAgentServerPolicy, создание описано тут>>>. Пост кратенький, просто пример установки и запуска. Установка CloudWatch unified агента Устанавливаем unzip: Загружаем архив… Read More »

Prometehus: обзор – federation, мониторинг Docker Swarm и настройки Alertmanager

9 April 2018
 

 Задача – настроить Proof of Concept мониторинга, используя Prometheus, что бы показать основные его возможности. Используется Prometheus 2.2.1 (между 1.* и 2.* существенные различия в синтаксисе). Чего не добавлено в этот пост – это работа с Prometheus API, и хотелось подробнее остановиться на Grafana и её шаблонах, но уже отдельным постом. Кроме того, в самом тексте… Read More »