Моніторинг

Інтеграція з 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"