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.yamlFuente: github.com/seconddns/dns_integrations/zabbix_templates
2. Importar en Zabbix
- Ir a Configuration → Templates → Import
- Seleccionar el archivo descargado seconddns_health.yaml
- 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
| Item | Tipo | Intervalo |
|---|---|---|
| Zone health JSON | HTTP Agent | 5m |
| Zonas totales | Dependent (JSONPath) | — |
| Zonas sincronizadas | Dependent (JSONPath) | — |
| Zonas desactualizadas | Dependent (JSONPath) | — |
| Master unreachable | Dependent (JSONPath) | — |
| Nagios output | HTTP Agent | 5m |
Triggers
| Trigger | Severidad |
|---|---|
| Zona(s) stale | Warning |
| Zona(s) master unreachable | High |
| Health API sin respuesta (30 min) | High |
Cómo funciona
- El item maestro (seconddns.health.json) obtiene GET /api/health/zones cada 5 minutos
- Los items dependientes extraen $.summary.total, $.summary.synced, etc. mediante JSONPath — sin llamadas HTTP adicionales
- Los triggers evalúan los contadores: si stale > 0 → Warning, si masterUnreachable > 0 → High
- El item Nagios output (seconddns.health.nagios) obtiene ?format=nagios para texto legible en la vista "Latest data"