VMware Aria Operations inclui funções e operadores que você pode usar em fórmulas supermétricas. As funções são funções de loop ou funções únicas.

Funções de loop

As funções de loop funcionam em mais de um valor.
Tabela 1. Funções de loop
Função Descrição
média Média dos valores coletados.
combinar Combina todos os valores das métricas dos objetos incluídos em uma única linha do tempo de métrica.
contar Número de valores coletados.
máx. Valor máximo dos valores coletados.
min Valor mínimo dos valores coletados.
soma Total dos valores coletados.
Observação: VMware Aria Operations 5.x incluiu duas funções de soma: sum (expr) e sumN (expr, depth). VMware Aria Operations 6.x inclui uma função de soma: sum (expr). A profundidade é definida como depth=1 por padrão. Para obter mais informações sobre como definir a profundidade, consulte Criar uma supermétrica.

Argumentos da função de loop

A função de loop retorna um atributo ou valor de métrica para um objeto ou tipo de objeto. Um atributo são metadados que descrevem a métrica que o adaptador deve coletar do objeto. Uma métrica é uma instância de um atributo. A sintaxe do argumento define o resultado desejado.

Por exemplo, o uso da CPU é um atributo de um objeto de máquina virtual. Se uma máquina virtual tiver várias CPUs, o uso da CPU para cada CPU será uma instância de métrica. Se uma máquina virtual tiver uma CPU, a função para o atributo ou a métrica retornará o mesmo resultado.

Tabela 2. Formatos de função de loop
Exemplo de sintaxe de argumento Descrição
funct(${this, metric =a|b:optional_instance|c}) Retorna um único ponto de dados de uma métrica específica para o objeto ao qual a supermétrica está atribuída. Essa supermétrica não obtém valores dos filhos ou pais do objeto.
funct(${this, attribute=a|b:optional_instance|c}) Retorna um conjunto de pontos de dados para atributos do objeto ao qual a supermétrica está atribuída. Essa supermétrica não obtém valores do filho ou do pai do objeto.
funct(${adaptertype=adaptkind, objecttype=reskind, resourcename=resname, identifiers={id1=val1{ id2=val2,…}, metric=a|b:instance|c}) Retorna um único ponto de dados de uma métrica específica para o resname especificado no argumento. Essa supermétrica não obtém valores dos filhos ou pais do objeto.
funct(${adaptertype=adaptkind, objecttype=reskind, resourcename=resname, identifiers={id1=val1, id2=val2,…}, attribute=a|b:optional_instance|c}) Retorna um conjunto de pontos de dados. Essa função itera atributos de resname especificado no argumento. Essa supermétrica não obtém valores do filho ou do pai do objeto.
funct(${adaptertype=adaptkind, objecttype=reskind, depth=dep}, metric=a|b: optional_instance|c}) Retorna um conjunto de pontos de dados. Essa função itera métricas do reskind especificado no argumento. Essa supermétrica obtém valores dos objetos filho (profundidade > 0) ou pai (profundidade < 0), em que profundidade descreve a localização do objeto na cadeia de relacionamento.

Por exemplo, uma cadeia de relacionamento típica inclui um centro de dados, um cluster, um host e máquinas virtuais. O centro de dados está na parte superior e as máquinas virtuais na parte inferior. Se a supermétrica for atribuída ao cluster e a definição da função incluir depth = 2, a supermétrica obterá valores das máquinas virtuais. Se a definição da função incluir depth = -1, a supermétrica obterá valores do centro de dados.

funct(${adaptertype=adaptkind, objecttype=reskind, depth=dep}, attribute=a|b: optional_instance|c}) Retorna um conjunto de pontos de dados. Essa função itera atributos do reskind especificado no argumento. Essa supermétrica obtém valores dos objetos filho (profundidade > 0) ou pai (profundidade < 0).

Por exemplo, avg(${adaptertype=VMWARE, objecttype=VirtualMachine, attribute=cpu|usage_average, depth=) calcula a média do valor de todas as instâncias de métrica com o atributo cpu|usage_average para todos os objetos do tipo VirtualMachine que o adaptador vCenter encontra. VMware Aria Operations pesquisa objetos um nível abaixo do tipo de objeto ao qual você atribui a supermétrica.

Funções únicas

As funções únicas funcionam apenas em um único valor ou em um único par de valores.

Tabela 3. Funções únicas
Função Formato Descrição
abs abs(x) Valor absoluto de x. x pode ser qualquer número de ponto flutuante.
acos acos(x) Arccoseno de x.
asin asin(x) Arcseno de x.
atan atan(x) Arctangente de x.
ceil teto(x) O menor inteiro maior ou igual a x.
cos cos(x) Cosseno de x.
cosh cosh(x) Cosseno hiperbólico de x.
exp exp(x) e elevado à potência de x.
andar andar(x) O maior inteiro que é menor ou igual a x.
registrar log(x) Logaritmo natural (base x) de x.
log10 log10(x) Logaritmo comum (base 10) de x.
pow pow(x,y) Eleva x à potência de y.
rand rand() Gera um número flutuante pseudoaleatório maior ou igual a 0,0 e menor que 1,0.
pecado sin(x) Seno de x.
sinh sinh(x) Seno hiperbólico de x.
sqrt sqrt(x) Raiz quadrada de x.
tan bronzeado(x) Tangente de x.
tanh tanh(x) Tangente hiperbólica de x.

Operadores

Os operadores são símbolos matemáticos e texto para incluir ou inserir entre funções.

Tabela 4. Operadores numéricos
Operadores Descrição
+ Mais
- Subtrair
* Multiplicar
/ Dividir
% Módulo
== Igual
!= Diferente
< Menos de
<= Menor ou igual
> Maior que
>= Maior ou igual
|| Ou
&& E
! Não
? : Operador ternário. Se/então/senão

Por exemplo: conditional_expression ? expression_if_condition_is_true : expression_if_condition_is_false

Para obter mais informações sobre operadores ternários, consulte Aprimorando suas supermétricas.

( ) Parênteses
[ ] Usar em uma matriz de expressões
[x, y, z] Uma matriz contendo x, y, z. Por exemplo, min([x, y, z])
Tabela 5. Operadores de string
Operadores de string Descrição
é igual a Retornará true se o valor da cadeia de caracteres da métrica/propriedade for igual à cadeia de caracteres especificada.
contém Retornará true se o valor da cadeia de caracteres de métrica/propriedade contiver a cadeia de caracteres especificada.
começa com Retornará true se o valor da cadeia de caracteres de métrica/propriedade começar com o prefixo especificado.
termina com Retornará true se o valor da cadeia de caracteres de métrica/propriedade terminar com o sufixo especificado.
!igual Retornará true se o valor da cadeia de caracteres da métrica/propriedade não for igual à cadeia de caracteres especificada.
!contém Retornará true se o valor da cadeia de caracteres da métrica/propriedade não contiver a cadeia de caracteres especificada.
!startsWith Retornará true se o valor da cadeia de caracteres de métrica/propriedade não começar com o prefixo especificado.
!endsWith Retornará true se o valor da cadeia de caracteres de métrica/propriedade não terminar com o sufixo especificado.
Observação: Os operadores de cadeia de caracteres são válidos apenas na condição 'where'. Por exemplo: ${this, metric=summary|runtime|isIdle, where = "System Properties|resource_kind_type !contains GENERAL"}