This is a translation of the original English documentation page. Help us make it better.

4 Fonctions d'historique

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

Quelques notes générales sur les paramètres de fonction :

  • Les paramètres des fonctions sont séparés par une virgule
  • Les paramètres optionnels des fonctions (ou parties de paramètres) sont indiqués par des chevrons : < >
  • Les paramètres spécifiques des fonctions sont décrits avec chaque fonction
  • Les paramètres /host/key et (sec|#num)<:time shift> ne doivent jamais être mis entre guillemets
Paramètres communs
  • /host/key est un premier paramètre commun obligatoire pour les fonctions se référant à l'historique de l'élément collecté d'un hôte
  • (sec|#num)<:time shift> est le second paramètre pour les fonctions faisant référence à l'historique de l'élément collecté d'un hôte, avec :

Fonctions d'analyse des données historiques

FONCTION
Description Paramètres spécifiques à la fonction Commentaires
change (/host/key)
Différentiel entre la valeur précédente et la dernière valeur.. Types de valeur pris en charge: float, int, str, text, log

Code retour pour les chaînes de caractères:
0 - les chaines sont identiques
1 - les chaines diffèrent

Exemple:
=> change(/host/key)>10

La différence numérique sera calculée, comme le montrent ces exemples ('précédente' et 'dernière' valeur = différence):
'1' et '5' = +4
'3' et '1' = -2
'0' et '-2.5' = -2.5

Voire également: abs à titre comparatif
changecount (/host/key,(sec|#num)<:décalage temporel>,<mode>)
Nombre de changements entre les valeurs adjacentes de la période d'évaluation définie. Voir Paramètres communs.

mode (optionnel ; doit être mis entre guillemets)

modes supportés :
all - Compte tous les changements (défaut)
dec - Compte les changements en baisse
inc - Compte les changements en hausse
Types de valeur pris en charge : float, int, str, text, log

Pour les valeurs non numériques, le paramètre mode sera ignoré.

Exemples :
=> changecount(/host/key, 1w) → nombre de changements de valeur pour la dernière semaine jusqu'à maintenant
=> changecount(/host/key,#10,"inc") → nombre de valeur en hausse (par rapport à la valeur adjacente) parmi les 10 dernières valeurs
=> changecount(/host/key,24h,"dec") → nombre de valeurs en baisse (par rapport à la valeur adjacente) au cours des dernières 24h jusqu'à maintenant
count (/host/key,(sec|#num)<:décalage temporel>,<opérateur>,<motif>)
Nombre de valeurs dans la période d'évaluation définie. Voir Paramètres communs.

opérateur (optionel; doit être mis entre guillemets)

operators supportés :
eq - egal (défaut)
ne - non égal
gt - supérieur
ge - supérieur ou égal
lt - inférieur
le - inférieur ou égal
like - concordance si le motif est contenu (sensible à la casse)
bitand - Opérateur ET au niveau bit (opération binaire)
regexp - Concordance, sensible à la casse, de l'expression régulière donnée dans lemotif
iregexp - Concordance, non sensible à la casse, de l'expression régulière donnée dans lemotif

motif (optionel) - motif requis (les arguments de type chaîne doivent être entre guillemets)
Types de valeur pris en charge : float, integer, string, text, log

Float (les flottants) ont une précision de 2.22e-16; si la base de données n'a pas été mise à jour la précision est de 0.000001.

Avec bitand comme troisième paramètre, le quatrière paramètre motif peut être saisi sous forme de deux nombres, séparés par le caractère '/': nombre_a_comparer_avec/masque. count() calcule le "ET binaire" à partir de la valeur et du masque et compare le résultat à nombre_a_comparer_avec. Si le résultat du "ET binaire" est égal au nombre_a_comparer_avec, la valeur est comptée.
Si nombre_a_comparer_avec et son masque sont égaux, seul le masque a besoin d'être défini (sans '/').

Avec regexp ou iregexp comme troisième paramètre, le quatrième paramètre motif peut être une simple chaine de caractère ou global (commençant par '@') une expression régulière dite globale. 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. Pour les besoins de la correspondance des expressions régulières, les valeurs flottantes 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 quatrième chiffre décimal.

Exemples:
=> count(/host/key,10m) → nombre de valeurs des 10 dernières minutes
=> count(/host/key,10m,"like","error") → nombre de motif "error" depuis les dix dernières minutes
=> count(/host/key,10m,,12) → nombre de valeurs égale à '12' depuis les 10 dernières minutes
=> count(/host/key,10m,"gt",12) → nombre de valeur supérieur ou égal à '12' des 10 dernières minutes
=> count(/host/key,#10,"gt",12) → nombre de valeur supérieur ou égal à '12' des 10 dernières collectes
=> count(/host/key,10m:now-1d,"gt",12) → nombre de valeurs supérieures à '12' entre il y a 24 heures et 10 minutes et il y a 24 heures.
=> count(/host/key,10m,"bitand","6/7") → nombre de valeurs des 10 dernières minutes ayant '110' (en binaire) dans les 3 bits les moins significatifs.
=> count(/host/key,10m:now-1d) → nombre de valeurs comprises entre il y a 24 heures et 10 minutes et il y a 24 heures
countunique (/host/key,(sec|#num)<:décalage temporel>,<opérateur>,<motif>)
Nombre de valeurs uniques durant la période d'évaluation choisie. Voir Paramètres communs.

opérateur (optionnel; doit être mis entre guillemets)

Opérateurs supportés :
eq - égal (défaut)
ne - différent
gt - supérieur
ge - supérieur ou égal
lt - inférieur
le - inférieur ou égal
like - correspond si le motif est présent (sensible à la casse)
bitand - Opérateur ET au niveau bit (opération binaire)
regexp - Concordance, sensible à la casse, de l'expression régulière donnée dans le motif
iregexp - Concordance, non sensible à la casse, de l'expression régulière donnée dans le motif

motif (optionel) - motif requis (les arguments de type chaîne doivent être entre guillemets)
Types de valeur pris en charge : float, integer, string, text, log

Float (les flottants) ont une précision de 2.22e-16; si la base de données n'a pas été mise à jour la précision est de 0.000001.

Avec bitand comme troisième paramètre, le quatrière paramètre motif peut être saisi sous forme de deux nombres, séparés par le caractère '/': nombre_a_comparer_avec/masque. count() calcule le "ET binaire" à partir de la valeur et du masque et compare le résultat à nombre_a_comparer_avec. Si le résultat du "ET binaire" est égal au nombre_a_comparer_avec, la valeur est comptée.
Si nombre_a_comparer_avec et son masque sont égaux, seul le masque a besoin d'être défini (sans '/').

Avec regexp ou iregexp comme troisième paramètre, le quatrième paramètre motif peut être une simple chaine de caractère ou global (commençant par '@') une expression régulière dite globale. 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. Pour les besoins de la correspondance des expressions régulières, les valeurs flottantes 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 quatrième chiffre décimal.

Exemples:
=> countunique(/host/key,10m) → nombre de valeurs uniques depuis les 10 dernières minutes
=> countunique(/host/key,10m,"like","error") → nombre d'événements uniques contenant 'error' depuis les 10 dernières minutes
=> countunique(/host/key,10m,"gt",12) → nombre de valeurs uniques supérieur à '12' depuis les 10 dernières minutes
=> countunique(/host/key,#10,"gt",12) → nombre de valeurs uniques supérieur à '12' depuis les 10 dernières collectes
=> countunique(/host/key,10m:now-1d,"gt",12) → nombre de valeurs uniques supérieur à '12' entre il y a 24 heures 10 minutes et 24 heures
=> countunique(/host/key,10m,"bitand","6/7") → nombre de valeurs uniques des 10 dernières minutes ayant '110' (en binaire) dans les 3 bits les moins significatifs.
=> countunique(/host/key,10m:now-1d) → nombre de valeurs uniques comprises entre il y a 24 heures et 10 minutes et il y a 24 heures
find (/host/key,<(sec|#num)<:décalage temporel>>,<operator>,<pattern>)
Trouver une correspondance de valeur. Voir Paramètres communs.

sec or #num (optionnel) - par défaut, la dernière valeur est utilisée si elle n'est pas spécifiée.

operator (optionnel; doit être placé entre guillemets)

Opérateurs supporteés :
eq - égal (défaut)
ne - différent
gt - supérieur
ge - supérieur ou égal
lt - inférieur
le - inférieur ou égal
like - correspond si le motif est présent (sensible à la casse)
bitand - ET binaire
regexp - Concordance, sensible à la casse, de l'expression régulière donnée dans le motif
iregexp - Concordance, non sensible à la casse, de l'expression régulière donnée dans le motif

pattern - motif requis (les arguments de type chaine doivent être mis entre guillemets); Perl Compatible Regular Expression expression régulière (PCRE) si l'opérateur est regexp, iregexp.
Types de valeur supportés: float, int, str, text, log

Retours:
1 - trouvé
0 - autres

Si plus d'une valeur est traitée, la valeur '1' est retournée s'il y a au moins une correspondance.

Avec regexp or iregexp comme troisième paramètre, le quatrième paramètre motif peut être une expression régulière ordinaire ou globale global (démarre avec le caractère '@'). 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.

Exemple:
=> find(/host/key,10m,"like","error") → cherche un événement contenant le motif 'error' dans les 10 dernières minutes
first (/host/key,sec<décalage temporel>)
La première valeur (la plus ancienne) de la période d'évaluation définie. Voir Paramètres communs. Types de valeur pris en charge : float, int, str, text, log

Exemple:
=> first(/host/key,1h) → récupére la valeur la plus ancienne dans la dernière heure

Voir également la fonction last().
fuzzytime (/host/key,sec)
Vérification de la différence entre l'heure de l'agent passif et l'heure du serveur/proxy Zabbix. Voir Paramètres communs. Types de valeur pris en charge : float, int

Retours:
1 - la différence entre la valeur de l'élément passif (en tant qu'horodatage) et l'horodatage du serveur/proxy Zabbix (horloge de collecte de la valeur) est inférieure ou égale à T secondes
0 - autrement

Généralement utilisé avec la clef de collecte 'system.localtime' pour vérifier que l'heure locale est synchronisée avec l'heure locale du serveur Zabbix. Noter que la clef de collecte 'system.localtime' doit être collectée en tant que collecte passive.
Peut être utilisé avec la clef de collecte vfs.file.time[/path/file,modify] pour vérifier qu'un fichier n'a pas été mis à jour depuis longtemps.

Exemple:
=> fuzzytime(/host/key,60s)=0 → détecte une anomalie si le décalage horaire est supérieur à 60 secondes

Cette fonction n'est pas recommandée pour les expressions de déclenchement complexes (avec plusieurs éléments impliqués), car elle peut provoquer des résultats inattendus (la différence de temps sera mesurée avec la métrique la plus récente)., e.g. in fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0
last (/host/key,<#num<:décalage temporel>>)
Dernière valeur collectée. Voir Paramètres communs.

#num (optionnel) - la Nième valeur la plus récente
Types de valeur pris en charge : float, int, str, text, log

Notez qu'une période de temps marquée d'un dièse (#N) fonctionne différemment ici que dans de nombreuses autres fonctions.
Par exemple:
last() est toujours égal à last(#1)
last(#3) - troisième plus récente valeur collectée (pas les trois dernières valeurs)

Zabbix ne garantit pas l'ordre exact des valeurs si plus de deux valeurs existent au cours d'une même seconde dans l'historique.

Exemple:
=> last(/host/key) → retourne la dernière valeur collectée
=> last(/host/key,#2) → retourne l'avant-dernière valeur collectée
=> last(/host/key,#1) <> last(/host/key,#2) → différence entre la dernière et l'avant-dernière valeur collectée

Voir également la fonction first().
logeventid (/host/key,<#num<:décalage temporel>>,<motif>)
Vérifier si l'ID de l'événement de la dernière entrée du journal correspond à une expression régulière. Voir Paramètres communs.

#num (optionnel) - la Nième valeur la plus récente

motif (optionnel) - expression régulière décrivant le motif requis, Perl Compatible Regular Expression (PCRE) format (les arguments de type chaîne doivent être placés entre guillemets).
Types de valeur pris en charge : log

Retours:
0 - pas de concordance
1 - concordance
logseverity (/host/key,<#num<:décalage temporel>>)
Contrôle du champ sévérité du dernier événement du journal. Voir Paramètres communs.

#num (optionnel) - la Nième valeur la plus récente
Types de valeur pris en charge : log

Retours:
0 - sévérité par défaut
N - sévérité (entier, utilise pour les journaux Windows : 1 - Information, 2 - Avertissement, 4 - Erreur, 7 - Echec dans l'audit, 8 - Réussite dans l'audit, 9 - Critique, 10 - Verbeux).
Zabbix récupère la sévérité de l'événement à partir du champ Information du journal Windows.
logsource (/host/key,<#num<:décalage temporel>>,<motif>)
Vérifie la concordance entre le contenu du champ Source du journal d'événement et l'expression régulière. Voir Paramètres communs.

#num (optionnel) - la Nième valeur la plus récente

motif (optionnel) - expression régulière décrivant le motif requis, Perl Compatible Regular Expression (PCRE) format (les arguments de type chaîne doivent être placés entre guillemets).
Types de valeur pris en charge : log

Retours:
0 - pas de concordance
1 - concordance

Normalement utilisé pour les journaux d'événements de Windows. Par exemple : logsource("VMware Server").
monodec (/host/key,(sec|#num)<:décalage temporel>,<mode>)
Vérifie s'il y a eu une baisse monotone des valeurs. Voir Paramètres communs.

mode (doit être entre guillemets) - weak (Chaque valeur est inférieure ou égale à la précédente ; défaut) ou strict (chaque valeur a baissé)
Types de valeur pris en charge : int

Retourne 1 si tous les éléments de la période de temps diminuent continuellement, 0 autrement.

Exemple:
=> monodec(/Host1/system.swap.size[all,free],60s) + monodec(/Host2/system.swap.size[all,free],60s) + monodec(/Host3/system.swap.size[all,free],60s) - calcul du nombre d'hôtes pour lesquels l'espace libre de pagination a diminué.
monoinc (/host/key,(sec|#num)<:décalage temporel>,<mode>)
Vérifie s'il y a eu une hausse monotone des valeurs. Voir Paramètres communs.

mode (doit être entre guillemets) - weak (Chaque valeur est supérieure ou égale à la précédente ; défaut) ou strict (chaque valeur a augmentée)
Types de valeur pris en charge : int

Retourne 1 si tous les éléments de la période de temps diminuent continuellement, 0 autrement.

Exemple:
=> monoinc(/Host1/system.localtime,#3,"strict")=0 - vérifier si l'heure locale du système a augmenté de façon constante
nodata (/host/key,sec,<mode>)
Vérifie l'absence de réception de données. Voir Paramètres communs.

sec La période ne doit pas être inférieure à 30 secondes car le processus de synchronisation de l'historique (history syncer) ne calcule cette fonction que toutes les 30 secondes.

nodata(/host/key,0) n'est pas admis.

mode - S'il est à strict (entre guillemets), cette fonction sera insensible à la disponibilité du proxy (voir les commentaires pour plus de détails).
Tous les types de valeurs sont pris en charge.

Retours:
1 - si aucune donnée n'est reçue pendant la période définie
0 - autrement

Depuis la version 5.0, les déclencheurs 'nodata' passant par un proxy sont, par défaut, sensible à la disponibilité du proxy - si le proxy devient indisponible, les déclencheurs 'nodata' se déclencheront immediatement après la restauration de la connexion, mais n'aura pas collecté de données pendant la période. Notez que pour les proxies passifs, la suppression est activée si la connexion est rétablie plus de 15 secondes et pas moins de 2 & ProxyUpdateFrequency secondes plus tard. Pour les proxies actifs, la suppression est activée si la connexion est rétablie au bout de plus de 15 secondes.

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 marchera de la même manière qu'avant la version 5.0.0 et se déclenchera dès que la période d'évaluation (cinq minutes) sans données sera passée.

Notez que cette fonction affichera une erreur si, dans 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é effectuée
- il n'y a pas de données et l'élément de collecte a été ajouté ou réactivé
Les erreurs sont consultables dans la colonne Info du déclencheur configuration.

Cette fonction peut ne pas fonctionner correctement s'il existe des décalages horaires entre le serveur Zabbix, le proxy et l'agent. Voir également : Time synchronization requirement.
percentile (/host/key,(sec|#num)<:décalage temporel>,pourcentage)
P-ième percentile d'une période, où P (pourcentage) est spécifié par le troisième paramètre. Voir Paramètres communs.

pourcentage - un nombre à virgule flottante compris entre 0 et 100 (inclus) avec jusqu'à 4 chiffres après la virgule.
Types de valeur pris en charge : float, int
rate (/host/key,sec<:décalage temporel>)
taux moyen par seconde de l'augmentation d'un compteur à croissance monotone pendant la période définie. Voir Paramètres communs. Types de valeur pris en charge : float, int

Correspond fonctionnellement à 'rate' de PromQL.

Exemple:
=> rate(/host/key,30s) → Si l'augmentation monotone sur 30 secondes est de 20, cette fonction renvoie 0,67.

COMMENT https://git.zabbix.com/projects/WEB/repos/documentation/browse/en/manual/appendix/functions/history.md?at=refs%2Fheads%2Frelease%2F6.0 CONTEXT manual/appendix/functions/history.md RESOURCE Documentation 6.0•manual/appendix/functions/history.xliff