補間
Dash が新機能を発表!インシデントマネジメント、Continuous Profiler など多数の機能が追加されました! Dash イベントで発表された新機能!

補間

フィル

関数説明
fill()メトリクスに欠落しているメトリクス値を補間します。<METRIC_NAME>{*}.fill(<METHOD>, <LIMIT>)

fill() 関数は 2 つのパラメーターを持ちます。

  • METHOD: 補間方法として使用する関数。以下から選択します。

    • linear: ギャップの最初から最後までを線形補間します。
    • last: ギャップの最後の値でギャップを埋めます。
    • zero: ゼロ値でギャップを埋めます。
    • null: 補間を無効にします。
  • LIMIT [任意デフォルト=300最大=600]: 補間するギャップの最大サイズを表す補間制限 (秒単位)。

デフォルトゼロ

関数説明
default_zero()疎なメトリクスにデフォルト値を追加します。default_zero(system.load.1{*})

default_zero() 関数は、値 0 を使用して空の間隔を埋めます。補間が有効の場合は、補間を使用します。GAUGE タイプのメトリクスには、デフォルトで補間が有効になっています。大部分の関数と同様、default_zero()時間集計と空間集計に評価されます。

使用例

default_zero() 関数は、次のような使用例に対応します (使用例は他にもあります)。

  • 疎なメトリクスに対して算術演算を行う際にゲージを 0 に揃える (注: as_count() または as_rate() としてクエリされる COUNT または RATE タイプのメトリクスは、常に 0 に揃えられます。したがって、default_zero() を使用しても揃え方に変更はありません。これは GAUGE タイプのメトリクスにのみ影響します)。
  • モニターのデータなし状態を解消する。これは、単純なアラートとマルチアラートの両方で機能しますが、値 0 によってモニターがトリガーされてはなりません。たとえば、avg(last_10m):avg:system.cpu.idle{*} < 10 というクエリを使用したモニターでは正しく機能しません。値が 0 と評価されると、このモニターが (解消ではなく) トリガーされるためです。as_count() クエリを使用したエラー率モニターにはこの関数を使用しないでください (詳細についてはこちらの記事を参照)。
  • (空ではないが) 疎な系列内の空の間隔を埋める。これには、視覚的な理由またはモニター評価で時系列の最小/最大/平均を調整する目的があります。
  • クエリ値ウィジェットで、データがない場合に値 0 を表示する。

default_zero() 関数の具体的な動作を示すために、以下のような DogStatsD を使用したカスタムメトリクスに対して単一のポイントが作成されるとします。

$ echo -n "custom_metric:1|g" | nc -4u -w0 127.0.0.1 8125

このメトリクスを過去 30 分間クエリすると、タイムスタンプは 1 つです。クエリのロールアップ間隔のうち、1 つにしかポイントがないためです。

avg:custom_metric{*}

+---------------------+---------------+
| Timestamp           | custom_metric |
+---------------------+---------------+
| ---------           | ---------     |
| 2019-04-17 17:45:00 | 1             |
+---------------------+---------------+

default_zero() 関数は、このポイントを前方に 5 分間 (ゲージの補間制限のデフォルト値) 補間してから、残りの空の間隔を 0 で埋めます。

default_zero(avg:custom_metric{*})

+---------------------+-----------------------------+
| Timestamp           | default_zero(custom_metric) |
+---------------------+-----------------------------+
| ---------           | ---------                   |
| 2019-04-17 17:30:00 | 0                           |
| 2019-04-17 17:31:00 | 0                           |
...
| 2019-04-17 17:44:00 | 0                           |
| 2019-04-17 17:45:00 | 1                           |
| 2019-04-17 17:46:00 | 1                           |
| 2019-04-17 17:47:00 | 1                           |
| 2019-04-17 17:48:00 | 1                           |
| 2019-04-17 17:49:00 | 1                           |
| 2019-04-17 17:50:00 | 1                           |
| 2019-04-17 17:51:00 | 0                           |
| 2019-04-17 17:52:00 | 0                           |
...
+---------------------+-----------------------------+

その他の関数