Datadog メトリクスにおける Prometheus メトリクスのマッピング

概要

このページでは、Prometheus や OpenMetrics のチェックメトリクスが、既存の Datadog のメトリクスタイプにどのようにマッピングされるかを説明します。

Prometheus および OpenMetrics メトリクスのタイプ

  • counter: 単調に増加するカウンターで表される、累積的なメトリクス。値は増加するか、0 にリセットされるかのどちらかとなります。
  • gauge: 無作為に増減する単一の数値を表すメトリクス。
  • histogram: 観察結果のサンプルを抽出し、構成可能なバケットの中でカウントします。また、観察されたすべての値の合計を提示します。
  • summary: histogram と同様に観察結果のサンプルを抽出し、観察されたすべての値の合計を提示します。また、スライド式のタイムウィンドウの中で構成可能な量を計算します。

Datadog メトリクスにおける Prometheus/OpenMetrics メトリクスのマッピング方法

詳細は、OpenMetrics メトリクスタイプおよび Datadog メトリクスタイプを参照してください。

メトリクスタイプOpenMetricsDatadog
カウンターcountercount
ゲージgaugegauge
ヒストグラム_count_sum_bucketヒストグラムの _count_sum、および _bucket の各値はそれぞれ Datadog の count 型にマッピングされ、それぞれの名前に .count.sum、および .bucket というサフィックスが含まれます。
サマリー_count_sum_created_count_sum の値は Datadog の count 型にマップされ、それぞれ .count.sum というサフィックスが名前に含まれます。分位数サンプルは .quantile というサフィックスを持つ gauge 型のメトリクスにマッピングされます。

Histogram

Prometheus/OpenMetrics histogram の場合、ヒストグラムの _count_sum_bucket 値はそれぞれ Datadog の count 型にマッピングされ、名前にはそれぞれ .count.sum.bucket というサフィックスが含まれます。

パラメーター histogram_buckets_as_distributionstrue の場合、_bucket サンプルは Datadog の distribution に集計されます。Datadog のディストリビューションメトリクスDDSketch アルゴリズムに基づいており、分位数などのより高度な統計的集計が可能です。詳細は、Datadog エンジニアリングブログの OpenMetrics とディストリビューションメトリクスに関する投稿を参照してください。

collect_counters_with_distributions を使うと、 _count_sum の値を count としてディストリビューションと一緒に送ることができます。

サマリー

Prometheus/OpenMetrics summary の場合、_count_sum の値は Datadog の count 型にマップされ、それぞれ .count.sum というサフィックスが名前に含まれます。分位数サンプルは .quantile というサフィックスを持つ gauge 型のメトリクスにマッピングされます。

Counter

デフォルトでは、Prometheus/OpenMetrics counter は Datadog の count にマッピングされます。

ただし、パラメーター send_monotonic_counterfalse の場合、このメトリクスは gauge として送信されます。

Gauge

Prometheus/OpenMetrics の gauge は Datadog の gauge にマッピングされます。

Histogram

Prometheus/OpenMetrics histogram の場合、ヒストグラムの _count_sum 値はそれぞれ Datadog の gauge 型にマッピングされ、名前にはそれぞれ .count.sum というサフィックスが含まれます。

send_histograms_buckets パラメーターが true の場合、_bucket サンプルが .bucket サフィックス付きで Datadog に送信され、デフォルトで Datadog の gauge にマッピングされます。

send_distribution_counts_as_monotonic パラメーターを true に設定すると、代わりに _count_bucket メトリクスを count 型として送信します。send_distribution_sums_as_monotonic を設定すると、_sum メトリクスも同じようになります。

パラメーター send_distribution_bucketstrue の場合、_bucket サンプルは Datadog の distribution に集計されます。Datadog のディストリビューションメトリクスDDSketch アルゴリズムに基づいており、分位数などのより高度な統計的集計が可能です。詳細は、Datadog エンジニアリングブログの OpenMetrics とディストリビューションメトリクスに関する投稿を参照してください。

サマリー

Prometheus/OpenMetrics summary の場合、デフォルトで _count_sum の値は Datadog の gauge 型にマップされ、それぞれ .count.sum というサフィックスが名前に含まれます。分位数サンプルは .quantile というサフィックスを持つ gauge 型のメトリクスにマッピングされます。

send_distribution_counts_as_monotonic パラメーターを true に設定すると、代わりに _count_sum メトリクスを count 型として送信します。send_distribution_sums_as_monotonic を設定すると、_sum メトリクスも同じようになります。

すべての count メトリクスは、Agent によって単調カウントとして処理されます。つまり、Agent は連続する生の値の差を実際に送信します。詳細については、メトリクス送信: カスタム Agent チェックを参照してください。

その他の参考資料

PREVIEWING: may/unit-testing