Zabbix Documentation 4.0

3.04.04.4 (current)| In development:5.0 (devel)| Unsupported:1.82.02.22.43.23.44.2Guidelines

User Tools

Site Tools

This translation is older than the original page and might be outdated. See what has changed.

Sidebar

fr:manual:appendix:triggers:functions

1 Fonctions de déclencheur supportées

Toutes les fonctions supportées dans les expressions de déclencheur sont listées ici.

FONCTION
Description Paramètres Commentaires
abschange
La différence absolue entre la dernière valeur et les valeurs précédentes. Types de valeurs supportés : flottant, int, str, text, log

Par exemple :
(valeur précédente;dernière valeur=abschange)
1;5=4
3;1=2
0;-2.5=2.5

Pour les chaînes renvoie :
0 - les valeurs sont égales
1 - les valeurs diffèrent
avg (sec|#num,<time_shift>)
Valeur moyenne d'un élément au cours de la période d'évaluation définie. sec ou #num - période d'évaluation en secondes ou dans les dernières valeurs collectées (précédée d'un signe dièse)
time_shift (optionnel) - le point d'évaluation est déplacé du nombre de secondes dans le temps
Types de valeurs supportés : flottant, int

Exemples :
⇒ avg(#5) → valeur moyenne pour les 5 dernières valeurs
⇒ avg(1h) → valeur moyenne pour une heure
⇒ avg(1h,1d) → valeur moyenne pour une heure il y a 1 jour.

Le paramètre time_shift est supporté depuis Zabbix 1.8.2. C'est utile lorsqu'il est nécessaire de comparer la valeur moyenne actuelle avec la valeur moyenne d'il y a time_shift secondes.
band (<sec|#num>,mask,<time_shift>)
Valeur de “ET binaire” d'une valeur d'élément et d'un masque. sec (ignoré, égal #1) ou #num (optionnel) - la Nième valeur plus récente
mask (obligatoire) - entier non signé 64-bit (0 - 18446744073709551615)
time_shift (optionnel) - voir avg()
Types de valeurs supportés : int

Notez que #num fonctionne différemment ici par rapport à beaucoup d'autres fonction (voir last()).

Bien que la comparaison se fasse au niveau du bit, toutes les valeurs doivent être fournies et sont retournées en décimal. Par exemple, la vérification du troisième bit est effectuée en comparant à 4 et non à 100.

Exemples :
⇒ band(,12)=8 ou band(,12)=4 → 3ième ou 4ième bit défini, mais pas les deux en même temps
⇒ band(,20)=16 → 3ème bit non activé et 5ème bit activé.

Cette fonction est supportée depuis Zabbix 2.2.0.
change
La différence entre la dernière valeur et les valeurs précédentes. Types de valeurs supportés : flottant, int, str, text, log

Par exemple :
(valeur précédente;dernière valeur=change)
1;5=+4
3;1=-2
0;-2.5=-2.5

Voir aussi : abschange pour comparaison

Pour les chaînes retourne :
0 - les valeurs sont égales
1 - les valeurs diffèrent
count (sec|#num,<pattern>,<operator>,<time_shift>)
Nombre de valeurs dans la période d'évaluation définie. sec ou #num - période d'évaluation en secondes ou dans les dernières valeurs collectées (précédée d'un signe dièse)
pattern (optionnel) - motif requis

operator (optionnel)

Operators supportés :
eq - égal
ne - non égal
gt - supérieur que
ge - supérieur ou égal
lt - inférieur
le - inférieur ou égal
like - correspond si contient un motif (sensible à la casse)
band - ET binaire
regexp - correspondance sensible à la casse d'une expression régulière donnée dans pattern
iregexp - correspondance (non sensible à la casse) de l'expression régulière donnée dans pattern

Notez que :
eq (défaut), ne, gt, ge, lt, le, band, regexp, iregexp sont supportés pour les éléments entier
eq (défaut), ne, gt, ge, lt, le, regexp, iregexp sont supportés pour les éléments flottants
like (défaut), eq, ne, regexp, iregexp sont supportés pour les éléments chaînes, texte et log

time_shift (optionnel) - voir avg()
Types de valeurs supportés : flottant, entier, chaîne, texte, log
Les éléments flottants correspondent avec une précision de 0.000001.

Avec band comme troisième paramètre, le second paramètre pattern peut être spécifié comme deux nombres, séparé par '/' : nombre_à_comparer/masque. count() calcule “ET binaire” depuis la valeur et le masque et compare le resultat à nombre_à_comparer. Si le résultat du “ET binaire” est égale au nombre_à_comparer, la valeur est comptabilisée.
Si nombre_à_comparer et le masque sont égaux, seul le masque doit être spécifié (sans '/').

Avec regexp ou iregexp comme troisième paramètre, le second paramètre pattern peut être une expression régulière normale ou globale (commençant par '@'). En cas d'expressions régulières globales, la sensibilité à la casse est héritée des paramètres globaux d'expressions régulières. Dans le but de faire correspondre les expressions régulières, les valeurs flottantes seront toujours représentées avec 4 chiffres après la virgule après le signe '.'. Notez également que pour les grands nombres, la différence de représentation décimale (stockée dans la base de données) et binaire (utilisée par le serveur Zabbix) peut affecter le 4ème chiffre décimal.

Exemples :
⇒ count(10m) → nombre de valeurs pour les 10 dernières minutes
⇒ count(10m,"error",eq) → nombre de valeurs pour les 10 dernières minutes qui sont égales à 'error'
⇒ count(10m,12) → nombre de valeurs pour les 10 dernières minutes qui sont égales à '12'
⇒ count(10m,12,gt) → nombre de valeurs pour les 10 dernières minutes qui sont supérieures à '12'
⇒ count(#10,12,gt) → nombre de valeurs sur les 10 dernières valeurs qui sont supérieures à '12'
⇒ count(10m,12,gt,1d) → nombre de valeurs pour les 10 dernières minutes 24h avant maintenant qui sont supérieures à '12'
⇒ count(10m,6/7,band) → nombre de valeurs des 10 dernières minutes ayant '110' (en binaire) dans les 3 bits de poids le plus faible.
⇒ count(10m,,,1d) → nombre de valeurs pour les 10 minutes précédentes jusqu'à 24 heures

Le paramètre #num est supporté depuis Zabbix 1.6.1.
Le paramètre time_shift et les opérateurs de chaîne sont supportés depuis Zabbix 1.8.2.
L'opérateur band est supporté depuis Zabbix 2.2.0.
Les opérateurs regexp, iregexp sont supportés depuis Zabbix 3.2.0.
date
Date actuelle au format YYYYMMDD. Types de valeurs supportés : any

Exemple de valeur retournée : 20150731
dayofmonth
Jour du mois compris entre 1 et 31. Types de valeurs supportés : any

Cette fonction est supportée depuis Zabbix 1.8.5.
dayofweek
Jour de le semaine compris entre 1 et 7 (Mon - 1, Sun - 7). Types de valeurs supportés : any
delta (sec|#num,<time_shift>)
Différence entre les valeurs maximale et minimale dans la période d’évaluation définie ('max()' moins 'min()'). sec ou #num - période d'évaluation en secondes ou dans les dernières valeurs collectées spécifiées (précédées d'un signe dièse)
time_shift (optionnel) - voir avg()
Types de valeurs supportés : flottant, int

Le paramètre time_shift est supporté depuis Zabbix 1.8.2.
diff
Vérifier si les dernières valeurs et les valeurs précédentes diffèrent. Types de valeurs supportés : flottant, int, str, text, log

Retourne :
1 - la dernière valeur et la valeur précédente diffèrent
0 - sinon
forecast (sec|#num,<time_shift>,time,<fit>,<mode>)
Valeur future, max, min, delta ou avg de l'élément. sec ou #num - période d'évaluation en secondes ou dans les dernières valeurs collectées spécifiées (précédées d'un signe dièse)
time_shift (optionnel) - voir avg()
time - horizon de prévision en secondes
fit (optionnel) - fonction utilisée pour ajuster les données historiques

Support de fits :
linéaire - fonction linéaire
polynomialN - polynomial de degrés N (1 <= N <= 6)
exponentiel - fonction exponentielle
logarithmique - fonction logarithmique
puissance - fonction puissance

Notez que :
linéaire est par défaut, polynomial1 est équivalent à linéaire

mode (optionnel) - sortie demandée

modes supportés :
valeur - valeur (défaut)
max - maximum
min - minimum
delta - max-min
avg - moyenne

Notez que :
la valeur de l'élément est estimée au moment now + time.
max, min, delta et avg étudient l'estimation de la valeur d'un élément dans l'intervalle entre now et now + time
Types de valeurs supportés : flottant, int

Si la valeur retournée est plus grande que 999999999999.9999 ou plus petite que -999999999999.9999, la valeur retournée sera rognée à 999999999999.9999 ou -999999999999.9999 en conséquence.

Devient non supporté uniquement s'il est mal utilisé dans une expression (type d'élement incorrect, paramètres non valides), sinon renvoie -1 en cas d'erreur.

Exemples :
⇒ forecast(#10,,1h) → prévision de la valeur d'un élément après une heure basée sur les 10 dernières valeurs
⇒ forecast(1h,,30m) → prévision de la valeur de l'élément après 30 minutes basée sur les données de la dernière heure
⇒ forecast(1h,1d,12h) → prévision de l'élément après 12 heures sur une heure il y a un jour
⇒ forecast(1h,,10m,exponential) → prévision de la valeur de l'élément après 10 minutes sur la base des données de la dernière heure et de la fonction exponentielle
⇒ forecast(1h,,2h,polynomial3,max) → prévision de la valeur maximale que l'élément peut atteindre dans les deux heures à venir en fonction des données de la dernière heure et du polynôme cubique (troisième degré)
⇒ forecast(#2,,-20m) → estimer la valeur d'un élément datant d'il y a 20 minutes en fonction des deux dernières valeurs (cela peut être plus précis que d'utiliser last() ou prev(), surtout si l'élément est mis à jour rarement, par exemple, une fois par heure)

Cette fonction est supportée depuis Zabbix 3.0.0.
Les valeurs négatives de time ​sont supportées depuis Zabbix 3.0.6 et 3.2.2.
Voir aussi les informations additionnelles sur les fonction de déclencheur prédictives.
fuzzytime (sec)
Vérification de la valeur d'un élément (son timestamp) par rapport à l'heure du serveur Zabbix. sec - secondes Types de valeurs supportés : flottant, int

Retourne :
1 - si la différence entre la valeur de l'élément (son timestamp) et le timestamp du serveur Zabbix est inférieure ou égale à T secondes
0 - sinon.

Habituellement 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 vérification passive.
Peut aussi être utilisé avec la clé vfs.file.time[/path/file,modify] pour vérifier que le fichier n'a pas eu de mises à jour depuis longtemps.

Exemple :
⇒ fuzzytime(60)=0 → détecte un problème si la différence de temps est supérieure à 60 secondes
iregexp (<pattern>,<sec|#num>)
Cette fonction est identique à regexp() mais non sensible à la casse. voir regexp() Types de valeurs supportés : str, log, text
last (<sec|#num>,<time_shift>)
La valeur la plus récente. sec (ignoré, égal #1) ou #num (optionnel) - la Nième valeur la plus récente
time_shift (optionnel) - voir avg()
Types de valeurs supportés : flottant, int, str, text, log

Notez que #num fonctionne différemment ici de beaucoup d'autres fonctions.
Par exemple :
last() est toujours égal à last(#1)
last(#3) - troisième valeur la plus récente (et non trois dernières)

Zabbix ne garantit pas l'ordre exact des valeurs s'il existe plus de deux valeurs dans la seconde dans l'historique.

Le paramètre #num est supporté depuis Zabbix 1.6.2.
Le paramètre time_shift est supporté depuis Zabbix 1.8.2.
logeventid (<pattern>)
Vérifier si l'ID d'événement de la dernière entrée de journal correspond à une expression régulière. pattern (optionnel) - expression régulière décrivant le modèle requis, style Expression régulière compatible Perl (PCRE). Types de valeurs supportés : log

Retourne :
0 - ne correspond pas
1 - correspond

Cette fonction est supportée depuis Zabbix 1.8.5.
logseverity
Consigner la gravité de la dernière entrée du journal. Types de valeurs supportés : log

Retourne :
0 - sévérité par défaut
N - sévérité (entier, utile pour les journaux d'événements Windows : 1 - Information, 2 - Avertissement, 4 - Erreur, 7 - Audit d'échec, 8 - Audit de succès, 9 - Critique, 10 - Verbeux).
Zabbix prend la sévérité du journal du champs Information du journal des événements Windows.
logsource (<pattern>)
Vérifier si la source de la dernière entrée du journal correspond à une expression régulière. pattern (optionnel) - expression régulière décrivant le modèle requis, style Expression régulière compatible Perl (PCRE). Types de valeurs supportés : log

Renvoie :
0 - ne correspond pas
1 - correspond

Normalement utilisé pour les journaux d'événements Windows. Par exemple, logsource("VMware Server").
max (sec|#num,<time_shift>)
Valeur la plus élevée d'un élément dans la période d'évaluation définie. sec ou #num - période d'évaluation en secondes ou dans les dernières valeurs collectées (précédée d'un signe dièse)
time_shift (optionnel) - voir avg()
Types de valeurs supportés : flottant, int

Le paramètre time_shift est supporté depuis Zabbix 1.8.2.
min (sec|#num,<time_shift>)
Valeur la plus basse d'un élément de la période d'évaluation définie. sec ou #num - période d'évaluation en secondes ou dans les dernières valeurs collectées (précédée d'un signe dièse)
time_shift (optionnel) - voir avg()
Types de valeurs supportés : flottant, int

Le paramètre time_shift est supporté depuis Zabbix 1.8.2.
nodata (sec)
Vérification de l'absence de données reçues. sec - période d'évaluation en secondes.
La période ne doit pas être inférieure à 30 secondes car le processus de synchronisation de l'historique calcule cette fonction uniquement toutes les 30 secondes.

nodata(0) n'est pas autorisé.
Types de valeurs supportés : any

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

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 est 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 dans la configuration du déclencheur.
now
Nombre de secondes depuis l'époque (00:00:00 UTC, 1er janvier 1970). Types de valeurs supportés : any
percentile (sec|#num,<time_shift>,percentage)
P-ième centile d'une période, où P (pourcentage) est spécifié par le troisième paramètre. sec ou #num - période d'évaluation en secondes ou dans les dernières valeurs collectées (précédée d'un signe dièse)
time_shift (optionnel) - voir avg()
percentage - un nombre à virgule flottante compris entre 0 et 100 (inclus) avec un maximum de 4 chiffres après le point décimal
Types de valeurs supportés : flottant, int

Cette fonction est supportée depuis Zabbix 3.0.0.
prev
Valeur précédente. Types de valeurs supportés : flottant, int, str, text, log

Retourne la même chose que last(#2).
regexp (<pattern>,<sec|#num>)
Vérifier si la dernière valeur (la plus récente) correspond à l'expression régulière. pattern (optionnel) - expression régulière, style Expression régulière compatible Perl (PCRE).
sec ou #num (optionnel) - période d’évaluation en secondes ou dans les dernières valeurs collectées (précédée d’un signe dièse). Dans ce cas, plusieurs valeurs peuvent être traitées.
Types de valeurs supportés : str, text, log

Retourne :
1 - trouvé
0 - sinon

Si plus d'une valeur est traitée, '1' est renvoyé s'il existe au moins une valeur correspondante.

Cette fonction est sensible à la casse.
str (<pattern>,<sec|#num>)
Recherche d'une chaîne dans la dernière valeur (la plus récente). pattern (optionnel) - chaîne requise
sec ou #num (optionnel) - période d’évaluation en secondes ou dans les dernières valeurs collectées (précédée d’un signe dièse). Dans ce cas, plusieurs valeurs peuvent être traitées
Types de valeurs supportés : str, text, log

Retourne :
1 - trouvé
0 - sinon

Si plus d'une valeur est traitée, '1' est renvoyé s'il existe au moins une valeur correspondante.

Cette fonction est sensible à la casse.
strlen (<sec|#num>,<time_shift>)
Longueur de la dernière valeur (la plus récente) en caractères (pas en octets). sec (ignoré, égal #1) ou #num (optionnel) - la Nième valeur la plus récente
time_shift (optionnel) - voir avg()
Types de valeurs supportés : str, text, log

Notez que #num fonctionne différemment ici de beaucoup d'autres fonctions.

Exemples :
⇒ strlen() (est égal à strlen(#1)) → longueur de la dernière valeur
⇒ strlen(#3) → longueur de la troisième valeur la plus récente
⇒ strlen(,1d) → longueur de la dernière valeur d'un jour auparavant.

Cette fonction est supportée depuis Zabbix 1.8.4.
sum (sec|#num,<time_shift>)
Somme des valeurs collectées au cours de la période d’évaluation définie. sec ou #num - période d'évaluation en secondes ou dans les dernières valeurs collectées (précédée d'un signe dièse)
time_shift (optionnel) - voir avg()
Types de valeurs supportés : flottant, int

Le paramètre time_shift est supporté depuis Zabbix 1.8.2.
time
Heure actuelle au format HHMMSS. Types de valeurs supportés : any

Exemple de valeur retournée : 123055
timeleft (sec|#num,<time_shift>,threshold,<fit>)
Durée en secondes nécessaire à un élément pour atteindre un seuil spécifié. sec ou #num - période d'évaluation en secondes ou dans les dernières valeurs collectées spécifiées (précédées d'un signe dièse)
time_shift (optionnel) - voir avg()
threshold - valeu à atteindre
fit (optionnel) - voir forecast()
Types de valeurs supportés : flottant, int

Si la valeur à renvoyer est supérieure à 999999999999.9999, la valeur de retour est rognée à 999999999999.9999.

Retourne 999999999999.9999 si le seuil ne peut pas être atteint.

Devient non supporté uniquement s'il est mal utilisé dans une expression (type d'élément incorrect, paramètres non valides), sinon renvoie -1 en cas d'erreur.

Exemples :
⇒ timeleft(#10,,0) → temps jusqu'à ce que la valeur de l'élément atteigne zéro sur la base des 10 dernières valeurs
⇒ timeleft(1h,,100) → temps jusqu'à ce que la valeur de l'élément atteigne 100 sur la base des données de la dernière heure
⇒ timeleft(1h,1d,0) → temps jusqu'à ce que la valeur de l'élément atteigne 0 sur la base d'une heure il y a un jour
⇒ timeleft(1h,,200,polynomial2) → temps jusqu'à ce que l'élément atteigne 200 sur la base des données de la dernière heure et en supposant que l'élément se comporte comme un polynôme quadratique (au deuxième degré)

Cette fonction est supportée depuis Zabbix 3.0.0.
Les symboles d'unités dans le paramètre ​threshold sont supportés depuis Zabbix 3.0.6 et 3.2.2.
Voir aussi les informations supplémentaires sur les fonctions de déclenchement prédictives.
1) Toutes les fonctions renvoient uniquement des valeurs numériques. Par exemple, la comparaison avec des chaînes n'est pas supportée.
2) Certaines fonctions ne peuvent pas être utilisées pour des paramètres non numériques !
3) Les arguments de chaîne doivent être entre guillemets doubles. Sinon, ils pourraient être mal interprétés.
4) Pour toutes les fonctions de déclencheur sec et time_shift doivent être un entier avec un suffixe temporel facultatif et n'ont absolument rien à voir avec le type de données de l'élément.

Fonctions et éléments non supportés

À partir de Zabbix 3.2, les fonctions nodata(), date(), dayofmonth(), dayofweek(), now() et time() sont également calculées pour les éléments non supportés. D'autres fonctions nécessitent que l'élément référencé soit dans un état supporté.