Monitoring
Zabbix Integration
Überblick
Ein fertiges Zabbix-Template, das die SecondDNS Health-API per HTTP Agent alle 5 Minuten abfragt, Zonen-Zähler per JSONPath extrahiert und Trigger auslöst, wenn Zonen stale oder unreachable werden.
Voraussetzungen
- Zabbix Server 6.0+ (HTTP Agent Unterstützung)
- Ein SecondDNS API-Key (Dashboard → API Key)
- Ein Host in Zabbix zum Anhängen des Templates (kann der Zabbix-Server selbst sein)
1. Template herunterladen
curl -O https://raw.githubusercontent.com/seconddns/dns_integrations/main/zabbix_templates/seconddns_health.yamlQuelle: github.com/seconddns/dns_integrations/zabbix_templates
2. In Zabbix importieren
- Gehen Sie zu Configuration → Templates → Import
- Wählen Sie die heruntergeladene seconddns_health.yaml
- Klicken Sie auf Import
3. Makros konfigurieren
Verknüpfen Sie das Template mit einem Host und setzen Sie die Makros:
{$SECONDDNS_API_URL}https://seconddns.com (Standard, bei Self-Hosting ändern){$SECONDDNS_API_KEY}Ihr API-Key (als Secret text in Zabbix gespeichert)4. Was Sie erhalten
Items
| Item | Typ | Intervall |
|---|---|---|
| Zone health JSON | HTTP Agent | 5m |
| Gesamtzonen | Dependent (JSONPath) | — |
| Synchronisierte Zonen | Dependent (JSONPath) | — |
| Veraltete Zonen | Dependent (JSONPath) | — |
| Master unreachable | Dependent (JSONPath) | — |
| Nagios output | HTTP Agent | 5m |
Trigger
| Trigger | Schweregrad |
|---|---|
| Zone(n) stale | Warning |
| Zone(n) master unreachable | High |
| Health API antwortet nicht (30 Min) | High |
So funktioniert es
- Das Master-Item (seconddns.health.json) ruft GET /api/health/zones alle 5 Minuten ab
- Abhängige Items extrahieren $.summary.total, $.summary.synced usw. per JSONPath — keine zusätzlichen HTTP-Aufrufe
- Trigger werten die Zähler aus: wenn stale > 0 → Warning, wenn masterUnreachable > 0 → High
- Das Nagios-Output-Item (seconddns.health.nagios) ruft ?format=nagios ab für lesbaren Text in der Ansicht "Latest data"