- 1 Exemples de déclencheurs
- Détecter un hôte indisponible
- Détecter un proxy indisponible
- Détecter un cluster SMTP indisponible
- Détecter un hôte injoignable
- Détecter un redémarrage inattendu
- Détecter les modifications dans des fichiers importants
- Détecter les changements dans la requête DNS
- Détecter les logiciels non correspondants sur différents hôtes
- Détecter des horloges non synchronisées
- Détecter un agent obsolète
- Détecter une interface instable
- Détecter un trafic entrant élevé
- Détecter un espace disque faible
- Détecter un espace disque faible (seuil dynamique)
- Détecter une charge CPU élevée
- Comparer les charges CPU
- Comparer les charges CPU à long terme
- Détecter une chaîne contenant des caractères spéciaux
1 Exemples de déclencheurs
Cette page est une collection d'exemples de déclencheurs.
Les exemples sont classés par cas d'utilisation :
- Hôte indisponible
- Proxy indisponible
- Cluster SMTP indisponible
- Hôte inaccessible
- Redémarrage inattendu
- Modifications dans des fichiers importants
- Modifications dans une requête DNS
- Logiciels non concordants sur différents hôtes
- Horloges non synchronisées
- Agent obsolète
- Interface instable
- Trafic entrant élevé
- Espace disque faible
- Espace disque faible (seuil dynamique)
- Charge CPU élevée
- Comparaison de la charge CPU
- Comparaison de la charge CPU à long terme
- Chaîne contenant des caractères spéciaux
Détecter un hôte indisponible
max(/host/zabbix[host,agent,available],5m)=0
Ce déclencheur se déclenche si l'agent Zabbix sur l'hôte est indisponible depuis 5 minutes.
Fonction : max
Élément de données : zabbix[host,agent,available]
Alternative :
nodata(/host/agent.ping,5m)=1
Ce déclencheur se déclenche si aucune donnée n'a été reçue de l'agent Zabbix pendant 5 minutes.
Fonction : nodata
Élément de données : agent.ping
Détecter un proxy indisponible
fuzzytime(/host/zabbix[proxy,{$PROXY_NAME},lastaccess],1m)=0
Ce déclencheur se déclenche si les données du proxy Zabbix ont 1 minute de retard par rapport à l’heure du serveur Zabbix.
Fonction : fuzzytime
Élément de données : zabbix[proxy,{$PROXY_NAME},lastaccess]
Détecter un cluster SMTP indisponible
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0
Ce déclencheur se déclenche si les deux serveurs SMTP sont indisponibles.
Fonction : last
Élément de données : net.tcp.service
Détecter un hôte injoignable
count(/host/icmpping,30m,,"0")>5
Ce déclencheur se déclenche si l'hôte est injoignable par ping plus de 5 fois au cours des 30 dernières minutes.
Fonction : count
Élément de données : icmpping
Détecter un redémarrage inattendu
change(/host/system.uptime)<0
Ce déclencheur se déclenche si une variation négative de la valeur du temps de fonctionnement du système est détectée (indiquant un redémarrage).
Fonction : change
Élément de données : system.uptime
Détecter les modifications dans des fichiers importants
last(/host/vfs.file.cksum[/etc/passwd],#1)<>last(/host/vfs.file.cksum[/etc/passwd],#2)
Ce déclencheur se déclenche si /etc/passwd a été modifié. L'expression est vraie lorsque la somme de contrôle précédente de /etc/passwd diffère de la plus récente. Des expressions similaires peuvent être utiles pour surveiller les modifications dans des fichiers importants, tels que /etc/passwd, /etc/inetd.conf, /kernel, etc.
Fonction : last
Élément de données : vfs.file.cksum
Détecter les changements dans la requête DNS
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}"
Notez les guillemets autour du second opérande.
Ce déclencheur se déclenche si le résultat de la requête n'est pas égal à ce qu'il renvoie normalement :
example.com MX 0 mail.example.com
Fonction : last
Élément de données : net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1], avec les macros définies comme suit :
{$WEBSITE_NAME} = example.com
{$DNS_RESOURCE_RECORD_TYPE} = MX
Détecter les logiciels non correspondants sur différents hôtes
last(/host/vfs.file.contents[/etc/os-release])<>last(/host2/vfs.file.contents[/etc/os-release])
Ce déclencheur se déclenche si la version d’Ubuntu est différente sur différents hôtes. Notez que les opérandes ici sont des fonctions qui renvoient des chaînes.
Fonction : last
Élément de données : vfs.file.contents
Détecter des horloges non synchronisées
fuzzytime(/host/system.localtime,10s)=0
Le déclencheur se déclenche si l’heure locale du client et l’heure du serveur Zabbix diffèrent de plus de 10 secondes.
Fonction : fuzzytime
Élément de données : system.localtime
Notez que system.localtime doit être configuré comme une vérification passive pour l’agent Zabbix ; sur l’agent Zabbix 2, il peut être configuré comme une vérification active.
Détecter un agent obsolète
find(/host/agent.version,,"like","beta")=1
Ce déclencheur se déclenche si l'agent Zabbix a une version bêta. L'agent Zabbix doit être mis à niveau.
Fonction : find
Élément de données : agent.version
Détecter une interface instable
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5
Ce déclencheur se déclenche si l’état opérationnel (up/down/unknown) de eth0 a changé plus de 5 fois en une heure.
Fonction : changecount
Élément de données : vfs.file.contents
Détecter un trafic entrant élevé
min(/host/net.if.in[eth0,bytes],5m)>100K
Ce déclencheur se déclenche si le nombre d’octets reçus sur eth0 au cours des cinq dernières minutes a toujours été supérieur à 100 kilo-octets. Quelqu’un est probablement en train de télécharger un fichier volumineux.
Fonction : min
Élément de données : net.if.in[eth0,bytes]
Détecter un espace disque faible
max(/host/vfs.fs.size[/,free],5m)<10G
Le déclencheur se déclenche si l’espace disque libre reste constamment (pendant 5 minutes) inférieur à 10 Go.
Vous pouvez également définir une expression de récupération :
min(/host/vfs.fs.size[/,free],10m)>40G
Le problème est résolu uniquement lorsque l’espace disque libre reste constamment (pendant 10 minutes) supérieur à 40 Go.
Fonction : min
Élément de données : vfs.fs.size
Détecter un espace disque faible (seuil dynamique)
last(/template/hrStorageFree[{#SNMPVALUE}])<last(/template/hrStorageSize[{#SNMPVALUE}])*0.1
Le déclencheur se déclenche si l’espace de stockage libre (en unités d’allocation) descend en dessous de 10 pour cent. Notez que la valeur d’un autre élément est utilisée pour obtenir un seuil de déclenchement adaptatif, applicable au stockage découvert de différentes tailles.
Fonction : last
Détecter une charge CPU élevée
last(/host/system.cpu.load[all,avg1])>5
Le déclencheur se déclenche lorsque la charge moyenne du processeur est supérieure à 5 pendant une minute.
Variantes :
min(/host/system.cpu.load[all,avg1],5m)>2 and time()<060000
min(/host/system.cpu.load[all,avg1],5m)>2 and not (dayofweek()=7 and time()>230000) and not (dayofweek()=1 and time()<010000)
Ces déclencheurs analysent 5 minutes de données et se déclenchent uniquement si la charge CPU ne descend jamais en dessous de 2. De plus, ces déclencheurs se déclenchent :
- uniquement pendant la nuit (00:00-06:00)
- à tout moment sauf pendant les 2 heures du changement de semaine (dimanche, 23:00 - lundi, 01:00)
(last(/host/system.cpu.load[all,avg1])>5) + (last(/host2/system.cpu.load[all,avg1])>5) + (last(/host3/system.cpu.load[all,avg1])>5)>=2
Ce déclencheur se déclenche si la charge du processeur est trop élevée sur au moins deux des trois hôtes.
Fonctions : last, min, dayofweek, time
Élément de données : system.cpu.load
Comparer les charges CPU
avg(/Zabbix server/system.cpu.load,1h)/avg(/Zabbix server/system.cpu.load,1h:now-1d)>2
Le déclencheur se déclenche si la charge moyenne d’aujourd’hui dépasse de plus de deux fois la charge moyenne de la même heure hier (en utilisant le décalage temporel now-1d).
Fonction : avg
Élément de données : system.cpu.load
Comparer les charges CPU à long terme
trendavg(/host/system.cpu.load,1M:now/M)>1.1*trendavg(/host/system.cpu.load,1M:now/M-1M)
Ce déclencheur se déclenche si la charge CPU sur l'hôte a augmenté de plus de 10 % le mois dernier
Fonction : trendavg
Élément de données : system.cpu.load
Vous pouvez également utiliser le champ Event name dans la configuration du déclencheur pour créer un message d'alerte explicite, par exemple pour recevoir quelque chose comme
"La charge du serveur Exchange a augmenté de 24 % en juillet (0.69) par rapport à juin (0.56)"
le nom de l'événement doit être défini comme suit :
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)})
Il est également utile d'autoriser la fermeture manuelle dans la configuration du déclencheur pour ce type de problème.
Détecter une chaîne contenant des caractères spéciaux
last(/host/vfs.file.contents[/tmp/hello])={$HELLO_MACRO}
Le déclencheur se déclenche si le contenu de /tmp/hello est égal à la chaîne définie dans {$HELLO_MACRO} :
{$HELLO_MACRO} = \" //hello ?\"
Vous pouvez également comparer directement à la chaîne :
last(/Zabbix server/vfs.file.contents[/tmp/hello])="\\\" //hello ?\\\""
Notez que les caractères spéciaux (\\ et ") sont échappés lorsque la chaîne est comparée directement.
Fonction : last
Élément de données : vfs.file.contents
Vous avez un exemple d’expression de déclencheur qui pourrait être utile à d’autres ? Utilisez le formulaire de suggestion d’exemple pour l’envoyer aux développeurs de Zabbix.