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"