Data Streams Monitoring は、AP1 リージョンではサポートされていません。

前提条件

Data Streams Monitoring を開始するには、Datadog Agent と Python ライブラリの最新バージョンが必要です。

インストール

Python は自動インスツルメンテーションを使用して、Data Streams Monitoring がエンドツーエンドのレイテンシーやキューとサービス間の関係を測定するために必要な追加のメタデータを挿入し抽出します。Data Streams Monitoring を有効にするには、Kafka にメッセージを送信する (またはメッセージを消費する) サービス上で DD_DATA_STREAMS_ENABLED 環境変数を true に設定します。

例:

environment:
  - DD_DATA_STREAMS_ENABLED: "true"

サポートされるライブラリ

Data Streams Monitoring は、confluent-kafka ライブラリkombu パッケージをサポートしています。

SQS パイプラインの監視

Data Streams Monitoring は、SQS キューを通るメッセージのパスを追跡するために 1 つのメッセージ属性を使用します。Amazon SQS にはメッセージごとに許可されるメッセージ属性が最大 10 個という制限があるため、すべてのメッセージをデータパイプラインを通じてストリーミングする際には、設定するメッセージ属性を 9 個以下にして、残りの 1 つの属性を Data Streams Monitoring のために残しておく必要があります。

Kinesis パイプラインの監視

Kinesis にはメッセージ属性がないため、コンテキストを伝播してメッセージが Kinesis ストリームを通る完全なパスを追跡することができません。その結果、Data Streams Monitoring のエンドツーエンドのレイテンシーメトリクスは、メッセージのパス上のセグメントごとのレイテンシー (プロデューサーサービスから Kinesis ストリームを経由し、コンシューマーサービスに至るまでのレイテンシー) を合計して近似されます。スループットメトリクスも、プロデューサーサービスから Kinesis ストリームを経てコンシューマーサービスに至るまでのセグメントに基づいています。それでも、サービスにインスツルメンテーションを施すことで、データストリームの完全なトポロジーを視覚化することが可能です。

その他の参考資料