Esta página es una colección de ejemplos de triggers.
Los ejemplos están ordenados por caso de uso:
Este trigger se dispara si el agent de Zabbix en el host ha estado no disponible durante 5 minutos.
Función: max
Item de datos: zabbix[host,agent,available]
Alternativa:
Este trigger se dispara si no se han recibido datos del agent de Zabbix durante 5 minutos.
Función: nodata
Item de datos: agent.ping
Este trigger se activa si los datos del proxy de Zabbix se retrasan respecto al tiempo del server de Zabbix en 1 minuto.
Función: fuzzytime
Item de datos: zabbix[proxy,{$PROXY_NAME},lastaccess]
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0Este trigger se activa si ambos servidores SMTP están caídos.
Función: last
Item de datos: net.tcp.service
Este trigger se activa si el host no responde al ping más de 5 veces en los últimos 30 minutos.
Función: count
Item de datos: icmpping
Este trigger se activa si se detecta un cambio negativo en el valor del tiempo de actividad del sistema (lo que indica un reinicio).
Función: change
Item de datos: system.uptime
Este trigger se activa si /etc/passwd ha sido modificado. La expresión es verdadera cuando la suma de verificación anterior de /etc/passwd difiere de la más reciente. Expresiones similares pueden ser útiles para monitorizar cambios en archivos importantes, como /etc/passwd, /etc/inetd.conf, /kernel, etc.
Función: last
Item de datos: vfs.file.cksum
last(/Zabbix server/net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1])<>"{$WEBSITE_NAME} {$DNS_RESOURCE_RECORD_TYPE} 0 mail.{$WEBSITE_NAME}"Observe las comillas alrededor del segundo operando.
Este trigger se activa si el resultado de la consulta no es igual a lo que normalmente devuelve:
Función: last
Item de datos: net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1], con macros definidas como:
Este trigger se activa si la versión de Ubuntu es diferente en distintos hosts. Observe cómo los operandos aquí son funciones que devuelven cadenas de texto.
Función: last
Item de datos: vfs.file.contents
El trigger se activa si la hora local del cliente y la hora del servidor Zabbix difieren en más de 10 segundos.
Función: fuzzytime
Item de datos: system.localtime
Tenga en cuenta que system.localtime debe configurarse como una comprobación pasiva para el agent de Zabbix; en el agent de Zabbix 2 puede configurarse como una comprobación activa.
Este trigger se activa si el agent de Zabbix tiene una versión beta. Es necesario actualizar el agent de Zabbix.
Función: find
Item de datos: agent.version
Este trigger se activa si el estado operativo (up/down/unknown) de eth0 ha cambiado más de 5 veces en una hora.
Función: changecount
Item de datos: vfs.file.contents
Este trigger se activa si el número de bytes recibidos en eth0 durante los últimos cinco minutos fue siempre superior a 100 kilobytes. Probablemente alguien está descargando un archivo grande.
Función: min
Item de datos: net.if.in[eth0,bytes]
El trigger se dispara si el espacio libre en disco es consistentemente (5 minutos) inferior a 10 GB.
También puede definir una expresión de recuperación:
El problema se resuelve sólo cuando el espacio libre en disco es consistentemente (10 minutos) superior a 40 GB.
Función: min
Item de datos: vfs.fs.size
El trigger se activa si el espacio libre (en unidades de asignación) cae por debajo del 10 por ciento. Observe que se utiliza el valor de otro item para obtener un umbral de trigger adaptativo, aplicable al almacenamiento descubierto de varios tamaños. Función: last
El trigger se activa cuando la carga promedio del procesador ha estado por encima de 5 durante un minuto.
Variaciones:
min(/host/system.cpu.load[all,avg1],5m)>2 and not (dayofweek()=7 and time()>230000) and not (dayofweek()=1 and time()<010000)Estos triggers analizan 5 minutos de datos y se activan solo si la carga de CPU nunca está por debajo de 2. Además, estos triggers se activan:
(last(/host/system.cpu.load[all,avg1])>5) + (last(/host2/system.cpu.load[all,avg1])>5) + (last(/host3/system.cpu.load[all,avg1])>5)>=2Este trigger se activa si la carga del procesador es demasiado alta en al menos dos de los tres hosts.
Funciones: last, min, dayofweek, time
Item de datos: system.cpu.load
El trigger se activa si la carga promedio de hoy supera la carga promedio de la misma hora de ayer (usando el desplazamiento de tiempo como now-1d) más de dos veces.
Función: avg
Item de datos: system.cpu.load
Este trigger se dispara si la carga de CPU en el host aumentó más del 10% el mes pasado
Función: trendavg
Item de datos: system.cpu.load
También puede utilizar el campo Nombre del evento en la configuración del trigger para construir un mensaje de alerta significativo, por ejemplo, para recibir algo como
"La carga del servidor Exchange aumentó un 24% en julio (0,69) en comparación con junio (0,56)"
el nombre del evento debe definirse como:
Load of {HOST.HOST} server increased by {{?100*trendavg(//system.cpu.load,1M:now/M)/trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(0)}% in {{TIME}.fmttime(%B,-1M)} ({{?trendavg(//system.cpu.load,1M:now/M)}.fmtnum(2)}) comparing to {{TIME}.fmttime(%B,-2M)} ({{?trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(2)})También es útil permitir el cierre manual en la configuración del trigger para este tipo de problema.
El trigger se activa si el contenido de /tmp/hello es igual a la cadena definida en {$HELLO_MACRO}:
Alternativamente, puede comparar con la cadena directamente:
Observe cómo los caracteres especiales (\\ y ") se escapan cuando la cadena se compara directamente.
Función: last
Item de datos: vfs.file.contents
¿Tiene un ejemplo de expresión de trigger que pueda ser útil para otros? Utilice el formulario de sugerencia de ejemplo para enviarlo a los desarrolladores de Zabbix.