Pour définir les conditions d'activation de vos alertes, plusieurs opérateurs et fonctions sont à votre disposition afin de vous permettre de créer les expressions de déclenchement dont vous avez besoin.
Expression avec des opérateurs basiques
Une expression peut être constituée d'une simple métrique, ou d'un ensemble de métriques liées entre elles par des opérateurs.
Voici une liste des opérateurs basiques que vous pouvez inclure lors du paramétrage de vos expressions :
Attention : Lors de la saisie de vos expressions, gardez en tête que le séparateur décimal est le point (et non pas la virgule).
Les fonctions avancées
Les fonctions permettent la réalisation d'évaluations plus complexes. Voici la liste des fonctions qui sont gérées.
Fonction "If"
But : La fonction If
permet d'évaluer une condition et de retourner une valeur spécifique selon le résultat de cette évaluation. Vous pouvez l'utiliser pour configurer des alertes basées sur ces valeurs.
Définition : If(condition, trueValue, falseValue)
condition : L'équation à évaluer.
trueValue : La valeur retournée si la condition est vérifiée (vraie).
falseValue : La valeur retournée si la condition n'est pas vérifiée (fausse).
Utilisation pour les alertes
Pour paramétrer une alerte, vous devez préciser quand elle doit se déclencher, c'est-à-dire en fonction du résultat retourné par la fonction "If". Par exemple :
Si vous voulez être alerté lorsque la fonction retourne "trueValue" :
Configurez l'alerte avec l'expression suivante :
If(condition, trueValue, falseValue) = trueValueSi vous voulez être alerté lorsque la fonction retourne "falseValue" :
Configurez l'alerte avec l'expression suivante :
If(condition, trueValue, falseValue) = falseValue
Exemple d'expression valide :
Fonction "ifthen"
But : Permet de renvoyer une valeur spécifique si une condition est valide.
Définition : ifthen([condition], [trueValue)
condition : l'équation à évaluer
trueValue : la valeur retournée si la condition est vérifiée
Utilisation pour les alertes :
Pour configurer une alerte, utilisez cette fonction pour définir quand elle doit se déclencher. Par exemple :
Si vous voulez être alerté lorsque la condition est vérifiée :
ifthen(condition, trueValue) = trueValue
Exemple d'expression valide :
Fonction "rand"
But : Permet de générer un nombre pseudo-aléatoire supérieur ou égal à 0.0 et inférieur à 1.0
Définition : rand()
Utilisation pour les alertes : Vous pouvez inclure cette fonction dans l'expression de vos alertes
Exemple d'expression valide avec la fonction rand() :
Ici, l'utilisateur sera alerté si la somme de la valeur renvoyée par sa métrique et d'un nombre aléatoire (rand) est supérieure à 200.
Fonction "watchdog"
But : Surveiller l'état des équipements émetteurs de données (Indabox, eWon etc…)
Définition : bool Watchdog(string [idMetrique], int [duration], bool [watchValueChange])
Fonctionnement :
Si la métrique [idMetrique] n'a pas été écrite depuis [duration] secondes, la fonction renvoie True.
Si le paramètre [watchValueChange] = true, on surveille aussi le changement de valeur entre deux écritures. Concrètement, si les deux dernières valeurs écrites dans [idMetrique] sont égales, la fonction renvoie True.
Sous forme d'équation : result = ( [LastRefresh]<[Now]-[Duration] ) OR ( [watchValueChange] AND [PreviousValue]=[CurrentValue])
Utilisation pour les alertes :
Cette fonction permet de déclencher une alerte lorsque :
La métrique n'est plus mise à jour depuis un certain temps.
Si "watchValueChange" est activé, aucune modification de la valeur n'a été détectée entre deux écritures.
Exemple d'expression valide :
Fonctions supplémentaires
En plus des fonctions vues précédemment, d'autres opérateurs sont disponibles pour vous permettre de créer vos équations de déclenchement.
Les calculs mathématiques
Différentes méthodes et constantes mathématiques peuvent être utilisées :
Par exemple, il est possible de retourner la valeur absolue d'un nombre en saisissant : Abs(Double)
Ou encore, de retourner le logarithme d'un nombre spécifié :
Log(Double)
Notez également, la possibilité d'inclure des constantes mathématiques :
exemple :
Remarque : La liste des opérateurs disponible dans l'écran de création d'une formule n'est pas exhaustive. Pour avoir une liste exhaustive de ce qu'il est possible de faire, cliquez sur "voir la documentation".
Paramétrage des dates
Vous avez maintenant à disposition un certain nombres d'opérateurs temporels :
En complément de ces opérateurs temporels, vous pouvez affiner les dates que vous utilisez dans vos expressions en utilisant les fonctions suivantes :
AddDays(Double) : Retourne un nouvel objet DateTimeOffset qui ajoute un nombre spécifié de jours entiers et partiels à la valeur de cette instance.
AddHours(Double) : Retourne un nouvel objet DateTimeOffset qui ajoute un nombre spécifié d’heures entières et partielles à la valeur de cette instance.
AddMinutes(Double) : Retourne un nouvel objet DateTimeOffset qui ajoute un nombre spécifié de minutes entières et partielles à la valeur de cette instance.
AddMonths(Double) : Retourne un nouvel objet DateTimeOffset qui ajoute un nombre spécifié de mois à la valeur de cette instance.
AddYears(Double) : Retourne un nouvel objet DateTimeOffset qui ajoute un nombre spécifié d’années à la valeur de cette instance.
Cette liste n'est pas exhaustive et vous pouvez retrouvez l'ensemble des possibilités en cliquant ici.
Concrètement, si on utilise l'opérateur "now.startOfDay" par exemple, il va représenter le début de la journée en cours.
Mais imaginons que l'on souhaite avoir la journée d'hier. Nous allons pouvoir compléter notre opérateur temporel avec la fonction AddDays :
now.StartOfDay.AddDays(-1).
En ajoutant .AddDays(-1), on va indiquer que l'on souhaite avec la journée courante moins un jour.
Vous pouvez ainsi ajouter/enlever des jours, heures, mois, années... à votre date.
Calculs associés aux dates
Vous avez la possibilité d'inclure des opérateurs temporels en dehors des fonctions Indaba.
Cette fonctionnalité offre divers cas d'usage possibles :
Comparaison de dates
Il est possible de comparer des dates en utilisant des opérateurs de comparaison (>, >= , <, <=, =)
Calculer une durée
Une soustraction de dates (date - date) renvoie un objet de type "TimeSpan", qui représente une durée.
Cet objet peut être exploité en le combinant à d'autres fonctions.
Remarque : Il n'est pas possible d'additionner deux dates. Pour ajouter une durée à une date, il faut passer par les fonctions .Add[unité temporelle] vues précédemment.