vRealize Operations Manager incluye funciones y operadores que puede utilizar en fórmulas de supermétricas. Las funciones son funciones de bucle o funciones únicas.

Funciones de bucle

Las funciones de bucle funcionan en más de un valor.

Tabla 1. Funciones de bucle

Función

Descripción

avg

Promedio de los valores recopilados.

combine

Combina todos los valores de las métricas de los objetos incluidos en una única escala de tiempo de métrica.

count

Número de valores recopilados.

max

Valor máximo de los valores recopilados.

min

Valor mínimo de los valores recopilados.

sum

Total de los valores recopilados.

Nota:

vRealize Operations Manager 5.x incluye dos funciones de suma: sum (expr) y sumN (expr, depth). vRealize Operations Manager 6.x incluye una función de suma: sum (expr). La profundidad se establece como depth=1 de forma predeterminada. Para obtener más información acerca de cómo configurar la profundidad, consulte Creación de una supermétrica.

Argumentos de las funciones de bucle

La función de bucle devuelve un atributo o un valor de métrica de un objeto o tipo de objeto. Un atributo es un conjunto de metadatos que describe la métrica para que el adaptador la recopile en el objeto. Una métrica es una instancia de un atributo. La sintaxis del argumento define el resultado deseado.

Por ejemplo, el uso de la CPU es un atributo de un objeto de máquina virtual. Si una máquina virtual tiene varias CPU, el uso de la CPU de cada una de las CPU es una instancia de métrica. Si una máquina virtual tiene una CPU, la función del atributo y la métrica devuelven el mismo resultado.

Tabla 2. Formatos de las funciones de bucle

Ejemplo de sintaxis de argumento

Descripción

funct(${this, metric =a|b:optional_instance|c})

Devuelve un único punto de datos de una métrica concreta del objeto al que está asignada la supermétrica. Esta supermétrica no toma datos de los objetos primarios o secundarios del objeto.

funct(${this, attribute=a|b:optional_instance|c})

Devuelve un conjunto de puntos de datos de los atributos del objeto al que está asignada la supermétrica. Esta supermétrica no toma datos del objeto primario o secundario del objeto.

funct(${adapterkind=adaptkind, resourcekind=reskind, resourcename=resname, identifiers={id1=val1id2=val2,…}, metric=a|b:instance|c})

Devuelve un único punto de datos de una métrica concreta del resname especificado en el argumento. Esta supermétrica no toma datos de los objetos primarios o secundarios del objeto.

funct(${adapterkind=adaptkind, resourcekind=reskind, resourcename=resname, identifiers={id1=val1, id2=val2,…}, attribute=a|b:optional_instance|c})

Devuelve un conjunto de puntos de datos. Esta función itera atributos del resname especificado en el argumento. Esta supermétrica no toma datos del objeto primario o secundario del objeto.

funct(${adapterkind=adaptkind, resourcekind=reskind, depth=dep}, metric=a|b:optional_instance|c})

Devuelve un conjunto de puntos de datos. Esta función itera métricas del reskind especificado en el argumento. Esta supermétrica toma valores de los objetos secundarios (depth > 0) o primarios (depth < 0), en donde depth describe la ubicación del objeto en la cadena de relaciones.

Por ejemplo, una cadena de relaciones típica incluye un centro de datos, un clúster, un host y máquinas virtuales con el centro de datos en la parte superior y las máquinas virtuales en la parte inferior. Si la supermétrica está asignada al clúster y la definición de la función incluye depth = 2, la supermétrica toma los valores de las máquinas virtuales. Si la definición de la función incluye depth = -1, la supermétrica toma los valores del centro de datos.

funct(${adapterkind=adaptkind, resourcekind=reskind, depth=dep}, attribute=a|b:optional_instance|c})

Devuelve un conjunto de puntos de datos. Esta función itera atributos del reskind especificado en el argumento. Esta supermétrica toma los valores de los objetos secundarios (depth > 0) o primarios (depth < 0).

Por ejemplo, avg(${adapterkind=VMWARE, resourcekind=VirtualMachine, attribute=cpu|usage_average, depth=1}) calcula el promedio del valor de todas las instancias de métricas con el atributo cpu|usage_average de todos los objetos de tipo VitualMachine que encuentra el adaptador vCenter. vRealize Operations Manager busca objetos un nivel por debajo del tipo de objeto donde asigna la supermétrica.

Funciones únicas

Las funciones únicas funcionan en un único valor o un único par de valores.

Tabla 3. Funciones únicas

Función

Formato

Descripción

abs

abs(x)

Valor absoluto de x. x puede ser cualquier número de punto flotante.

acos

acos(x)

Arcocoseno de x.

asin

asin(x)

Arcoseno de x.

atan

atan(x)

Arcotangente de x.

ceil

ceil(x)

El número entero menor que es mayor o igual a x.

cos

cos(x)

Coseno de x.

cosh

cosh(x)

Coseno hiperbólico de x.

exp

exp(x)

e elevada a la potencia de x.

floor

floor(x)

El número entero mayor que es menor o igual a x.

log

log(x)

Logaritmo natural (de base x) de x.

log10

log10(x)

Logaritmo común (de base 10) de x.

pow

pow(x,y)

Eleva x a la potencia de y.

rand

rand()

Genera un número flotante pseudoaleatorio mayor o igual que 0,0 y menor de 1,0.

sin

sin(x)

Seno de x.

sinh

sinh(x)

Seno hiperbólico de x.

sqrt

sqrt(x)

Raíz cuadrada de x.

tan

tan(x)

Tangente de x.

tanh

tanh(x)

Tangente hiperbólica de x.

Operadores

Los operadores son símbolos matemáticos que encierran funciones o se insertan entre ellas.

Tabla 4. Operadores

Operadores

Descripción

+

Sumar

-

Restar

*

Multiplicar

/

Dividir

%

Módulo

==

Igual

!=

No es igual

<

Menor que

<=

Menor o igual que

>

Mayor que

>=

Mayor o igual que

||

O

&&

Y

!

No

? :

Operador ternario. If/then/else

Por ejemplo: expresión_condicional ? expresión_si_la_condición_es_verdadera : expresión_si_la_condición_es_falsa

Para obtener más información sobre los operadores ternarios, consulte Mejora de sus supermétricas.

( )

Paréntesis

[ ]

Se utilizan en un conjunto de expresiones

[x, y, z]

Una matriz que contiene x, y, z. Por ejemplo, min([x, y, z])