[comment]: # ({188108fa-226b9489})
# 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](#detect-unavailable-host)
-   [Proxy indisponible](#detect-unavailable-proxy)
-   [Cluster SMTP indisponible](#detect-unavailable-smtp-cluster)
-   [Hôte inaccessible](#detect-unreachable-host)
-   [Redémarrage inattendu](#detect-unexpected-reboot)
-   [Modifications dans des fichiers importants](#detect-changes-in-important-files)
-   [Modifications dans une requête DNS](#detect-changes-in-dns-query)
-   [Logiciels non concordants sur différents hôtes](#detect-non-matching-software-on-different-hosts)
-   [Horloges non synchronisées](#detect-unsynchronized-clocks)
-   [Agent obsolète](#detect-outdated-agent)
-   [Interface instable](#detect-flapping-interface)
-   [Trafic entrant élevé](#detect-high-incoming-traffic)
-   [Espace disque faible](#detect-low-disk-space)
-   [Espace disque faible (seuil dynamique)](#detect-low-disk-space-dynamic-threshold)
-   [Charge CPU élevée](#detect-high-cpu-load)
-   [Comparaison de la charge CPU](#compare-cpu-loads)
-   [Comparaison de la charge CPU à long terme](#compare-cpu-loads)
-   [Chaîne contenant des caractères spéciaux](#detect-string-containing-special-characters)

[comment]: # ({/188108fa-226b9489})

[comment]: # ({2116104b-1b661572})
##### Détecter un hôte indisponible

```default
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.<br>
Fonction : [`max`](/manual/config/triggers/expression/aggregate#max)<br>
Élément de données : [`zabbix[host,agent,available]`](/manual/config/items/itemtypes/internal#host.available)

Alternative :

```default
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.<br>
Fonction : [`nodata`](/manual/config/triggers/expression/history#nodata)<br>
Élément de données : [`agent.ping`](/manual/config/items/itemtypes/zabbix_agent#agent.ping)

[comment]: # ({/2116104b-1b661572})

[comment]: # ({fedc75b0-de5361b9})
##### Détecter un proxy indisponible

```default
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.<br>
Fonction : [`fuzzytime`](/manual/config/triggers/expression/history#fuzzytime)<br>
Élément de données : [`zabbix[proxy,{$PROXY_NAME},lastaccess]`](/manual/config/items/itemtypes/internal#proxy)

[comment]: # ({/fedc75b0-de5361b9})

[comment]: # ({a2a7ab26-7956e04e})
##### Détecter un cluster SMTP indisponible

```default
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.<br>
Fonction : [`last`](/manual/config/triggers/expression/history#last)<br>
Élément de données : [`net.tcp.service`](/manual/config/items/itemtypes/simple_checks#nettcpservice)

[comment]: # ({/a2a7ab26-7956e04e})

[comment]: # ({c2c339fa-567b88a9})
##### Détecter un hôte injoignable

```default
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.<br>
Fonction : [`count`](/manual/config/triggers/expression/history#count)<br>
Élément de données : [`icmpping`](/manual/config/items/itemtypes/simple_checks#icmpping)

[comment]: # ({/c2c339fa-567b88a9})

[comment]: # ({e9862861-b356d712})
##### Détecter un redémarrage inattendu

```default
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).<br>
Fonction : [`change`](/manual/config/triggers/expression/history#change)<br>
Élément de données : [`system.uptime`](/manual/config/items/itemtypes/zabbix_agent#system.uptime)

[comment]: # ({/e9862861-b356d712})

[comment]: # ({1ee22f8b-49592749})
##### Détecter les modifications dans des fichiers importants

```default
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.<br>
Fonction : [`last`](/manual/config/triggers/expression/history#last)<br>
Élément de données : [`vfs.file.cksum`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.cksum)

[comment]: # ({/1ee22f8b-49592749})

[comment]: # ({cc85e7ec-c2b4949f})
##### Détecter les changements dans la requête DNS

```default
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 :

```default
example.com           MX       0 mail.example.com
```

Fonction : [`last`](/manual/config/triggers/expression/history#last)<br>
Élément de données : [`net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1]`](/manual/config/items/itemtypes/zabbix_agent#net.dns.record), avec les macros définies comme suit :

```default
{$WEBSITE_NAME} = example.com
{$DNS_RESOURCE_RECORD_TYPE} = MX
```

[comment]: # ({/cc85e7ec-c2b4949f})

[comment]: # ({0fc019ff-adfc6b9d})
##### Détecter les logiciels non correspondants sur différents hôtes

```default
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.<br>
Fonction : [`last`](/manual/config/triggers/expression/history#last)<br>
Élément de données : [`vfs.file.contents`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.contents)

[comment]: # ({/0fc019ff-adfc6b9d})

[comment]: # ({101c1203-0e6bfc51})
##### Détecter des horloges non synchronisées

```default
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.<br>
Fonction : [`fuzzytime`](/manual/config/triggers/expression/history#fuzzytime)<br>
Élément de données : [`system.localtime`](/manual/config/items/itemtypes/zabbix_agent#system.localtime)

Notez que [`system.localtime`](/manual/config/items/itemtypes/zabbix_agent#systemlocaltime) doit être configuré comme une [vérification passive](/manual/appendix/items/activepassive#passive-checks) pour Zabbix agent ; avec Zabbix agent 2, il peut être configuré comme une vérification active.

[comment]: # ({/101c1203-0e6bfc51})

[comment]: # ({108d71c4-62cfb014})
##### Détecter un agent obsolète

```default
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.<br>
Fonction : [`find`](/manual/config/triggers/expression/history#find)<br>
Élément de données : [`agent.version`](/manual/config/items/itemtypes/zabbix_agent#agent.version)

[comment]: # ({/108d71c4-62cfb014})

[comment]: # ({b4fdf283-3f25a585})
##### Détecter une interface instable

```default
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.<br>
Fonction : [`changecount`](/manual/config/triggers/expression/history#changecount)<br>
Élément de données : [`vfs.file.contents`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.contents)

[comment]: # ({/b4fdf283-3f25a585})

[comment]: # ({984a4c2f-46e72843})
##### Détecter un trafic entrant élevé

```default
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.<br>
Fonction : [`min`](/manual/config/triggers/expression/aggregate#min)<br>
Élément de données : [`net.if.in[eth0,bytes]`](/manual/config/items/itemtypes/zabbix_agent#net.if.in)

[comment]: # ({/984a4c2f-46e72843})

[comment]: # ({2e223320-bddf0717})
##### Détecter un espace disque faible

```default
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 :

```default
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.<br>
Fonction : [`min`](/manual/config/triggers/expression/aggregate#min)<br>
Élément de données : [`vfs.fs.size`](/manual/config/items/itemtypes/zabbix_agent#vfs.fs.size)

[comment]: # ({/2e223320-bddf0717})

[comment]: # ({e2a732dc-bb0f5278})
##### Détecter un espace disque faible (seuil dynamique)

```default
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`](/manual/config/triggers/expression/history#last)<br>

[comment]: # ({/e2a732dc-bb0f5278})

[comment]: # ({643d3a74-17b607dc})
##### Détecter une charge CPU élevée

```default
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 :

```default
min(/host/system.cpu.load[all,avg1],5m)>2 and time()<060000
```
```default
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)

```default
(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.<br>
Fonctions : [`last`](/manual/config/triggers/expression/history#last), [`min`](/manual/config/triggers/expression/aggregate#min), [`dayofweek`](/manual/config/triggers/expression/time#dayofweek), [`time`](/manual/config/triggers/expression/time#time)<br>
Élément de données : [`system.cpu.load`](/manual/config/items/itemtypes/zabbix_agent#system.cpu.load)

[comment]: # ({/643d3a74-17b607dc})

[comment]: # ({49f3b448-47b2e2fd})
##### Comparer les charges CPU

```default
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`).<br>
Fonction : [`avg`](/manual/config/triggers/expression/aggregate#avg)<br>
Élément de données : [`system.cpu.load`](/manual/config/items/itemtypes/zabbix_agent#system.cpu.load)

[comment]: # ({/49f3b448-47b2e2fd})

[comment]: # ({e83bf5a3-6906462b})
##### Comparer les charges CPU à long terme

```default
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<br>
Fonction : [`trendavg`](/manual/config/triggers/expression/trends#trendavg)<br>
Élément de données : [`system.cpu.load`](/manual/config/items/itemtypes/zabbix_agent#system.cpu.load)

Vous pouvez également utiliser le champ [Event name](/manual/config/triggers/trigger#configuration) 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 :

```default
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.

[comment]: # ({/e83bf5a3-6906462b})

[comment]: # ({4ae4641e-60fad4fc})
##### Détecter une chaîne contenant des caractères spéciaux

```default
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}` :

```default
{$HELLO_MACRO} = \" //hello ?\"
```

Vous pouvez également comparer directement à la chaîne :

```default
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`](/manual/config/triggers/expression/history#last)<br>
Élément de données : [`vfs.file.contents`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.contents)

[comment]: # ({/4ae4641e-60fad4fc})

[comment]: # ({baa6a112-contribute})
::: note-contribute
Vous avez un exemple d'expression de déclencheur que d'autres pourraient trouver utile ?<br>
Soumettez votre exemple (y compris l'expression et le contexte) à l'aide de notre [formulaire de suggestion](#report-example) pour l'envoyer aux développeurs Zabbix.
:::

[comment]: # ({/baa6a112-contribute})
