Prometheus (レガシー)

Supported OS Linux Windows Mac OS

インテグレーションバージョン3.5.1

概要

Prometheus に接続して:

  • Prometheus エンドポイントからカスタムメトリクスを抽出します
  • Datadog イベントストリームで Prometheus Alertmanager アラートを確認します

: OpenMetrics チェックの方が効率性が高く Prometheus のテキスト形式を完全にサポートしているので、OpenMetrics チェックの使用をお勧めします。Prometheus チェックは、メトリクスのエンドポイントがテキスト形式をサポートしていない場合にのみ使用してください。

このインテグレーションによって取得されたメトリクスはすべて、カスタムメトリクスと見なされます。

Prometheus チェックを構成する方法については、Prometheus メトリクスの収集のガイドを参照してください。

セットアップ

ホストで実行されている Agent 用にこのチェックをインストールおよび構成する場合は、以下の手順に従ってください。コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照してこの手順を行ってください。

インストール

Prometheus チェックは、Datadog Agent のバージョン 6.1.0 以降にパッケージ化されています。

コンフィギュレーション

prometheus.d/conf.yaml ファイルを編集して、OpenMetrics/Prometheus エンドポイントを公開するアプリケーションからメトリクスを取得します。

各インスタンスは、少なくとも以下で構成されます。

設定説明
prometheus_urlメトリクスルートをポイントする URL (: 一意である必要があります)
namespaceこのネームスペースがすべてのメトリクスの前に付加されます (メトリクス名の競合を避けるため)
metricsカスタムメトリクスとして取得するメトリクスのリスト。- <METRIC_NAME> または - <METRIC_NAME>: <RENAME_METRIC> の形式

メトリクスをリストする際は、- <METRIC_NAME>* のようにワイルドカード * を使用して、一致するすべてのメトリクスを取得できます。注: 大量のカスタムメトリクスが送信される可能性があるため、ワイルドカードの使用には注意が必要です。

より高度な設定 (ssl、labels joining、custom tags など) がサンプル prometheus.d/conf.yaml に記載されています

このインテグレーションは性格上、極めて多くのカスタムメトリクスが Datadog に送信される可能性があります。ユーザーは、構成の誤りや入力の変化があった場合に送信されるメトリクスの最大数を制御できます。このチェックには 2000 メトリクスというデフォルトの制限があります。必要な場合は、prometheus.d/conf.yaml ファイルで max_returned_metrics オプションを設定することで、この制限を増やすことができます。

send_monotonic_counter: True の場合、Agent は、それらの値の差分を送信し、アプリ内タイプはカウントに設定されます (これはデフォルトの動作です)。send_monotonic_counter: False の場合、Agent は、単調増加する値をそのまま送信し、アプリ内タイプはゲージに設定されます。

検証

Agent の status サブコマンドを実行し、Checks セクションで prometheus を探します。

収集データ

メトリクス

Prometheus チェックによって収集されたメトリクスはすべて、カスタムメトリクスとして Datadog に転送されます。

注: 指定された <HISTOGRAM_METRIC_NAME> Prometheus ヒストグラムのバケットデータは、バケットの名前を含む upper_bound タグを付けて Datadog 内の <HISTOGRAM_METRIC_NAME>.count メトリクスに格納されます。+Inf バケットにアクセスするには、upper_bound:none を使用します。

イベント

Prometheus Alertmanager アラートは、Webhook コンフィギュレーションに従って、Datadog イベントストリームに自動的に送信されます。

サービスのチェック

Prometheus チェックには、サービスのチェック機能は含まれません。

Prometheus Alertmanager

Prometheus Alertmanager のアラートをイベントストリームで送信します。ネイティブでは、Alertmanager は構成された Webhook にすべてのアラートを同時に送信します。Datadog でアラートを見るには、Alertmanager のインスタンスがアラートを 1 つずつ送信するように構成する必要があります。route の下に group-by パラメーターを追加して、アラートルールの実際の名前でアラートをグループ化させることができます。

セットアップ

  1. Alertmanager コンフィギュレーションファイル alertmanager.yml を編集して、以下を含めます。
receivers:
- name: datadog
  webhook_configs: 
  - send_resolved: true
    url: https://app.datadoghq.com/intake/webhook/prometheus?api_key=<DATADOG_API_KEY>
route:
  group_by: ['alertname']
  group_wait: 10s
  group_interval: 5m
  receiver: datadog
  repeat_interval: 3h

: このエンドポイントは、一度にペイロード内の 1 つのイベントのみを受け入れます。

  1. Prometheus および Alertmanager サービスを再起動します。
sudo systemctl restart prometheus.service alertmanager.service

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。

その他の参考資料