Monitoring
Integracja z Zabbix
Przegląd
Gotowy szablon Zabbix, który co 5 minut odpytuje API zdrowia SecondDNS przez HTTP Agent, wyciąga liczniki stref przez JSONPath i uruchamia triggery, gdy strefy stają się nieaktualne lub nieosiągalne.
Wymagania
- Zabbix Server 6.0+ (wsparcie HTTP Agent)
- Klucz API SecondDNS (Panel → Klucz API)
- Host w Zabbixie, do którego podłączysz szablon (może to być sam Zabbix Server)
1. Pobierz szablon
curl -O https://raw.githubusercontent.com/seconddns/dns_integrations/main/zabbix_templates/seconddns_health.yamlŹródło: github.com/seconddns/dns_integrations/zabbix_templates
2. Zaimportuj do Zabbixa
- Wejdź w Configuration → Templates → Import
- Wybierz pobrany seconddns_health.yaml
- Kliknij Import
3. Skonfiguruj makra
Podłącz szablon do hosta, następnie ustaw makra:
{$SECONDDNS_API_URL}https://seconddns.com (domyślnie, zmień jeśli self-hosted){$SECONDDNS_API_KEY}Twój klucz API (przechowywany jako Secret text w Zabbixie)4. Co otrzymasz
Itemy
| Item | Typ | Interwał |
|---|---|---|
| Zone health JSON | HTTP Agent | 5m |
| Wszystkie strefy | Dependent (JSONPath) | — |
| Zsynchronizowane | Dependent (JSONPath) | — |
| Nieaktualne | Dependent (JSONPath) | — |
| Master nieosiągalny | Dependent (JSONPath) | — |
| Wyjście Nagios | HTTP Agent | 5m |
Triggery
| Trigger | Priorytet |
|---|---|
| Strefy nieaktualne | Warning |
| Master strefy nieosiągalny | High |
| API zdrowia nie odpowiada (30 min) | High |
Jak to działa
- Master item (seconddns.health.json) pobiera GET /api/health/zones co 5 minut
- Zależne itemy wyciągają $.summary.total, $.summary.synced itd. przez JSONPath — bez dodatkowych wywołań HTTP
- Triggery oceniają liczniki: jeśli stale > 0 → Warning, jeśli masterUnreachable > 0 → High
- Item Nagios output (seconddns.health.nagios) pobiera ?format=nagios do czytelnego widoku w "Latest data"