Monitoreo

Integración con Zabbix

Descripción general

Una plantilla Zabbix lista para usar que consulta la API de salud de SecondDNS mediante HTTP Agent cada 5 minutos, extrae contadores de zonas con JSONPath y activa triggers cuando las zonas se vuelven stale o unreachable.

Requisitos previos

  • Zabbix Server 6.0+ (soporte HTTP Agent)
  • Una clave API de SecondDNS (Dashboard → API Key)
  • Un host en Zabbix para adjuntar la plantilla (puede ser el propio servidor Zabbix)

1. Descargar la plantilla

curl -O https://raw.githubusercontent.com/seconddns/dns_integrations/main/zabbix_templates/seconddns_health.yaml

Fuente: github.com/seconddns/dns_integrations/zabbix_templates

2. Importar en Zabbix

  1. Ir a Configuration → Templates → Import
  2. Seleccionar el archivo descargado seconddns_health.yaml
  3. Hacer clic en Import

3. Configurar macros

Vincular la plantilla a un host y establecer las macros:

{$SECONDDNS_API_URL}https://seconddns.com (por defecto, cambiar si es auto-alojado)
{$SECONDDNS_API_KEY}Tu clave API (almacenada como Secret text en Zabbix)

4. Qué obtienes

Items

ItemTipoIntervalo
Zone health JSONHTTP Agent5m
Zonas totalesDependent (JSONPath)
Zonas sincronizadasDependent (JSONPath)
Zonas desactualizadasDependent (JSONPath)
Master unreachableDependent (JSONPath)
Nagios outputHTTP Agent5m

Triggers

TriggerSeveridad
Zona(s) staleWarning
Zona(s) master unreachableHigh
Health API sin respuesta (30 min)High

Cómo funciona

  1. El item maestro (seconddns.health.json) obtiene GET /api/health/zones cada 5 minutos
  2. Los items dependientes extraen $.summary.total, $.summary.synced, etc. mediante JSONPath — sin llamadas HTTP adicionales
  3. Los triggers evalúan los contadores: si stale > 0 → Warning, si masterUnreachable > 0 → High
  4. El item Nagios output (seconddns.health.nagios) obtiene ?format=nagios para texto legible en la vista "Latest data"