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.yaml

Quelle: github.com/seconddns/dns_integrations/zabbix_templates

2. In Zabbix importieren

  1. Gehen Sie zu Configuration → Templates → Import
  2. Wählen Sie die heruntergeladene seconddns_health.yaml
  3. 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

ItemTypIntervall
Zone health JSONHTTP Agent5m
GesamtzonenDependent (JSONPath)
Synchronisierte ZonenDependent (JSONPath)
Veraltete ZonenDependent (JSONPath)
Master unreachableDependent (JSONPath)
Nagios outputHTTP Agent5m

Trigger

TriggerSchweregrad
Zone(n) staleWarning
Zone(n) master unreachableHigh
Health API antwortet nicht (30 Min)High

So funktioniert es

  1. Das Master-Item (seconddns.health.json) ruft GET /api/health/zones alle 5 Minuten ab
  2. Abhängige Items extrahieren $.summary.total, $.summary.synced usw. per JSONPath — keine zusätzlichen HTTP-Aufrufe
  3. Trigger werten die Zähler aus: wenn stale > 0 → Warning, wenn masterUnreachable > 0 → High
  4. Das Nagios-Output-Item (seconddns.health.nagios) ruft ?format=nagios ab für lesbaren Text in der Ansicht "Latest data"