Puede mejorar las supermétricas mediante el uso de alias de entrada de recursos y cláusulas.

La cláusula Where

La cláusula where comprueba si se puede utilizar un valor de métrica determinado en la supermétrica. Utilice esta cláusula para señalar otra métrica del mismo objeto como, por ejemplo, where = "metric_group|my_metric > 0..

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

Alias de entrada de recursos

Las entradas de recursos se utilizan para recuperar datos de métricas de vRealize Operations Manager para el cálculo de supermétricas. Una entrada de recurso es la parte de una expresión que comienza por $ seguida de un bloque {..}. Al calcular una supermétrica, es posible que tenga que utilizar la misma entrada de recurso varias veces. Si tiene que cambiar los cálculos, debe cambiar cada entrada de recurso, lo que podría conducir a errores. Puede usar los alias de entrada de recurso para reescribir la expresión.

El ejemplo siguiente muestra una entrada de recurso que se ha utilizado dos veces.

(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 el ejemplo siguiente se muestra cómo escribir la expresión mediante alias de entrada de recurso. El resultado de ambas expresiones es el mismo.

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

Siga estas instrucciones al utilizar alias de entrada de recursos:

  • Cuando cree un alias, debe escribir as después de la entrada de recurso y, a continuación, alias:name. Por ejemplo: ${…} as alias_name.

  • El alias no puede contener los caracteres especiales ()[]+-*/%|&!=<>,.?:$ y no puede comenzar por un dígito.

  • Un nombre de alias, como todos los nombres de las expresiones de supermétrica, distingue entre mayúsculas y minúsculas.

  • El uso de un nombre de alias es opcional. Puede definir el alias y no utilizarlo en una expresión.

  • Cada nombre de alias solo puede utilizarse una vez. Por ejemplo: ${resource1,…} as r1 + ${resource2,…} as R1.

  • Puede especificar varios alias para la misma entrada de recurso. Por ejemplo: ${…} as a1 as a2.

Operadores ternarios de expresión condicional ?:

Puede utilizar un operador ternario en una expresión para ejecutar expresiones condicionales.

Por ejemplo: expression_condition ? expression_if_true : expression_if_false.

El resultado de la expresión condicional se convierte en un número. Si el valor no es 0, entonces se asume que la condición es verdadera.

Por ejemplo: -0,7 ? 10 : 20 es igual a 10. 2 + 2 / 2 - 3 ? 4 + 5 / 6 : 7 + 8 es igual a 15 (7 + 8).

En función de la condición, se ejecuta expression_if_true o expression_if_false, pero no ambas. De este modo, puede escribir expresiones como, por ejemplo, ${this, metric=cpu|demandmhz} as a != 0 ? 1/a : -1. Un operador ternario puede contener otros operadores en todas sus expresiones, incluidos otros operadores ternarios.

Por ejemplo: !1 ? 2 ? 3 : 4 : 5 es igual a 5.