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