vRealize Operations Manager vous permet d'améliorer vos super mesures grâce à des conditions et des alias d'entrée de ressource.

Condition Where

La condition Where vérifie si une valeur de mesure spécifique doit être utilisée dans la super mesure. Cette condition vous permet de pointer vers une mesure différente du même objet, comme dans where = "metric_group|my_metric > 0.

Par exemple : count(${adaptertype = ExampleAdapter, objecttype = ExampleObject, metric = ExampleGroup|Rating, depth=2, where = "==1"})

Création d'alias d'entrée de ressource

Les entrées de ressource permettent de récupérer des données de mesure depuis vRealize Operations Manager pour le calcul de super mesures. Une entrée de ressource est la partie d'une expression qui commence par $ suivi d'un bloc {..}. Lors du calcul d'une super mesure, vous pouvez être amené à utiliser la même entrée de ressource plusieurs fois. Si vous devez apporter des modifications à votre calcul, celles-ci doivent être appliquées à chaque entrée de ressource, ce qui peut entraîner des erreurs. La création d'alias d'entrée de ressource permet de rédiger une expression différemment.

Dans l'exemple suivant, la même entrée de ressource est utilisée deux fois.

(min(${adapterkind=VMWARE, resourcekind=HostSystem, attribute= cpu|demand|active_longterm_load, depth=5, where=”>=0”}) + 0.0001)/(max(${adapterkind=VMWARE, resourcekind=HostSystem, attribute=cpu|demand|active_longterm_load, depth=5, where=”>=0”}) + 0.0001)"

En créant un alias pour l'entrée de ressource, l'expression peut être rédigée comme suit. Les deux expressions ont le même résultat.

(min(${adapterkind=VMWARE, resourcekind=HostSystem, attribute= cpu|demand|active_longterm_load, depth=5, where=”>=0”} as cpuload) + 0.0001)/(max(cpuload) + 0.0001)"

Lorsque vous créez un alias pour une entrée de ressource, suivez ces recommandations :

  • Pour créer un alias, l'entrée de ressource doit être suivie par as puis par alias:name. Par exemple : ${…} as alias_name.

  • L'alias ne peut contenir les caractères spéciaux ()[]+-*/%|&!=<>,.?et ne peut commencer par un chiffre.

  • Un nom d'alias, comme tous les noms dans les expressions de super mesure, n'est pas sensible à la casse.

  • L'utilisation d'un nom d'alias est facultative. Vous pouvez définir un alias et ne pas l'utiliser dans une expression.

  • Vous ne pouvez pas spécifier le même nom d'alias plusieurs fois. Par exemple : ${resource1,…} as r1 + ${resource2,…} as R1.

  • Vous pouvez spécifier plusieurs alias pour une seule entrée de ressource. Par exemple : ${…} as a1 as a2.

Expression conditionnelle ? : opérateurs ternaires

Vous pouvez utiliser un opérateur ternaire dans une expression pour exécuter des expressions conditionnelles.

Par exemple : expression_condition ? expression_if_true : expression_if_false.

Le résultat de l'expression conditionnelle est converti en nombre. Si ce dernier est différent de 0, la condition est considérée comme vraie.

Par exemple : le résultat de -0.7 ? 10 : 20 est 10. Le résultat de 2 + 2 / 2 - 3 ? 4 + 5 / 6 : 7 + 8 est 15 (7 + 8).

En fonction de la condition, l'expression expression_if_true ou expression_if_false est exécutée, mais jamais les deux. Vous pouvez ainsi écrire des expressions comme ${this, metric=cpu|demandmhz} as a != 0 ? 1/a : -1. Un opérateur ternaire peut comprendre d'autres opérateurs dans toutes ses expressions, notamment d'autres opérateurs ternaires.

Par exemple : le résultat de !1 ? 2 ? 3 : 4 : 5 est 5.