Моніторинг

Інтеграція з Zabbix

Огляд

Готовий шаблон Zabbix, що опитує API здоров'я SecondDNS через HTTP Agent кожні 5 хвилин, витягує лічильники зон через JSONPath та запускає тригери, коли зони стають stale або unreachable.

Вимоги

  • Zabbix Server 6.0+ (підтримка HTTP Agent)
  • API-ключ SecondDNS (Dashboard → API Key)
  • Хост у Zabbix для прикріплення шаблону (може бути сам Zabbix-сервер)

1. Завантажте шаблон

curl -O https://raw.githubusercontent.com/seconddns/dns_integrations/main/zabbix_templates/seconddns_health.yaml

Джерело: github.com/seconddns/dns_integrations/zabbix_templates

2. Імпортуйте в Zabbix

  1. Перейдіть до Configuration → Templates → Import
  2. Виберіть завантажений seconddns_health.yaml
  3. Натисніть Import

3. Налаштуйте макроси

Прив'яжіть шаблон до хоста, потім задайте макроси:

{$SECONDDNS_API_URL}https://seconddns.com (за замовчуванням, змініть для self-hosted)
{$SECONDDNS_API_KEY}Ваш API-ключ (зберігається як Secret text у Zabbix)

4. Що ви отримуєте

Елементи

ЕлементТипІнтервал
Zone health JSONHTTP Agent5m
Загальна кількість зонDependent (JSONPath)-
Синхронізовані зониDependent (JSONPath)-
Застарілі зониDependent (JSONPath)-
Master unreachableDependent (JSONPath)-
Nagios outputHTTP Agent5m

Тригери

ТригерВажливість
Зона(и) staleWarning
Зона(и) master unreachableHigh
Health API не відповідає (30 хв)High

Як це працює

  1. Основний елемент (seconddns.health.json) отримує GET /api/health/zones кожні 5 хвилин
  2. Залежні елементи витягують $.summary.total, $.summary.synced тощо через JSONPath - без додаткових HTTP-запитів
  3. Тригери оцінюють лічильники: якщо stale > 0 → Warning, якщо masterUnreachable > 0 → High
  4. Елемент Nagios output (seconddns.health.nagios) отримує ?format=nagios для зрозумілого тексту у вікні "Latest data"