Monitoring

Integracja z Nagios / Icinga

Przegląd

Plugin check_seconddns.sh odpytuje API zdrowia SecondDNS i zwraca standardowe kody wyjścia Nagiosa (0 = OK, 1 = WARNING, 2 = CRITICAL, 3 = UNKNOWN) z perfdata.

Wymagania

  • Nagios, Icinga lub zgodny system monitoringu
  • curl zainstalowany na serwerze monitoringu
  • Klucz API SecondDNS (Panel → Klucz API)

1. Pobierz plugin

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

Źródło: github.com/seconddns/dns_integrations/nagios_plugins

2. Zdefiniuj polecenie

Dodaj do konfiguracji poleceń Nagiosa (np. /etc/nagios/objects/commands.cfg):

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

3. Zdefiniuj usługę

Sprawdź wszystkie strefy naraz:

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
}

Lub sprawdź pojedynczą strefę:

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. Przykłady wyjścia

# 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

Jak to działa

  1. Plugin wywołuje GET /api/health/zones?format=nagios (lub /api/health/zones/ZONE?format=nagios)
  2. API zwraca zwykły tekst — jedna linia na problematyczną strefę lub "OK", jeśli wszystkie zsynchronizowane
  3. Plugin analizuje pierwsze słowo (OK/WARNING/CRITICAL) i ustawia kod wyjścia
  4. Nagios podchwytuje kod wyjścia i perfdata do alertów i wykresów