vRealize Operations comporte des fonctions et des opérateurs utilisables dans les formules de super-mesures. Il s'agit de fonctions uniques ou de boucle.

Fonctions de boucle

Les fonctions de boucle utilisent plusieurs valeurs.
Tableau 1. Fonctions de boucle
Fonction Description
avg Moyenne des valeurs collectées.
combine Combine l'ensemble des valeurs de mesures des objets inclus en une chronologie de mesures unique.
count Nombre de valeurs collectées.
max Valeur maximale des valeurs collectées.
min Valeur minimale des valeurs collectées.
somme Total des valeurs collectées.
Note : vRealize Operations Manager 5.x comportait deux fonctions sum : sum (expr) et sumN (expr, depth). vRealize Operations Manager 6.x comporte une fonction sum : sum (expr). Par défaut, la profondeur définie est depth=1. Pour plus d'informations sur la définition de la profondeur, reportez-vous à Créer une super mesure.

Arguments des fonctions de boucle

La fonction de boucle retourne une valeur d'attribut ou de mesure pour un objet ou un type d'objet. Un attribut correspond à des métadonnées décrivant la mesure pour permettre à l'adaptateur de récupérer des valeurs auprès de l'objet. Une mesure est une instance d'un attribut. La syntaxe de l'argument détermine le résultat voulu.

Par exemple, l'utilisation du CPU est un attribut d'un objet de machine virtuelle. Si une machine virtuelle possède plusieurs CPU, une instance de mesure est créée pour l'utilisation de chacun d'entre eux. Si une machine virtuelle possède un seul CPU, la fonction retourne le même résultat pour l'attribut ou la mesure.

Tableau 2. Formats des fonctions de boucle
Exemple de syntaxe d'argument Description
funct(${this, metric =a|b:optional_instance|c}) Retourne un point de données unique d'une mesure spécifique pour l'objet auquel la super mesure est attribuée. Cette super mesure ne tient pas compte des valeurs des enfants et parents de l'objet.
funct(${this, attribute=a|b:optional_instance|c}) Retourne un ensemble de points de données pour les attributs de l'objet auquel la super mesure est attribuée. Cette super mesure ne tient pas compte des valeurs de l'enfant et du parent de l'objet.
funct(${adaptertype=adaptkind, objecttype=reskind, resourcename=resname, identifiers={id1=val1id2=val2,…}, metric=a|b:instance|c}) Retourne un point de données unique d'une mesure spécifique pour la ressource resname spécifiée dans l'argument. Cette super mesure ne tient pas compte des valeurs des enfants et parents de l'objet.
funct(${adaptertype=adaptkind, objecttype=reskind, resourcename=resname, identifiers={id1=val1, id2=val2,…}, attribute=a|b:optional_instance|c}) Retourne un ensemble de points de données. Cette fonction itère les attributs de la ressource resname spécifiée dans l'argument. Cette super mesure ne tient pas compte des valeurs de l'enfant et du parent de l'objet.
funct(${adaptertype=adaptkind, objecttype=reskind, depth=dep}, metric=a|b:optional_instance|c}) Retourne un ensemble de points de données. Cette fonction itère les mesures de la ressource reskind spécifiée dans l'argument. Cette super mesure récupère les valeurs des objets enfant (depth > 0) ou parent (depth < 0), où depth indique l'emplacement de l'objet dans la chaîne de relation.

Par exemple, une chaîne de relation type comprend un centre de données, un cluster, un hôte et des machines virtuelles. Le centre de données est en haut et les machines virtuelles, en bas. Si la super mesure est attribuée au cluster et si la définition de la fonction comprend depth = 2, alors la super mesure récupère des valeurs auprès des machines virtuelles. Si la définition de la fonction comprend depth = -1, la super mesure récupère des valeurs auprès du centre de données.

funct(${adaptertype=adaptkind, objecttype=reskind, depth=dep}, attribute=a|b:optional_instance|c}) Retourne un ensemble de points de données. Cette fonction itère les attributs de la ressource reskind spécifiée dans l'argument. Cette super mesure récupère des valeurs auprès des objets enfant (depth > 0) ou parent (depth < 0).

Par exemple, la fonction avg(${adaptertype=VMWARE, objecttype=VirtualMachine, attribute=cpu|usage_average, depth=1}) calcule la valeur moyenne de toutes les instances de mesure avec l'attribut cpu|usage_average pour tous les objets de type VirtualMachine trouvés par l'adaptateur vCenter. vRealize Operations recherche des objets au niveau inférieur au type d'objet auquel vous attribuez la super-mesure.

Fonctions uniques

Les fonctions uniques fonctionnent avec une seule valeur ou une seule paire de valeurs.

Tableau 3. Fonctions uniques
Fonction Format Description
abs abs(x) La valeur absolue de x. x peut correspondre à n'importe quel nombre en virgule flottante.
acos acos(x) Arc cosinus de x.
asin asin(x) Arc sinus de x.
atan atan(x) Arc tangente de x.
ceil ceil(x) Plus petit entier supérieur ou égal à x.
cos cos(x) Cosinus de x.
cosh cosh(x) Cosinus hyperbolique de x.
exp exp(x) e augmenté à la puissance de x.
floor floor(x) Plus grand entier inférieur ou égal à x.
log log(x) Logarithme naturel (base x) de x.
log10 log10(x) Logarithme décimal (base 10) de x.
pow pow(x,y) x augmenté à la puissance de y.
rand rand() Génère un nombre flottant pseudo-aléatoire supérieur ou égal à 0,0 et inférieur à 1,0.
sin sin(x) Sinus de x.
sinh sinh(x) Sinus hyperbolique de x.
sqrt sqrt(x) Racine carrée de x.
tan tan(x) Tangente de x.
tanh tanh(x) Tangente hyperbolique de x.

Opérateurs

Les opérateurs sont des symboles mathématiques et du texte à insérer entre les fonctions.

Tableau 4. Opérateurs numériques
Opérateurs Description
+ Ajouter
- Soustraire
* Multiplier
/ Diviser
% Modulo
== Égal à
!= Différent de
< Inférieur à
<= Inférieur ou égal à
> Supérieur à
>= Supérieur ou égal à
|| Ou
&& Et
! Not
? : Opérateur ternaire. If/then/else

Par exemple : conditional_expression ? expression_if_condition_is_true : expression_if_condition_is_false

Pour plus d'informations sur les opérateurs ternaires, reportez-vous à Améliorer vos super mesures.

( ) Parenthèses
[ ] À utiliser dans un tableau d'expressions
[x, y, z] Tableau contenant x, y, z, par exemple, min([x, y, z]).
Tableau 5. Opérateurs de chaîne
Opérateurs de chaîne Description
est égal à Renvoie true si la valeur de chaîne mesure/propriété est égale à la chaîne spécifiée.
contient Renvoie true si la valeur de chaîne mesure/propriété contient la chaîne spécifiée.
startsWith Renvoie true si la valeur de chaîne mesure/propriété commence par le préfixe spécifié.
endsWith Renvoie true si la valeur de chaîne mesure/propriété se termine par le suffixe spécifié.
!equals Renvoie true si la valeur de chaîne mesure/propriété n'est pas égale à la chaîne spécifiée.
!contains Renvoie true si la valeur de chaîne mesure/propriété ne contient pas la chaîne spécifiée.
!startsWith Renvoie true si la valeur de chaîne mesure/propriété ne commence pas par le préfixe spécifié.
!endsWith Renvoie true si la valeur de chaîne mesure/propriété ne se termine pas avec le suffixe spécifié.
Note : Les opérateurs de chaîne ne sont valables que dans les conditions 'where'. Par exemple : ${this, metric=summary|runtime|isIdle, where = "System Properties|resource_kind_type !contains GENERAL"}