vRealize Operations Managerには、スーパー メトリック数式で使用できる関数と演算子が用意されています。関数はループ関数またはシングル関数のいずれかです。

ループ関数

ループ関数は、複数の値で動作します。

表 1. ループ関数

関数

説明

avg

収集された値の平均値。

combine

単一のメトリック タイムラインに含まれるオブジェクトのメトリックのすべての値を結合します。

count

収集された値の数

max

収集された値の最大値。

収集された値の最小値。

sum

収集された値の合計値

注:

vRealize Operations Manager5.x には、2 つの合計関数 sum (expr) および sumN (expr, depth) が含まれます。vRealize Operations Manager6.x には、1 つの合計関数 sum (expr) が含まれます。Depth は、デフォルトでは depth=1 で設定されます。depth の設定については、スーパー メトリックの作成を参照してください。

ループ関数の引数

ループ関数は、オブジェクトまたはオブジェクト タイプの属性またはメトリック値を返します。属性は、オブジェクトから収集するアダプタのメトリックを記述するメタデータです。メトリックは属性のインスタンスです。引数構文は任意の結果を定義します。

たとえば、CPU 使用率は仮想マシン オブジェクトの属性です。仮想マシンが複数の CPU を備える場合、各 CPU の CPU 使用率がメトリック インスタンスになります。仮想マシンが 1 つの CPU を備えるばあい、属性またはメトリックの関数は同じ結果を返します。

表 2. ループ関数の形式

引数構文の例

説明

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

スーパー メトリックが割り当てられているオブジェクトの特定のメトリックの単一データ ポイントを返します。このスーパー メトリックはオブジェクトの子または親から値を取りません。

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

スーパー メトリックが割り当てられているオブジェクトの属性のデータ ポイントのセットを返します。このスーパー メトリックはオブジェクトの子または親から値を取りません。

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

引数で指定されている resname の特定のメトリックの単一データ ポイントを返します。このスーパー メトリックはオブジェクトの子または親から値を取りません。

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

データ ポイントのセットを返します。この関数は引数で指定されている resname の属性を繰り返し使用します。このスーパー メトリックはオブジェクトの子または親から値を取りません。

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

データ ポイントのセットを返します。この関数は引数で指定されている reskind のメトリックを繰り返し使用します。このスーパー メトリックは、子(depth > 0)または親(depth < 0)のオブジェクトから値を取ります。ここで、depth は関係チェーンにおけるオブジェクトの場所を記述します。

たとえば、典型的な関係チェーンには、データセンター、クラスタ、ホスト、仮想マシンが含まれ、データセンターが最上位になり、仮想マシンが最下位になります。スーパー メトリックがクラスタに割り当てられ、関数の定義に depth = 2 が含まれる場合、スーパー メトリックは仮想マシンから値を取ります。関数の定義に depth = -1 が含まれる場合、スーパー メトリックはデータセンターから値を取ります。

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

データ ポイントのセットを返します。この関数は引数で指定されている reskind の属性を繰り返し使用します。このスーパー メトリックはオブジェクトの子(depth > 0)または親(depth < 0)から値を取りません。

たとえば、avg(${adapterkind=VMWARE, resourcekind=VirtualMachine, attribute=cpu|usage_average, depth=1}) は、vCenter アダプタが検出したタイプ VirtualMachine のすべてのオブジェクトについて、cpu|usage_average 属性を持つすべてのメトリック インスタンスの平均を算出します。vRealize Operations Managerは、スーパー メトリックを割り当てたオブジェクト タイプの 1 レベル下位のオブジェクトを検索します。

シングル関数

シングル関数は、単一の値または単一の値ペアに対してのみ動作します。

表 3. シングル関数

関数

フォーマット

説明

abs

abs(x)

x の絶対値。x は任意の浮動小数です。

acos

acos(x)

x の逆余弦。

asin

asin(x)

x の逆正弦。

atan

atan(x)

x の逆正接。

ceil

ceil(x)

x 以上の最小の整数。

cos

cos(x)

x の余弦。

cosh

cosh(x)

x の双曲線余弦。

exp

exp(x)

e の x 乗。

floor

floor(x)

x 以下の最大の整数。

log

log(x)

x の自然対数(基数 x)。

log10

log10(x)

x の常用対数(基数 10)。

pow

pow(x,y)

x の y 乗。

rand

rand()

0.0 以上、1.0 未満の擬似ランダム浮動小数点数を生成します。

sin

sin(x)

x の正弦。

sinh

sinh(x)

x の双曲線正弦。

sqrt

sqrt(x)

x の平方根。

tan

tan(x)

x の正接。

tanh

tanh(x)

x の双曲線正接。

演算子

演算子は、関数を囲むか、関数の間に挿入する数学記号です。

表 4. 演算子

演算子

説明

+

加算

-

減算

*

乗算

/

除算

%

モジュロ

==

等しい

! =

等しくない

<

小さい

<=

小さいか等しい

>

大きい

>=

大きいか等しい

||

または

&&

および

!

Not

? :

3 項演算子。If/then/else

例:conditional_expression ? expression_if_condition_is_true : expression_if_condition_is_false

3 項演算子については、スーパー メトリックを拡張するを参照してください。

( )

括弧

[ ]

配列式で使用

[x, y, z]

x, y, z を含む配列。例、min([x, y, z])