Архив метки: Prometheus

Prometehus: мониторинг AWS Billing

5 марта 2020
 

 Задача — иметь перед глазами график в Grafana, который будет отображать расходы на AWS. Есть два варианта — использовать експортер от Prometheus — prom/cloudwatch-exporter, или самописный от nachomillangarcia — prometheus_aws_cost_exporter. Первый собирает метрики от AWS CloudWatch, в которые данные по биллингу поступают только на следующий день. Второй написан на Python, ходит к AWS API, получает… Читать далее »

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

16 ноября 2019
 

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

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

9 сентября 2019
 

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

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 }}… Читать далее »

Prometheus: мониторинг для RTFM — Grafana, Loki и promtail

9 марта 2019
 

 После внедрения Loki на рабочем проекте — решил добавить его и себе. А заодно — добавить node_exporter и alertmanager, что бы получать уведомления, когда на разделах будет заканчиваться место. Обычно «Ссылки по теме» размещаю в конце поста, но тут стоит их добавить в начале. Для общего знакомства с Prometheus: Prometheus: мониторинг — введение, установка, запуск,… Читать далее »

Prometheus: blackbox-exporter probe_http_status_code == 0 и его debug

6 марта 2019
 

 Сегодня решил обновить Grafana до уже релизной версии 6.0, а заодно — все остальные образы в стеке. Апдейт прошёл успешно (Loki наконец-то начала выводить имена файлов логов и все остальные лейблы), но вот в Slack сразу упала пачка CRITICAL алертов от blackbox-exporter, который проверяет все наши API-ендпоинты. Собственно, тут — пример использования дебага blackbox-exporter. Всего… Читать далее »

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: Проверяем статус: Настройка node_exporter Проверяем node_exporter — запускаем пока вручную. Указываем ему —collector.supervisord и URL — —collector.supervisord.url=»http://localhost:9001/RPC2″: ОК, работает. Теперь добавим supervisor коллектор… Читать далее »

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

15 августа 2018
 

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

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

9 августа 2018
 

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