vRealize Operations enthält Funktionen und Operatoren, die Sie in Supermetrik-Formeln verwenden können. Bei diesen Funktionen handelt es sich entweder um Schleifenfunktionen oder um einzelne Funktionen.

Schleifenfunktionen

Schleifenfunktionen wirken sich auf mehr als einen Wert aus.
Tabelle 1. Schleifenfunktionen
Funktion Beschreibung
avg Durchschnitt der erfassten Werte.
combine Fasst alle Werte der Metriken der enthaltenen Objekte in einer einzige Metrik-Zeitachse zusammen.
count Anzahl der erfassten Werte.
max Maximalwert der erfassten Werte.
min Mindestwert der erfassten Werte.
sum Gesamtsumme der erfassten Werte.
Hinweis: vRealize Operations Manager 5.x enthält zwei Summenfunktionen: sum (expr) und sumN (expr, depth). vRealize Operations Manager 6.x enthält eine Summenfunktion: sum (expr). Die Tiefe ist standardmäßig auf depth=1 festgelegt. Weitere Informationen zum Festlegen der Tiefe finden Sie unter Erstellen einer Supermetrik.

Argumente der Schleifenfunktion

Die Schleifenfunktion gibt einen Attribut- oder Metrikwert für ein Objekt oder einen Objekttyp zurück. Ein Attribut besteht aus Metadaten, die die Metrik für den Adapter zum Erfassen von Daten aus dem Objekt beschreibt. Eine Metrik ist eine Instanz eines Attributs. Die Argumentsyntax definiert das gewünschte Ergebnis.

Beispiel: Die CPU-Auslastung ist ein Attribut eines Objekts der virtuellen Maschine. Wenn eine virtuelle Maschine über mehrere CPUs verfügt, stellt die CPU-Auslastung für jede CPU eine Metrikinstanz dar. Wenn eine virtuelle Maschine über eine CPU verfügt, gibt die Funktion für das Attribut oder die Metrik dasselbe Ergebnis zurück.

Tabelle 2. Format der Schleifenfunktionen
Argumentsyntax – Beispiel Beschreibung
funct(${this, metric =a|b:optional_instance|c}) Gibt einen einzelnen Datenpunkt einer bestimmten Metrik für das Objekt zurück, dem die Super-Metrik zugewiesen ist. Die Super-Metrik übernimmt keine Werte von den unter- oder übergeordneten Elementen des Objekts.
funct(${this, attribute=a|b:optional_instance|c}) Gibt einen Satz an Datenpunkten für Attribute des Objekts zurück, dem die Super-Metrik zugewiesen ist. Die Super-Metrik übernimmt keine Werte von den unter- oder übergeordneten Elementen des Objekts.
funct(${adaptertype=adaptkind, objecttype=reskind, resourcename=resname, identifiers={id1=val1id2=val2,…}, metric=a|b:instance|c}) Gibt einen einzelnen Datenpunkt einer bestimmten Metrik für den im Argument angegebenen Befehl resname zurück. Die Super-Metrik übernimmt keine Werte von den unter- oder übergeordneten Elementen des Objekts.
funct(${adaptertype=adaptkind, objecttype=reskind, resourcename=resname, identifiers={id1=val1, id2=val2,…}, attribute=a|b:optional_instance|c}) Gibt einen Satz an Datenpunkten zurück. Diese Funktion durchläuft Attribute des im Argument angegebenen Befehls resname. Die Super-Metrik übernimmt keine Werte von den unter- oder übergeordneten Elementen des Objekts.
funct(${adaptertype=adaptkind, objecttype=reskind, depth=dep}, metric=a|b:optional_instance|c}) Gibt einen Satz an Datenpunkten zurück. Diese Funktion durchläuft Metriken des im Argument angegebenen Befehls reskind. Diese Super-Metrik verwendet Werte aus den untergeordneten (depth > 0) oder übergeordneten (depth < 0) Objekten, wobeidepth den Speicherort der Objekte in der Beziehungskette beschreibt.

Eine typische Beziehungskette enthält beispielsweise ein Datencenter, einen Cluster, einen Host und virtuelle Maschinen. Das Datencenter steht an der Spitze der Kette, die virtuellen Maschinen befinden sich am unteren Ende. Wenn die Super-Metrik dem Cluster zugeordnet ist und die Funktionsdefinition eine Tiefe (depth) von 2 aufweist, verwendet die Super-Metrik die Werte von den virtuellen Maschinen. Wenn die Funktion eine Tiefe (depth) von 1 aufweist, verwendet die Super-Metrik Werte aus dem Datencenter.

funct(${adaptertype=adaptkind, objecttype=reskind, depth=dep}, attribute=a|b:optional_instance|c}) Gibt einen Satz an Datenpunkten zurück. Diese Funktion durchläuft Attribute des im Argument angegebenen Befehls reskind. Diese Super-Metrik verwendet Werte aus den untergeordneten (depth > 0) oder übergeordneten (depth < 0) Objekten.

Beispiel: avg(${adaptertype=VMWARE, objecttype=VirtualMachine, attribute=cpu|usage_average, depth=1}) berechnet den durchschnittlichen Wert von allen Metrikinstanzen mit dem cpu|usage_average-Attribut für alle Objekte des Typs VirtualMachine, die der vCenter-Adapter findet. vRealize Operations sucht nach Objekten eine Ebene unter dem Objekttyp, dem Sie die Supermetrik zugeordnet haben.

Einzelne Funktionen

Einzelne Funktionen wirken sich nur auf einen einzigen Wert oder ein einziges Wertepaar aus.

Tabelle 3. Einzelne Funktionen
Funktion Formatieren Beschreibung
abs abs(x) Absolutwert von x. x kann jede Gleitkommazahl sein.
acos acos(x) Arkuskosinus von x.
asin asin(x) Arkussinus von x.
atan atan(x) Arkustangens von x.
ceil ceil(x) Die kleinste Ganzzahl, die größer gleich x ist.
cos cos(x) Kosinus von x.
cosh cosh(x) Kosinus hyperbolicus von x.
exp exp(x) e hoch x.
floor floor(x) Die höchste Ganzzahl, die kleiner gleich x ist.
log log(x) Natürlicher Logarithmus (Basis x) von x.
log10 log10(x) Zehnerlogarithmus (Basis 10) von x.
pow pow(x,y) x hoch y.
rand rand() Generiert eine nach dem Zufallsprinzip ausgewählte Pseudo-Gleitkommazahl größer oder gleich 0,0 und kleiner als 1,0.
sin sin(x) Sinus von x.
sinh sinh(x) Sinus hyperbolicus von x.
sqrt sqrt(x) Quadratwurzel von x.
tan tan(x) Tangente von x.
tanh tanh(x) Tangens hyperbolicus von x.

Operatoren

Operatoren sind mathematische Symbole und Text zum Umschließen oder zum Einfügen zwischen Funktionen.

Tabelle 4. Numerische Operatoren
Operatoren Beschreibung
+ Plus
- Subtrahieren
* Multiplizieren
/ Dividieren
% Modulo
== Gleich
!= Ungleich
< Kleiner als
<= Kleiner als oder gleich
> Größer als
>= Größer als oder gleich
|| Oder
&& Und
! Nicht
? : Dreifach-Operator. Wenn/dann/sonst

Beispiel: konditionaler_Ausdruck ? Ausdruck_wenn_Bedingung_ist_wahr : Ausdruck_wenn_Bedingung_ist_falsch

Weitere Informationen zu Dreifach-Operatoren finden Sie unter Super-Metriken verbessern.

( ) Runde Klammern
[ ] Array an Ausdrücken benutzen
[x, y, z] Ein Array, das x, y, z enthält. Zum Beispiel: min([x, y, z])
Tabelle 5. Zeichenfolgenoperatoren
Zeichenfolgenoperatoren Beschreibung
equals Gibt „true“ zurück, wenn Zeichenfolgenwert einer Metrik/Eigenschaft gleich der angegebenen Zeichenfolge ist.
contains Gibt „true“ zurück, wenn Zeichenfolgenwert einer Metrik/Eigenschaft die angegebene Zeichenfolge enthält.
startsWith Gibt „true“ zurück, wenn Zeichenfolgenwert einer Metrik/Eigenschaft mit dem angegebenen Präfix beginnt.
endsWith Gibt „true“ zurück, wenn Zeichenfolgenwert einer Metrik/Eigenschaft mit dem angegebenen Suffix endet.
!equals Gibt „true“ zurück, wenn Zeichenfolgenwert einer Metrik/Eigenschaft ungleich der angegebenen Zeichenfolge ist.
!contains Gibt „true“ zurück, wenn Zeichenfolgenwert einer Metrik/Eigenschaft die angegebene Zeichenfolge nicht enthält.
!startsWith Gibt „true“ zurück, wenn Zeichenfolgenwert einer Metrik/Eigenschaft nicht mit dem angegebenen Präfix beginnt.
!endsWith Gibt „true“ zurück, wenn Zeichenfolgenwert einer Metrik/Eigenschaft nicht mit dem angegebenen Suffix endet.
Hinweis: Zeichenfolgenoperatoren sind nur in „where“-Bedingungen gültig. Beispiel: ${this, metric=summary|runtime|isIdle, where = "Systemeigenschaften|resource_kind_type !contains ALLGEMEIN"}