- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
すべてのメトリクスクエリは本質的に集計されます。しかし、クエリの最後に .rollup()
関数を追加することで、デフォルトをオーバーライドしたカスタムの時間集計を行うことができます。この関数を使用すると、次のような定義を行うことができます。
<interval>
: データが集計される時間の間隔 (クエリで強制されるロールアップの間隔より大きい場合)。<aggregator>
: 指定されたロールアップの時間間隔の範囲におけるデータポイントの集計方法。注: Distribution メトリクスタイプには rollup の aggregator
はありません。このメトリクスタイプは時間と空間の両方で集計されます 詳細はパーセンタイル付きのディストリビューション向け rollup についてのドキュメントを参照してください。
この関数には <AGGREGATOR>
およびオプションの <INTERVAL>
という 2 つのパラメーターがあり、.rollup(<AGGREGATOR>,<INTERVAL>)
または .rollup(<AGGREGATOR>)
の形で使用されます。
パラメーター | 説明 |
---|---|
<AGGREGATOR> | avg 、sum 、min 、max 、または count を指定することができ、与えられた時間間隔でどのようにデータポイントを集計するかを定義することができます。強制されるデフォルト: avg 。 |
<INTERVAL> | 表示するデータポイント間の間隔(秒)。設定は任意。 |
この 2 つは別々に使用することも、あるいは .rollup(sum,120)
のように一度に使用することもできます。次の画像は、あるホストの 1 週間分の CPU 使用率を、.rollup()
関数を使わずに棒グラフで表示したものです。
次の棒グラフは、同じメトリクスを、.rollup(avg,86400)
を使用して 1 日ごとにロールアップしたものです。
関数 | 説明 | 例 |
---|---|---|
moving_rollup | ロールアップして最後の X 秒中のポイントを結合します。 | moving_rollup(<METRIC_NAME>, <INTERVAL> , <AGGREGATOR>) |
moving_rollup()
関数をクエリに適用することで、「最後の X 秒」など最も直近の特定の時間範囲にあるポイントを結合することができます。.rollup()
を使用した場合と同様、<AGGREGATOR>
には sum
/min
/max
/count
/avg
が入り、指定された時間間隔の中で収集されるデータポイントを定義します。
グラフ化する際、Datadog は 1 つのグラフのポイント数に制限を設けています。この制限を守るために、Datadog は avg
メソッドを使用してデータポイントを自動的にロールアップし、あるメトリクスの時間間隔内のすべてのデータポイントの平均値を効果的に表示します。このデフォルトの時間間隔は、データをどのように視覚化するかによって異なります。これらのデフォルトの時間間隔を参照するには、次のチャートを参照してください。
タイムフレーム | rollup 間隔 (線グラフ) | rollup 間隔 (棒グラフ) | rollup 間隔 (API) |
---|---|---|---|
過去 1 時間 | 20 秒 | 1 分 | 20 秒 |
過去 4 時間 | 1 分 | 2 分 | 1 分 |
過去 1 日 | 5 分 | 20 分 | 5分 |
過去 2 日 | 10 分 | 30 分 | 10 分 |
過去 1 週間 | 1 時間 | 2 時間 | 1 時間 |
先月 | 2 時間 | 12 時間 | 4 時間 |
.rollup()
関数を作成して使用すると、時間集計のタイプ (avg
、min
、max
、count
、sum
) と rollup の時間間隔を指定できます。しかし、カスタム .rollup()
関数を適用することで Datadog の制限を超えて時間間隔が短くなる場合、時間集計のタイプは rollup 関数で指定したものが使われますが、時間間隔については Datadog による制限の方が優先されます。たとえば、1 か月分のメトリクスを .rollup(20)
を使用してリクエストすると、決められたポイント数以上のデータを返さないようにするため、20 秒よりも長い rollup 間隔でデータが戻されます。
注: COUNT
と RATE
のタイプのメトリクスは、自動的に .as_count()
のモディファイアー付きで画面に表示されます。これにより、sum
を設定したロールアップ関数が実行され、補間が無効になります。この .as_count()
はクエリの末尾に明示的に表示されます。
.as_count()
と .as_rate()
の使用方法について詳しくは、ブログ記事 StatsD メトリクスの視覚化を参照してください。また、これらの関数の影響について詳しくは、アプリ内モディファイアーに関するドキュメントを参照してください。
通常は、モニタークエリでロールアップを使用することは避けるべきです。ロールアップ間隔とモニターの評価期間の整合性が取れなくなる可能性があるためです。ロールアップ間隔は、モニタークエリの開始や終了の時間ではなく、UNIX 時間に合わせて開始および終了します。そのため、ロールアップ間隔が短くなり、少量のサンプルデータだけでモニターが評価を行う(そしてトリガーする)可能性があります。これを避けるために、(少なくとも)設定されたロールアップの間隔だけモニターの評価を遅らせる必要があります。
Consult the other available functions: