Как стать автором
Обновить
51.68
HOSTKEY
IT-инфраструктура: сервера, VPS, GPU, коло

Мониторинг служб Linux c помощью Prometheus

Время на прочтение2 мин
Количество просмотров6.8K

Автор: 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.

Теги:
Хабы:
Всего голосов 5: ↑1 и ↓4-3
Комментарии4

Публикации

Информация

Сайт
www.hostkey.ru
Дата регистрации
Дата основания
Численность
31–50 человек
Местоположение
Россия