vRealize Operations Manager では、句やリソース エントリ エイリアスを使用して、スーパー メトリックを拡張することができます。

where 句

where 句は、スーパー メトリックに特定のメトリック値を使用するべきかをチェックします。この句を使用して、where = "metric_group|my_metric > 0 のように、同じオブジェクトの異なるメトリックを参照できます。

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

リソース エントリ エイリアス

リソース エントリは、スーパー メトリックの計算で、vRealize Operations Manager からメトリック データを取得するために使用します。リソース エントリを含む式は、$ で始まり、その後に {..} ブロック が続きます。スーパー メトリックの計算では、同じリソース エントリが複数回必要になる場合があります。計算の変更が必要な場合は、それぞれすべてのリソース エントリに変更を加える必要があり、エラーが起きる可能性があります。式を書き直すには、リソース エントリ エイリアスを使用してください。

次の例では、リソース エントリを 2 回使用しています。

(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)"

リソース エントリ エイリアスを使用することで、式は次のように記述できます。ともに式の出力は同じです。

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

リソース エントリ エイリアスを使用するときは、次のガイドラインに従ってください。

  • エイリアスを作成するため、リソース エントリに asalias:name を続けます。例、${…} as alias_name

  • エイリアスには、()[]+-*/%|&! =<>,.? :$ の特殊文字を含めることはできず、数字で始めることはできません。

  • エイリアスの名前は、スーパー メトリック式のすべての名前と同じように、大文字と小文字を区別します。

  • エイリアス名の使用はオプションです。定義したエイリアスは、式で使わなくてもかまいません。

  • 同じエイリアス名を複数指定することはできません。例、 ${resource1,…} as r1 + ${resource2,…} as R1

  • 同じリソース エントリに複数のエイリアスを指定できます。例、${…} as a1 as a2.

条件式 ?: の 3 項演算子

式で 3 項演算子を使用して、条件式を実行することができます。

例、expression_condition ? expression_if_true : expression_if_false

条件式の結果は、数に変換されます。値が 0 以外の場合、条件は true とみなされます。

例:-0.7 ? 10 : 20 の結果は 10 です。2 + 2 / 2 - 3 ? 4 + 5 / 6 : 7 + 8 の結果は 15 (7 + 8) です。

条件に応じて、expression_if_true または expression_if_false が実行されますが、両方は実行されません。このため、次のような式を作成できます。${this, metric=cpu|demandmhz} as a ! = 0 ? 1/a : -13 項演算子では、他の 3 項演算子を含め、他の演算子をすべての式に含めることができます。

例、! 1 ? 2 ? 3 : 4 : 5 の結果は 5 です。