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

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 выглядит… Читать далее »

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

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

27 июля 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: -… Читать далее »

Grafana: создание dashboard

23 июля 2018
 

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

Prometheus: AWS EC2 service discovery

11 июня 2018
 

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

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

7 июня 2018
 

 В дополнение к посту AWS: CloudWatch logs – сбор и мониторинг логов, где сбор логов выполнялся старым агентом — пример использования нового агента, который собирать и метрики инстанса, и логи. Для работы агента — ЕС2 требуется подключенная роль CloudWatchAgentServerPolicy, создание описано тут>>>. Пост кратенький, просто пример установки и запуска. Установка CloudWatch unified агента Устанавливаем unzip: [simterm] root@ip-172-31-45-128:/home/admin#… Читать далее »

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

9 апреля 2018
 

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

Prometheus: мониторинг Azure VMSS с node_exporter и Docker контейнеров в Docker Swarm с cAdvisor

17 марта 2018
 

 В продолжение постов о развёртывании Prometheus для мониторинга проекта в Azure (привет, Azure, давно не виделись! см. Azure: почему никогда). Спустя три месяца — проект решил, что мониторинг им всё-таки нужен, и меня «вернули». Посты по теме: полное описание самого проекта описание установки Prometheus сервера Остановился я на добавлении к Prometheus серверу виртуальных машин из… Читать далее »