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"