Conocer los métodos de entrada de datos al sistema de monitoreo
Zabbix es flexible: puede preguntar por los datos (pull) o esperar a que se los envíen (push).
Comprender los modos de recolección permite:
Elegir el enfoque correcto según el entorno (firewalls, latencia, seguridad)
Diagnosticar fallas cuando los datos “no llegan”
Automatizar procesos que generan métricas o logs sin que Zabbix los consulte
*Zabbix no siempre tiene que buscar los datos.
Si el dato está listo en el host, puede simplemente empujarse.*
| Modo | ¿Quién inicia la conexión? | Tecnologías / ítems usados | Canal habitual | Casos de uso típicos |
| -------- | -------------------------- | ------------------------------------- | ------------------ | --------------------------------------- |
| Pull | Zabbix Server o Proxy | Zabbix agent
, SNMP
, HTTP agent
| TCP 10050, UDP 161 | Consulta periódica de recursos del host |
| Push | El host monitoreado | zabbix_sender
, ítems tipo trapper
| TCP 10051 | Scripts, logs, datos generados al vuelo |
get /host/web01/system.cpu.util[,user]
36.2
Zabbix agent (passive)
SNMP
IPMI
HTTP agent
(chequeo de APIs)
Simple check
(ping, puerto TCP)
No requiere que el host tenga lógica ni proactividad
Revisión centralizada
Facilidad de diagnóstico con zabbix_get
Firewall bloqueando puertos de entrada
Red saturada o lenta → ítems no responden a tiempo
En entornos NAT, el Server no puede “ver” al host
El modo pull requiere que el host esté expuesto en red.
zabbix_sender
: ejecutable que envía datos manual o automáticamente
Ítems tipo trapper
: el Server espera datos sin preguntar
zabbix_sender -z <ip_server> -p 10051 -s "webserver-01" -k "metric.nombre" -o 72.5
Parámetros:
-z
: IP del Zabbix Server o Proxy
-s
: nombre EXACTO del host en Zabbix GUI
-k
: nombre del ítem tipo trapper
-o
: valor a enviar
✅ Requiere que:
El ítem exista
Sea del tipo Zabbix trapper
El nombre del host coincida con el frontend
Type: Zabbix trapper
Key: custom.logins.today
Host: appserver-01
logins_today=$(grep "login" /var/log/app.log | wc -l)
zabbix_sender -z 10.10.1.30 -s "appserver-01" -k custom.logins.today -o $logins_today
| Caso operativo | ¿Por qué conviene usar Push (trapper/sender)? |
| ----------------------------------------- | ------------------------------------------------------ |
| Script local genera una métrica puntual | Solo el host sabe cuándo y qué enviar |
| Alta latencia o NAT | El host puede salir, pero no es accesible desde afuera |
| Recolección desde procesos internos | El agente no puede acceder, pero un script sí |
| Automatización masiva (DevOps, pipelines) | Zabbix actúa como receptor central |
zabbix_sender
| Síntoma | Causa probable | Solución |
| ----------------------------- | --------------------------------------------------- | ----------------------------------------- |
| “ZABBIX_ERROR: No such host” | -s
no coincide con ningún host registrado | Usar nombre exacto, sensible a mayúsculas |
| “ZABBIX_ERROR: No such item” | El -k
no coincide con un ítem tipo trapper | Crear ítem correctamente |
| Dato nunca aparece | El ítem no está habilitado, host está deshabilitado | Verificar GUI |
| Falla de conexión | IP incorrecta o puerto 10051 bloqueado | Validar con telnet
, revisar firewall |
El operador de Zabbix debe saber cuándo es mejor esperar los datos, y cuándo permitir que los datos lleguen por sí solos.
El push permite abrir Zabbix a cualquier sistema que pueda ejecutar un comando. Es clave para monitoreo dinámico y personalizado.
El operador diferencia claramente pull (polling) de push (trapper/sender)
Sabe cuándo aplicar cada uno según el entorno de red y requerimientos
Puede crear un ítem tipo trapper y recibir datos con zabbix_sender
Entiende que los datos push no se generan solos, dependen del sistema externo