Toutes les fonctions répertoriées ici sont prises en charge dans :
Quelques notes générales sur les paramètres de fonction :
<
>
/host/key
et (sec|#num)<:time shift>
ne doivent jamais être mis entre guillemets/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 :
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 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: => 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