Моніторинг

Інтеграція з Nagios / Icinga

Огляд

Плагін check_seconddns.sh запитує API здоров'я SecondDNS і повертає стандартні коди виходу Nagios (0 = OK, 1 = WARNING, 2 = CRITICAL, 3 = UNKNOWN) з perfdata.

Вимоги

  • Nagios, Icinga або сумісна система моніторингу
  • curl встановлений на сервері моніторингу
  • API-ключ SecondDNS (Dashboard → API Key)

1. Завантажте плагін

curl -o /usr/lib/nagios/plugins/check_seconddns.sh \
  https://raw.githubusercontent.com/seconddns/dns_integrations/main/nagios_plugins/check_seconddns.sh

chmod +x /usr/lib/nagios/plugins/check_seconddns.sh

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

2. Визначте команду

Додайте до конфігурації команд Nagios (наприклад, /etc/nagios/objects/commands.cfg):

define command {
    command_name    check_seconddns
    command_line    /usr/lib/nagios/plugins/check_seconddns.sh -k $ARG1$ $ARG2$
}

3. Визначте сервіс

Перевірити усі зони одразу:

define service {
    host_name               your-dns-host
    service_description     SecondDNS Zone Health
    check_command           check_seconddns!your-api-key-here!
    check_interval          15
    retry_interval          5
    max_check_attempts      3
    notification_interval   60
}

Або перевірити одну зону:

define service {
    host_name               your-dns-host
    service_description     SecondDNS: example.com
    check_command           check_seconddns!your-api-key-here!-z example.com
    check_interval          15
    ...
}

4. Приклади виводу

# All zones healthy:
OK - all 12 zones synced

# Problems detected:
WARNING - example.com stale 135min master=2024041503 ours=2024041501 | stale_min=135;120;360
CRITICAL - broken.net master_unreachable since 2026-04-16T13:00:00Z | stale_min=390;120;360

Як це працює

  1. Плагін викликає GET /api/health/zones?format=nagios (або /api/health/zones/ZONE?format=nagios)
  2. API повертає текст — один рядок на проблемну зону, або "OK" якщо всі синхронізовані
  3. Плагін аналізує перше слово (OK/WARNING/CRITICAL) і встановлює код виходу
  4. Nagios отримує код виходу та perfdata для сповіщень і графіків