4 Fonctions d'historique

Toutes les fonctions répertoriées ici sont prises en charge dans :

Les fonctions sont répertoriées sans informations supplémentaires. Cliquez sur la fonction pour voir tous les détails.

Function Description
change La différence entre la valeur précédente et la dernière valeur.
changecount Le nombre de changements entre des valeurs adjacentes au cours de la période d'évaluation définie.
count Le nombre de valeurs au cours de la période d'évaluation définie.
countunique Le nombre de valeurs uniques au cours de la période d'évaluation définie.
find Trouver une correspondance de valeur au cours de la période d'évaluation définie.
first La première valeur (la plus ancienne) au cours de la période d'évaluation définie.
firstclock L'horodatage de la première valeur (la plus ancienne) au cours de la période d'évaluation définie.
fuzzytime Vérifier dans quelle mesure l'heure de l'agent passif diffère de celle du serveur/proxy Zabbix.
last La valeur la plus récente.
lastclock L'horodatage de la Nième valeur la plus récente au cours de la période d'évaluation définie.
logeventid Vérifier si l'ID d'événement de la dernière entrée de journal correspond à une expression régulière.
logseverity La sévérité du journal de la dernière entrée de journal.
logsource Vérifier si la source du journal de la dernière entrée de journal correspond à une expression régulière.
logtimestamp L'horodatage du message de journal de la Nième valeur la plus récente de l'élément journal.
monodec Vérifier s'il y a eu une diminution monotone des valeurs.
monoinc Vérifier s'il y a eu une augmentation monotone des valeurs.
nodata Vérifier qu'aucune donnée n'a été reçue.
percentile Le percentile P d'une période, où P (pourcentage) est spécifié par le troisième paramètre.
rate Le taux moyen par seconde de l'augmentation d'un compteur monotone croissant au cours de la période définie.
Paramètres communs
  • /host/key est un premier paramètre commun obligatoire pour les fonctions qui font référence à l'historique des éléments de l'hôte
  • (sec|#num)<:time shift> est un deuxième paramètre commun pour les fonctions qui font référence à l'historique des éléments de l'hôte, où :
    • sec - période d'évaluation maximale en secondes (les suffixes de temps peuvent être utilisés), ou
    • #num - plage d'évaluation maximale dans les dernières valeurs collectées (si elle est précédée d'un dièse)
    • time shift (facultatif) permet de déplacer le point d'évaluation dans le passé. Voir plus de détails sur la manière de spécifier le décalage temporel.

Détails des fonctions

Quelques remarques générales sur les paramètres des fonctions :

  • Les paramètres des fonctions sont séparés par une virgule
  • Les paramètres de fonction facultatifs (ou parties de paramètres) sont indiqués par < >
  • Les paramètres spécifiques à une fonction sont décrits avec chaque fonction
  • Les paramètres /host/key et (sec|#num)<:time shift> ne doivent jamais être placés entre guillemets
change(/host/key)

La différence entre la valeur précédente et la dernière valeur.
Types de valeurs pris en charge : Float, Integer, String, Text, Log.
Pour les chaînes, renvoie : 0 - les valeurs sont égales ; 1 - les valeurs diffèrent.

Paramètres : voir paramètres communs.

Commentaires :

  • La différence numérique sera calculée, comme illustré par les exemples de valeurs entrantes suivants (« précédente » et « dernière » valeur = différence) :
    '1' et '5' = +4
    '3' et '1' = -2
    '0' et '-2.5' = -2.5.
  • Dans les déclencheurs, utile pour détecter des pics soudains (ou des baisses), des réinitialisations de compteurs, des transitions d’état numériques.
  • Voir aussi : abs pour la comparaison.

Exemples :

change(/host/system.uptime)<0 #system uptime change has been negative since the last value (indicating a reboot)
change(/host/system.cpu.load[all,avg1])>2 #CPU load (for one minute) has jumped by more than 2 since the last value
change(/host/vfs.fs.size[/,free])<-1G #free disk space has dropped by more than 1 GB between checks
changecount(/host/key,(sec|#num)<:time shift>,<mode>)

Le nombre de changements entre des valeurs adjacentes au cours de la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer, String, Text, Log.

Paramètres :

  • Voir paramètres communs
  • mode (doit être entre guillemets doubles) - valeurs possibles : all - compter tous les changements (par défaut) ; dec - compter les diminutions ; inc - compter les augmentations

Commentaires :

  • Pour les types de valeurs non numériques, le paramètre mode est ignoré.
  • Dans les déclencheurs, utile pour détecter des changements d’état fréquents (indiquant une instabilité).

Exemples :

changecount(/host/icmpping,10m)>5 #ping status has changed more than 5 times in 10 minutes
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #operational state of eth0 has changed more than 5 times in an hour
changecount(/host/proc.num[httpd],15m)>10 #the number of httpd processes has changed more than 10 times in 15 minutes
changecount(/host/key,#10,"inc") #the number of value increases (relative to the adjacent value) among the last 10 values
changecount(/host/key,24h,"dec") #the number of value decreases (relative to the adjacent value) for the last 24 hours until now
count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Le nombre de valeurs dans la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer, String, Text, Log.

Paramètres :

  • Voir paramètres communs
  • operator (doit être entre guillemets doubles) operators pris en charge :
    eq - égal (par défaut pour integer, float)
    ne - différent
    gt - supérieur
    ge - supérieur ou égal
    lt - inférieur
    le - inférieur ou égal
    like (par défaut pour string, text, log) - correspond si contient le motif (sensible à la casse)
    bitand - ET binaire
    regexp - correspondance sensible à la casse avec l’expression régulière donnée dans pattern
    iregexp - correspondance insensible à la casse avec l’expression régulière donnée dans pattern
  • pattern - le motif requis (les arguments de type chaîne doivent être entre guillemets doubles)

Commentaires :

  • Les éléments float correspondent avec une précision de 2.22e-16.
  • like n’est pas pris en charge comme opérateur pour les valeurs integer.
  • like et bitand ne sont pas pris en charge comme opérateurs pour les valeurs float.
  • Pour les valeurs string, text et log, seuls les opérateurs eq, ne, like, regexp et iregexp sont pris en charge.
  • Avec bitand comme opérateur, le quatrième paramètre pattern peut être spécifié sous forme de deux nombres séparés par '/': number_to_compare_with/mask. count() calcule un « ET binaire » à partir de la valeur et du mask et compare le résultat à number_to_compare_with. Si le résultat du « ET binaire » est égal à number_to_compare_with, la valeur est comptée.
    Si number_to_compare_with et mask sont égaux, seul le mask doit être spécifié (sans '/').
  • Avec regexp ou iregexp comme opérateur, le quatrième paramètre pattern peut être une expression régulière ordinaire ou globale (commençant par '@'). Dans le cas des expressions régulières globales, la sensibilité à la casse est héritée des paramètres des expressions régulières globales. Aux fins de la correspondance regexp, les valeurs float seront toujours représentées avec 4 chiffres décimaux après '.'. Notez également que, pour les grands nombres, la différence entre la représentation décimale (stockée dans la base de données) et binaire (utilisée par le serveur Zabbix) peut affecter le 4e chiffre décimal.

Exemples :

count(/host/icmpping,30m,,"0")>5 #le ping a échoué plus de 5 fois en 30 minutes
count(/host/key,10m,"like","error") #le nombre de valeurs au cours des 10 dernières minutes jusqu’à maintenant qui contiennent 'error'
count(/host/key,10m,,12) #le nombre de valeurs au cours des 10 dernières minutes jusqu’à maintenant égales à '12'
count(/host/key,10m,"gt",12) #le nombre de valeurs au cours des 10 dernières minutes jusqu’à maintenant supérieures à '12'
count(/host/key,#10,"gt",12) #le nombre de valeurs parmi les 10 dernières valeurs jusqu’à maintenant supérieures à '12'
count(/host/key,10m:now-1d,"gt",12) #le nombre de valeurs entre il y a 24 heures moins 10 minutes et il y a 24 heures à partir de maintenant qui étaient supérieures à '12'
count(/host/key,10m,"bitand","6/7") #le nombre de valeurs au cours des 10 dernières minutes jusqu’à maintenant ayant '110' (en binaire) dans les 3 bits de poids faible
count(/host/key,10m:now-1d) #le nombre de valeurs entre il y a 24 heures moins 10 minutes et il y a 24 heures à partir de maintenant
countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Le nombre de valeurs uniques dans la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer, String, Text, Log.

Paramètres :

  • Voir paramètres communs
  • operator (doit être entre guillemets doubles). operators pris en charge :
    eq - égal (par défaut pour integer, float)
    ne - différent
    gt - supérieur
    ge - supérieur ou égal
    lt - inférieur
    le - inférieur ou égal
    like (par défaut pour string, text, log) - correspond si contient le motif (sensible à la casse)
    bitand - ET binaire
    regexp - correspondance sensible à la casse de l’expression régulière donnée dans pattern
    iregexp - correspondance insensible à la casse de l’expression régulière donnée dans pattern
  • pattern - le motif requis (les arguments de type chaîne doivent être entre guillemets doubles)

Commentaires :

  • Les éléments float correspondent avec une précision de 2.22e-16.
  • like n’est pas pris en charge comme opérateur pour les valeurs integer.
  • like et bitand ne sont pas pris en charge comme opérateurs pour les valeurs float.
  • Pour les valeurs string, text et log, seuls les opérateurs eq, ne, like, regexp et iregexp sont pris en charge.
  • Avec bitand comme opérateur, le quatrième paramètre pattern peut être spécifié sous la forme de deux nombres, séparés par '/': number_to_compare_with/mask. countunique() calcule le "ET binaire" à partir de la valeur et du mask et compare le résultat à number_to_compare_with. Si le résultat du "ET binaire" est égal à number_to_compare_with, la valeur est comptée.
    Si number_to_compare_with et mask sont égaux, seul le mask doit être spécifié (sans '/').
  • Avec regexp ou iregexp comme opérateur, le quatrième paramètre pattern peut être une expression régulière ordinaire ou globale (commençant par '@'). Dans le cas des expressions régulières globales, la sensibilité à la casse est héritée des paramètres de l’expression régulière globale. Aux fins de la correspondance regexp, les valeurs float seront toujours représentées avec 4 chiffres décimaux après '.'. Notez également que, pour les grands nombres, la différence entre la représentation décimale (stockée dans la base de données) et binaire (utilisée par le serveur Zabbix) peut affecter le 4e chiffre décimal.

Exemples :

countunique(/host/key,10m) #le nombre de valeurs uniques pour les 10 dernières minutes jusqu’à maintenant
countunique(/host/key,10m,"like","error") #le nombre de valeurs uniques pour les 10 dernières minutes jusqu’à maintenant qui contiennent 'error'
countunique(/host/key,10m,,12) #le nombre de valeurs uniques pour les 10 dernières minutes jusqu’à maintenant qui sont égales à '12'
countunique(/host/key,10m,"gt",12) #le nombre de valeurs uniques pour les 10 dernières minutes jusqu’à maintenant qui sont supérieures à '12'
countunique(/host/key,#10,"gt",12) #le nombre de valeurs uniques parmi les 10 dernières valeurs jusqu’à maintenant qui sont supérieures à '12'
countunique(/host/key,10m:now-1d,"gt",12) #le nombre de valeurs uniques entre il y a 24 heures et il y a 24 heures moins 10 minutes à partir de maintenant qui étaient supérieures à '12'
countunique(/host/key,10m,"bitand","6/7") #le nombre de valeurs uniques pour les 10 dernières minutes jusqu’à maintenant ayant '110' (en binaire) dans les 3 bits de poids faible
countunique(/host/key,10m:now-1d) #le nombre de valeurs uniques entre il y a 24 heures et il y a 24 heures moins 10 minutes à partir de maintenant
find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Trouve une correspondance de valeur dans la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer, String, Text, Log.
Renvoie : 1 - trouvé ; 0 - sinon.

Paramètres :

  • Voir les paramètres communs
  • sec ou #num (optionnel) - utilise par défaut la dernière valeur si non spécifié
  • operator (doit être entre guillemets doubles) operators pris en charge :
    eq - égal (par défaut pour integer, float)
    ne - différent
    gt - supérieur
    ge - supérieur ou égal
    lt - inférieur
    le - inférieur ou égal
    like (par défaut pour string, text, log) - correspond si la chaîne fournie dans pattern est contenue (sensible à la casse)
    bitand - ET binaire
    regexp - correspondance sensible à la casse de l’expression régulière fournie dans pattern
    iregexp - correspondance insensible à la casse de l’expression régulière fournie dans pattern
  • pattern - le motif requis (les arguments de type chaîne doivent être entre guillemets doubles) ; expression régulière Perl Compatible Regular Expression (PCRE) si operator est regexp, iregexp

Commentaires :

  • Si plus d’une valeur est traitée, '1' est renvoyé s’il existe au moins une valeur correspondante.
  • like n’est pas pris en charge comme opérateur pour les valeurs entières.
  • like et bitand ne sont pas pris en charge comme opérateurs pour les valeurs flottantes.
  • Pour les valeurs string, text et log, seuls les opérateurs eq, ne, like, regexp et iregexp sont pris en charge.
  • Avec regexp ou iregexp comme opérateur, le quatrième paramètre pattern peut être une expression régulière ordinaire ou globale (commençant par '@'). Dans le cas des expressions régulières globales, la sensibilité à la casse est héritée des paramètres de l’expression régulière globale.

Exemples :

find(/host/key,10m,"like","error") #find a value that contains 'error' within the last 10 minutes until now
find(/host/agent.version,,"like","beta")=1 #Zabbix agent has beta version, must be upgraded
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #internal web server error has been found
first(/host/key,sec<:time shift>)

La première valeur (la plus ancienne) dans la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer, String, Text, Log.

Paramètres :

Voir aussi last().

Exemple :

first(/host/key,1h) #récupère la valeur la plus ancienne de la dernière heure jusqu’à maintenant
firstclock(/host/key,sec<:time shift>)

L’horodatage de la valeur la plus ancienne dans la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer, String, Text, Log.

Paramètres :

La fonction échoue avec une erreur si aucune donnée n’a été collectée pendant la période donnée.

Voir aussi lastclock().

Exemples :

firstclock(/host/key,1h) #récupère l’horodatage de la valeur la plus ancienne au cours de la dernière heure
firstclock(/host/key,1h:now-24h) #récupère l’horodatage de la valeur la plus ancienne au cours de la dernière heure il y a un jour
fuzzytime(/host/key,sec)

Vérifie dans quelle mesure l'heure de l'agent passif diffère de celle du serveur/proxy Zabbix.
Types de valeurs pris en charge : Float, Integer.
Renvoie : 1 - la différence entre la valeur de l'élément passif (en tant qu'horodatage) et l'horodatage du serveur/proxy Zabbix (l'heure de collecte de la valeur) est inférieure ou égale à sec secondes ; 0 - sinon.

Paramètres :

Commentaires :

  • Généralement utilisé avec l'élément 'system.localtime' pour vérifier que l'heure locale est synchronisée avec l'heure locale du serveur Zabbix. 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.
  • Peut également être utilisé avec la clé vfs.file.time[/path/file,modify] pour vérifier que le fichier n'a pas été mis à jour depuis longtemps.
  • Cette fonction n'est pas recommandée dans les expressions de déclencheur complexes (impliquant plusieurs éléments), car elle peut provoquer des résultats inattendus (la différence de temps sera mesurée à l'aide de la métrique la plus récente), par exemple dans fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0.

Exemples :

fuzzytime(/host/system.localtime,5m)=0 #l'heure locale du client diffère de celle du serveur/proxy Zabbix de plus de 5 minutes
fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #l'heure locale du client diffère de celle du serveur/proxy Zabbix de plus de 5 minutes (tout en s'assurant que l'élément n'a pas cessé de transmettre des données)
last(/host/key,<#num<:time shift>>)

La valeur la plus récente.
Types de valeurs pris en charge : Float, Integer, String, Text, Log.

Paramètres :

Commentaires :

  • Notez qu'une période de temps avec dièse (#N) fonctionne ici différemment de nombreuses autres fonctions. Par exemple : last(/host/key) est toujours égal à last(/host/key,#1) ; last(/host/key,#3) - la troisième valeur la plus récente (et non les trois dernières valeurs).
  • Zabbix ne garantit pas l'ordre exact des valeurs si plus de deux valeurs existent dans l'historique au cours d'une même seconde.
  • Voir aussi first().

Exemples :

last(/host/key) #retrieve the last value
last(/host/key,#2) #retrieve the previous value
last(/host/key,#1)<>last(/host/key,#2) #last two values differ
lastclock(/host/key,<#num<:time shift>>)

L'horodatage de la Nième valeur la plus récente dans la période d'évaluation définie.
Types de valeurs pris en charge : Float, Integer, String, Text, Log.

Paramètres :

La fonction échoue avec une erreur si aucune donnée n'a été collectée dans la période donnée ou si aucune Nième valeur n'a été collectée.

Voir aussi firstclock().

Exemples :

lastclock(/host/key) #récupérer l'horodatage de la dernière valeur
lastclock(/host/key,#2) #récupérer l'horodatage de la 2e dernière valeur
now()-lastclock(/host/heartbeat.item)>300 #plus de 5 minutes se sont écoulées depuis la mise à jour de l'élément heartbeat
lastclock(/host/system.cpu.load[all,avg1])-lastclock(/host/system.cpu.load[all,avg1],#2)>300 #l'intervalle de mise à jour entre les deux dernières valeurs dépasse 5 minutes
((now()-lastclock(/host/system.cpu.load[all,avg1])<120 and last(/host/system.cpu.load[all,avg1])>5)) #la valeur CPU est élevée et la valeur est récente (moins de 2 minutes)
logeventid(/host/key,<#num<:time shift>>,<pattern>)

Vérifie si l’ID d’événement de la dernière entrée de journal correspond à une expression régulière.
Types de valeurs pris en charge : Log.
Renvoie : 0 - ne correspond pas ; 1 - correspond.

Paramètres :

  • Voir les paramètres communs
  • #num (facultatif) - la Nième valeur la plus récente
  • pattern (facultatif) - l’expression régulière décrivant le motif requis, au format Perl Compatible Regular Expression (PCRE) (les arguments de type chaîne doivent être placés entre guillemets doubles)

Exemples :

logeventid(/host/eventlog[Security],,"4625")=1 #une entrée de journal avec un ID correspondant à "4625" (échec d’authentification) a été trouvée
logeventid(/host/eventlog[System],,"6008|41")=1 #une entrée de journal avec un ID correspondant à "6008" ou "41" a été trouvée
logseverity(/host/key,<#num<:time shift>>)

Gravité du journal de la dernière entrée de journal.
Types de valeurs pris en charge : Log.
Renvoie : 0 - gravité par défaut ; N - gravité (integer, utile pour les journaux d’événements Windows : 1 - Information, 2 - Warning, 4 - Error, 7 - Failure Audit, 8 - Success Audit, 9 - Critical, 10 - Verbose).

Paramètres :

Zabbix récupère la gravité du journal à partir du champ Information du journal d’événements Windows.

Exemples :

logseverity(/host/log[/var/log/syslog],10m)>3 #a log entry with severity above "3" found
logseverity(/host/eventlog[System],10m)=4 #a log entry with severity equaling "Error" found
logsource(/host/key,<#num<:décalage temporel>>,<pattern>)

Vérifie si la source du dernier enregistrement de journal correspond à une expression régulière.
Types de valeurs pris en charge : Log.
Renvoie : 0 - ne correspond pas ; 1 - correspond.

Paramètres :

  • Voir les paramètres communs
  • #num (facultatif) - la Nième valeur la plus récente
  • pattern (facultatif) - l'expression régulière décrivant le motif requis, de style Perl Compatible Regular Expression (PCRE) (les arguments de type chaîne doivent être placés entre guillemets doubles)

Généralement utilisé pour les journaux d'événements Windows.

Exemples :

logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #a log entry with source matching "MSSQLSERVER" found
logsource(/host/eventlog[System],,"Service Control Manager")=1 #a log entry with source matching "Service Control Manager" found
logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"7031")=1 #a log entry with source matching "Service Control Manager" and event ID matching "7031" found
logtimestamp(/host/key,<#num<:time shift>>)

L'horodatage du message de journal de la Nième valeur la plus récente d'un élément de journal.
Types de valeurs pris en charge : Log.

Paramètres :

Commentaires :

  • Le calcul du décalage temporel est basé sur l'horloge de la valeur de l'élément, et non sur l'horodatage du message de journal ;
  • La fonction échoue avec une erreur si :
    • un élément de type non-journal est reçu ;
    • aucune donnée n'a été collectée pendant la période donnée ;
    • aucune Nième valeur n'a été collectée ;
    • le message de journal ne contient pas de valeur d'horodatage.

Exemples :

logtimestamp(/host/key) #retrieve the timestamp of the latest log message
logtimestamp(/host/key,#2) #retrieve the timestamp of the 2nd latest log message
logtimestamp(/host/key,#3:now-1d) #retrieve the timestamp of the 3rd latest log message a day ago
monodec(/host/key,(sec|#num)<:time shift>,<mode>)

Vérifie s'il y a eu une diminution monotone des valeurs.
Types de valeurs pris en charge : Integer.
Renvoie : 1 - si tous les éléments de la période diminuent continuellement ; 0 - sinon.

Paramètres :

  • Voir paramètres communs
  • mode (doit être entre guillemets doubles) - weak (chaque valeur est inférieure ou égale à la précédente ; valeur par défaut) ou strict (chaque valeur a diminué)

Exemples :

monodec(/host/system.swap.size[all,free],60s) + monodec(/host2/system.swap.size[all,free],60s) + monodec(/host3/system.swap.size[all,free],60s) #calculer sur combien d'hôtes il y a eu une diminution de la taille de swap libre
monodec(/host/proc.num[nginx],10m,"strict")=1 #le nombre de processus nginx a diminué de façon monotone pendant 10 minutes
monoinc(/host/key,(sec|#num)<:time shift>,<mode>)

Vérifie s'il y a eu une augmentation monotone des valeurs.
Types de valeurs pris en charge : Integer.
Renvoie : 1 - si tous les éléments de la période augmentent continuellement ; 0 - sinon.

Paramètres :

  • Voir paramètres communs
  • mode (doit être entre guillemets doubles) - weak (chaque valeur est supérieure ou égale à la précédente ; valeur par défaut) ou strict (chaque valeur a augmenté)

Exemples :

monoinc(/host/system.localtime,#3,"strict")=0 #l'heure locale du système n'a pas augmenté de manière cohérente
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #déclencher si le nombre de fichiers a stagné pendant 24 heures (croissance attendue)
nodata(/host/key,sec,<mode>)

Vérifie qu'aucune donnée n'a été reçue.
Types de valeurs pris en charge : Integer, Float, Character, Text, Log.
Renvoie : 1 - si aucune donnée n'a été reçue pendant la période définie ; 0 - sinon.

Paramètres :

  • Voir les paramètres communs
  • sec - la période ne doit pas être inférieure à 30 secondes, car le processus history syncer ne calcule cette fonction que toutes les 30 secondes ; nodata(/host/key,0) n'est pas autorisé
  • mode - si défini sur strict (entre guillemets doubles), cette fonction sera insensible à la disponibilité du proxy (voir les commentaires pour plus de détails)

Commentaires :

  • les déclencheurs 'nodata' surveillés par proxy sont, par défaut, sensibles à la disponibilité du proxy - si le proxy devient indisponible, les déclencheurs 'nodata' ne se déclencheront pas immédiatement après le rétablissement de la connexion, mais ignoreront les données pour la période de retard. Notez que pour les proxys passifs, la suppression est activée si la connexion est rétablie plus de 15 secondes et au moins 2 secondes plus tard. Pour les proxys actifs, la suppression est activée si la connexion est rétablie plus de 15 secondes plus tard. Pour désactiver la sensibilité à la disponibilité du proxy, utilisez le troisième paramètre, par exemple : nodata(/host/key,5m,"strict") ; dans ce cas, la fonction se déclenchera dès que la période d'évaluation (cinq minutes) sans données sera écoulée.
  • Cette fonction affichera une erreur si, pendant la période du 1er paramètre :
    - il n'y a pas de données et le serveur Zabbix a été redémarré
    - il n'y a pas de données et la maintenance a été terminée
    - il n'y a pas de données et l'élément a été ajouté ou réactivé.
  • Les erreurs sont affichées dans la colonne Info de la configuration des déclencheurs.
  • Cette fonction peut ne pas fonctionner correctement s'il existe des différences de temps entre le serveur Zabbix, le proxy et l'agent. Voir aussi : Exigence de synchronisation de l'heure.

Exemple :

nodata(/host/agent.ping,5m)=1 #déclencheur si aucune donnée n'a été reçue de l'agent Zabbix pendant 5 minutes
percentile(/host/key,(sec|#num)<:time shift>,percentage)

Le percentile P d'une période, où P (pourcentage) est spécifié par le troisième paramètre.
Types de valeurs pris en charge : Float, Integer.

Paramètres :

  • Voir paramètres communs
  • percentage - un nombre à virgule flottante compris entre 0 et 100 (inclus), avec jusqu'à 4 chiffres après la virgule

Exemples :

percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #le 95e percentile du trafic réseau entrant (octets/s) sur 1 heure a dépassé un seuil (par exemple, 1 Mo/s)
percentile(/host/system.cpu.util,5m,95)>80 #le 95e percentile du pourcentage d'utilisation CPU en temps utilisateur a dépassé 80
percentile(/host/icmppingsec[192.168.0.2],15m,95)>0.15 #la plupart des mesures de latence sont inférieures à 150 ms, mais l'extrémité supérieure (les 5 % les plus élevés) indique une latence régulière
percentile(/host/net.if.in[eth0,bytes],1h,50) #calcule le 50e percentile (la valeur médiane) du trafic réseau entrant sur une heure ; cela donne un résultat différent de avg() (la moyenne), car percentile ne tient pas compte des valeurs aberrantes
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #calcule la valeur médiane précise avec un nombre pair de valeurs sur une heure
rate(/host/key,sec<:time shift>)

L'augmentation moyenne par seconde d'un compteur croissant de manière monotone sur la période définie.
Types de valeurs pris en charge : Float, Integer.

Paramètres :

Correspond fonctionnellement à « rate » de PromQL.

Exemples :

rate(/host/key,30s) #si l'augmentation monotone sur 30 secondes est de 20, cette fonction renvoie 0.67.
rate(/host/net.if.in[eth0,bytes],5m)>500000 #le débit de trafic entrant de l'interface sur eth0 a dépassé 500 KB/s au cours des 5 dernières minutes
rate(/host/app.requests.count,1m)>100 #le compteur de requêtes a augmenté de plus de 100 requêtes par seconde au cours de la dernière minute

Voir toutes les fonctions prises en charge.