metrics operator
以下の表では、メトリクスでサポートされている operator と、各 operator タイプを含むクエリの例を示します。
operator | 説明と構文 | 例 |
---|---|---|
accum |
行内の各時系列データを現在までの合計に変換します。各時系列における現在までの合計は、時系列内の最初のデータ ポイント値から始まり、次に続く値が反復的に加算されます。 たとえば RequestCount が以下の場合{ 2, 0, 4, 3, 0, 0 } RequestCount | accum は以下のようになります。{ 2, 2, 6, 9, 9, 9 } |
RequestCount | accum |
|
生成された時系列データすべての平均を計算します。グループ化が指定されると、各グループの平均が計算されます。avg [by FIELD [, FIELD, ...]] |
dep=prod metric=cpu_system | avg |
along |
メトリクス クエリの結合時に使用する場合、Sumo は 1 つ以上のメトリクス フィールドによる総和式を評価します。 #A + #B along [FIELD (,FIELD, ...]] |
以下のような結合メトリクス クエリがあるとします。metric=CPU_User _sourceHost=cqsplitter-* along operator により、_sourceHost 値が一致する時系列に対して総和が実行されます。 |
bottomk |
クエリ時間範囲にわたって評価される数式の値でソートされる、特定の下位時系列を選択します。bottomk (number, aggregator) サポートされている集計関数: min 、max 、avg 、count 、sum 、pct(n) 、latest |
最も高い最大値を持つ、下位 5 つの時系列を取得します。dep=prod metric=cpu_system | bottomk (5, max) |
count |
クエリに一致する時系列の合計数をカウントします。グループ化が指定されると、各グループの合計数がカウントされます。count [by FIELD [, FIELD, ...]] |
dep=prod | count |
delta |
時系列のデータ ポイントごとに後退差分を算出し、時系列での最終値からメトリクスがどの程度変更になったかを判断します。 この operator は、メトリクス タグの値が割り当てられ delta($metric) になります。 |
metric=Net_InBytes Interface=eth0 | delta |
eval |
ユーザが指定した数式に基づいて、時系列を評価します。metrics query | eval <math expression> math expression は、時系列内の各データ ポイントのプレースホルダとして _value を持つ有効な数式です。サポートされている基本の演算: +, -, *, / サポートされている数学関数: sin, cos, abs, log, round, ceil, floor, tan, exp, sqrt, min, max |
_sourceCategory=ApacheHttpServer metrics=request_per_sec | rate | eval max(_value, 0) _sourceCategory=ApacheHttpServer metrics=cpu_idle | eval _value * 100 |
filter |
一部の集計数量にブール テストを適用して、返される時系列の数を削減できるように、クエリをフィルターします。filter <aggregator> <boolean operator> <numerical value> サポートされている集計関数: min 、max 、avg 、count、sum 、pct(n) 、latest max を集計関数として filter に使用する場合は、右側の「例」の列にある 2 番目の例で示すように、上限を設定する必要があります。 |
クエリが実行される時間範囲での平均が 80% を超える CPU メトリクスのみを表示します。cpu | filter avg > 80 最小が 20% を超え、最大が 50% より小さい CPU メトリクスのみを表示します。 cpu | filter min > 20 and max < 50 |
|
クエリに一致する時系列の最大値を計算します。グループ化が指定されると、各グループの最大値が計算されるmax [by FIELD [, FIELD, ...]] |
dep=prod metric=cpu_system | max |
min |
クエリに一致する時系列の最小値を計算します。グループ化が指定されると、各グループの最小値が計算されます。min [by FIELD [, FIELD, ...]] |
dep=prod metric=cpu_system | min |
parse |
所定のフィールドを parse し、メトリクス クエリで使用する新しいフィールドを作成します。Graphite メトリクスを parse する際にフィールドが指定されない場合、メトリクス名が使用されます。 パターン内の各ワイルドカードは、指定されたフィールドに対応します。parse operator は、最短一致と最長一致の両方のワイルドカードをサポートします。最長一致の場合は '*' を使用し、最長一致の場合は '**' を使用します。 parse [field=FIELD] PATTERN as FIELD [, FIELD, ...] |
dep=prod | parse *-search-* as deployment, instance |
pct |
クエリに一致するメトリクスの指定のパーセンタイルを計算します。グループ化が指定されると、各グループの指定のパーセンタイルが計算されます。pct(DOUBLE) [by FIELD [, FIELD, ...]] |
dep=prod metric=cpu_system | pct(95) |
quantize |
期間別に時系列データを分離します。これにより、固定間隔 (5 分間隔など) のバケットで集計結果を作成できる。quantize to INTERVAL [using ROLLUP] ROLLUP は avg 、min 、max 、sum 、または count になります。量子化の詳細については、「メトリクスの量子化」を参照してください。 |
_sourceCategory=hostmetrics | quantize to 5m |
rate |
時系列内の各時間の前方差分に基づいてレートを計算します。時系列内の現在記録されている値と次回記録される値の差異は、毎秒の値にスケールされます。 この operator は metric タグの値が割り当てられて rate($metric) になり、unit メタデータ フィールドの値が割り当てられて $unit/second になります。rate |
metric=Net_InBytes Interface=eth0 | rate |
sum |
クエリに一致するメトリクス値の合計を計算します。グループ化が指定されると、各グループの合計が計算されます。sum [by FIELD [, FIELD, ...]] |
dep=prod metric=cpu_system | sum |
timeshift |
指定された時間に基づいて、メトリクス クエリから時系列をシフトします。これは、複数期間の時系列を比較する際に役立ちます。timeshift TIME_INTERVAL |
cluster=search metric=cpu_idle | timeshift 5h |
topk |
クエリ時間範囲にわたって評価される数式の値でソートされる、特定の上位時系列を選択します。topk (number, aggregator) サポートされている集計関数: min, max, avg, count, sum, pct(n), latest |
最も高い最大値を持つ、上位 10 の時系列を取得します。metric=cpu_system | topk (10, max) それに対して計算 (最大/平均 *2) を実行して、各時系列を削減します。この削減された値でソートして、上位 10 の値を取得します。 metric=cpu_system |topk (10, max /avg * 2) |