Войти
Главная→Документация→Мониторинг

Мониторинг: Zabbix, Prometheus, Grafana

Каждый узел SPZGate отдаёт метрики по HTTP. Их забирает Zabbix (готовый шаблон) или Prometheus с дашбордами Grafana.

Что мониторится

Включение метрик

1

Включите эндпоинт

В панели откройте «Настройки → Мониторинг: Zabbix / Prometheus / Grafana» и включите «Эндпоинт метрик». Появится URL вида https://<узел>/v4/api/metrics.php и Bearer-токен.

2

Скачайте шаблоны

Там же доступны шаблон Zabbix (YAML), два дашборда Grafana (узел и кластер) и пример конфигурации Prometheus.

3

Проверьте доступность

Выполните запрос с токеном:

curl -H "Authorization: Bearer <токен>" https://<узел>/v4/api/metrics.php
Передавайте токен в заголовке Authorization. Вариант ?token=… тоже работает, но токен при этом попадает в журнал доступа веб-сервера. Эндпоинт только читает данные. Пароли и коды спаривания узлов в метрики не попадают.

Zabbix

  1. Импортируйте шаблон: «Data collection → Templates → Import» (Zabbix 6.0 и новее).
  2. Создайте хост для каждого узла (сетевой интерфейс не нужен) и подключите шаблон.
  3. В макросах хоста задайте {$SPZ.TOKEN} — токен из панели. Если узел доступен по HTTPS, измените схему в макросе {$SPZ.URL} (по умолчанию http://{HOST.CONN}/v4/api/metrics.php).

Шаблон делает один HTTP-запрос в минуту на узел. В нём 75 элементов данных, правила автоматического обнаружения компонентов и пиров кластера, триггеры и графики. Пороги настраиваются макросами шаблона ({$SPZ.QUEUE.WARN}, {$SPZ.LAG.WARN} и другие). Если узел молчит, остальные триггеры не срабатывают, чтобы не создавать лавину оповещений.

Prometheus и Grafana

cp prometheus.yml spz_alerts.yml spz_targets.yml /etc/prometheus/
echo -n '<токен>' > /etc/prometheus/spz_token
  1. В spz_targets.yml перечислите адреса узлов.
  2. Добавьте Prometheus как источник данных в Grafana и импортируйте два дашборда: «SPAMOREZ — Gateway node» и «SPAMOREZ — Gateway cluster».
  3. Правила spz_alerts.yml дублируют триггеры Zabbix. Используйте их, если Zabbix у вас нет.

Основные метрики

Все метрики имеют префикс spz_.

ГруппаПримеры
Компонентыspz_component_up{component}, spz_component_latency_seconds
Очередь и SMTPspz_queue_messages, spz_smtp_connections
Почтовый поток (5 мин)spz_messages_window{class}, spz_quarantined_window
Антивирусspz_av_rspamd_up, spz_av_clamd_up, spz_av_clamd_db_age_seconds
Кластерspz_peer_up{peer}, spz_peer_lag_records, spz_cluster_peers

Смена токена

Кнопка «Перегенерировать токен» в настройках мониторинга создаёт новый токен. Старый перестаёт работать сразу, поэтому обновите макрос {$SPZ.TOKEN} в Zabbix и файл токена Prometheus. Смена токена фиксируется в SIEM (действие regen_metrics_token).

Ограничения