vRealize Operations Manager 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.

Remarque :

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(${adapterkind=adaptkind, resourcekind=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(${adapterkind=adaptkind, resourcekind=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(${adapterkind=adaptkind, resourcekind=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 typique comporte un centre de données (au niveau supérieur), un cluster, un hôte et des machines virtuelles (au niveau inférieur). 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(${adapterkind=adaptkind, resourcekind=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(${adapterkind=VMWARE, resourcekind=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 Manager 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 à insérer entre les fonctions ou qui les entourent.

Tableau 4. Opérateurs

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]).