Моніторинг
Інтеграція з 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
Як це працює
- Плагін викликає GET /api/health/zones?format=nagios (або /api/health/zones/ZONE?format=nagios)
- API повертає текст — один рядок на проблемну зону, або "OK" якщо всі синхронізовані
- Плагін аналізує перше слово (OK/WARNING/CRITICAL) і встановлює код виходу
- Nagios отримує код виходу та perfdata для сповіщень і графіків