
Автор: Senior Devops. Ведущий специалист по инфраструктуре Hostkey Никита Зубарев
В прошлой статье мы рассказывали, как для мониторинга сервисов с помощью Prometheus настроить сбор метрик и отображение тревог. Однако в процессе эксплуатации возник вопрос, как мониторить отдельные службы на серверах Linux. Например, в одной из прошлых статей мы описывали кейс использования веб-консолей Ovirt c помощью Apache Guacamole. Теперь рассмотрим, как организовать мониторинг работы сервисов на Linux-машинах.
Guacamole — кроссплатформенный шлюз удаленного рабочего стола, для его работы необходимы Apache Tomcat и Guacd.
Открываем сервис, созданный для node_exporter:
/usr/lib/systemd/system/node_exporter.service
[Unit] Description=Prometheus exporter for machine metrics, written in Go with pluggable metric collectors. Documentation=https://github.com/prometheus/node_exporter After=network.target [Service] EnvironmentFile=-/etc/default/node_exporter User=root ExecStart=/usr/bin/node_exporter $NODE_EXPORTER_OPTS Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target по дефолту $NODE_EXPORTER_OPTS подгружается из файла : # /etc/default/node_exporter При необходимости мы можем либо мониторить отдельные службы, добавив опцию collector.systemd.unit-whitelist: #NODE_EXPORTER_OPTS="--collector.systemd --collector.systemd.unit-whitelist="(tomcat|guacd).service""
После перезапуска сервиса получаем метрику на node_exporter:

Остается описать правило для алерта:
- alert: guacd_service expr: node_systemd_unit_state{name="guacd.service",state="active"} == 0 for: 1s annotations: summary: "Instance {{ $labels.instance }} is down" description: "{{ $labels.instance }} of job {{ $labels.job }} is down." - alert: tomcat_service expr: node_systemd_unit_state{name="tomcat.service",state="active"} == 0 for: 1s annotations: summary: "Instance {{ $labels.instance }} is down" description: "{{ $labels.instance }} of job {{ $labels.job }} is down."

Пример алерта на дашборде Alertmanager в Grafana:

Выводы
В этой небольшой статье мы рассмотрели, как выполняется мониторинг работы сервисов на Linux-машинах. Это решение позволяет отслеживать работы любого systemd-сервера и значительно упрощает администрирование серверного оборудования. В следующей статье мы расскажем, как можно не отображать базовые параметры, которые отдает exporter.
ссылка на оригинал статьи https://habr.com/ru/company/hostkey/blog/696918/
Добавить комментарий