Data Streams Monitoring

This product is not supported for your selected Datadog site. ().
DatadogのData Streams Monitoringページ(マップビューを表示)。「authenticator」というサービスをハイライト表示します左から右へのデータフローを示すトポロジーマップの可視化。中央にauthenticatorサービスが表示され、そのアップストリームおよびダウンストリームのサービスとキューが示されています。

Data Streams Monitoring は、大規模なパイプラインを理解し管理するための標準的な方法を提供し、以下を容易にします。

  • システム内を通過するイベントのエンドツーエンドのレイテンシーでパイプラインの健全性を測定します。
  • 障害のあるプロデューサー、コンシューマー、キューを特定し、関連するログやクラスターにピボットして、トラブルシューティングを迅速に行います。
  • バックアップされたイベントがダウンストリームのサービスを圧倒するのを阻止するために、サービスオーナーが対処できるようにすることで、連鎖的な遅延を防止します。

サポートされている言語とテクノロジー

Data Streams Monitoringは、Kafkaの_クライアント_(コンシューマー/プロデューサー)にインスツルメンテーションを行いますクライアントインフラストラクチャにインスツルメンテーションを施すことができれば、Data Streams Monitoringを使用できます

JavaPython.NETNode.jsGoRuby
Apache Kafka
(セルフホスト、Amazon MSK、Confluent Cloud、またはその他のホスティングプラットフォーム)
Amazon Kinesis
Amazon SNS
Amazon SQS
Azure Service Bus
Google Pub/Sub
IBM MQ
RabbitMQ

Data Streams Monitoring には、Datadog SDK の最小バージョンが必要です。詳細は各セットアップページを参照してください。

OpenTelemetry のサポート

Data Streams Monitoring は OpenTelemetry をサポートしています。Datadog APM を OpenTelemetry と連携するように設定している場合、Data Streams Monitoring を使用するための追加設定は不要です。OpenTelemetry の互換性 を参照してください。

セットアップ

言語別

java
Python
.NET
Node
Go
Ruby

テクノロジー別

Kafka
Amazon SQS
RabbitMQ
Amazon SNS
Kinesis
Google Cloud Pub/Sub
IBM MQ
Azure Service Bus
BullMQ

Data Streams Monitoring を探索

ストリーミングデータパイプラインのアーキテクチャを可視化

DSM トポロジーマップの可視化。

Data Streams Monitoring はすぐに使える トポロジーマップ を提供するため、パイプライン全体のデータフローを可視化し、プロデューサー/コンシューマーサービス、キューの依存関係、サービスの所有権、主要な健全性メトリクスを特定できます。

新しいメトリクスでエンドツーエンドのパイプラインの健全性を測定する

Data Streams Monitoring を使用すると、非同期システム内の任意の 2 点間をイベントが通過するのにかかる時間を測定することができます。

メトリクス名注目タグ説明
data_streams.latencystart, end, env指定された送信元から宛先までの経路のエンドツーエンドのレイテンシー。
data_streams.kafka.lag_secondsconsumer_group, partition, topic, envプロデューサーとコンシューマー間のラグ(秒単位)。Java: Agent v1.9.0 以降が必要です。
data_streams.payload_sizeconsumer_group, topic, envバイト単位の受信および送信スループット。

また、これらのメトリクスを任意のダッシュボードやノートブックでグラフ化し、視覚化することができます。

Datadog Data Streams Monitoring モニター

あらゆる経路のエンドツーエンドのレイテンシーを監視する

イベントがシステムをどのように通過するかによって、異なるパスがレイテンシーの増加につながる可能性があります。Measure タブ を使用すると、エンドツーエンドのレイテンシー情報のために開始サービスと終了サービスを選択して、ボトルネックを特定し、パフォーマンスを最適化できます。その経路のモニターを簡単に作成したり、ダッシュボードにエクスポートしたりできます。

あるいは、サービスをクリックして詳細なサイドパネルを開き、Pathways タブを表示して、サービスとアップストリームサービス間のレイテンシーを確認します。

イベント駆動型アプリケーションの速度低下にアラートを送信する

コンシューマーラグの増大や古いメッセージによって引き起こされるイベント駆動型アプリケーションの速度低下は、連鎖的な障害につながり、ダウンタイムを増加させる可能性があります。すぐに使えるアラートを送信することで、パイプライン内のどこでボトルネックが発生しているかを特定し、すぐに対応できます。補足的なメトリクスについては、Datadog は Kafka や SQS などのメッセージキューテクノロジー向けの追加インテグレーションを提供しています。

Data Streams Monitoring のすぐに使えるモニターテンプレートを通じて、コンシューマーラグ、スループット、レイテンシーなどのメトリクスに関するモニターをワンクリックで設定できます。

Datadog Data Streams Monitoring モニターテンプレート
'Add Monitors and Synthetic Tests' をクリックして、モニターテンプレートを表示します

受信したメッセージを任意のキュー、サービス、クラスターに属性付けする

消費型サービスでの遅延の増加、Kafka ブローカーでのリソース使用の増加、RabbitMQ または Amazon SQS のキューサイズの増加は、隣接するサービスがこれらのエンティティに生成またはエンティティから消費する方法の変更によって、頻繁に説明されます。

Data Streams Monitoring の任意のサービスまたはキューで Throughput タブをクリックすると、スループットの変化や、それらの変化がどのアップストリームまたはダウンストリームサービスに起因しているかを素早く検出できます。Catalog が構成されると、対応するチームの Slack チャンネルやオンコールエンジニアにすぐにピボットできます。

単一の Kafka、RabbitMQ または Amazon SQS のクラスターにフィルターをかけることで、そのクラスター上で動作するすべての検出されたトピックまたはキューについて、送受信トラフィックの変化を検出することができます。

インフラストラクチャー、ログ、トレースから根本原因を特定するために素早くピボットする

Datadogは、Unified Service Taggingを通じてサービスを支えるインフラストラクチャと関連ログを自動的にリンクするため、ボトルネックを簡単に特定できます。Infra、Logs、またはTracesタブをクリックして、パスウェイのレイテンシーやコンシューマーラグが増加した原因をさらにトラブルシューティングします。

コネクタのスループットとステータスを監視する

「analytics-sink」というコネクタを示すDSMトポロジーマップ。この可視化は、コネクタのステータスがFAILEDであることを示しています。

Datadogは、管理対象のConfluent Cloudコネクタを自動的に検出し、Data Streams Monitoringのトポロジーマップで可視化できます。Confluent Cloudインテグレーションをインストールおよび設定して、Confluent Cloudコネクタからスループット、ステータス、トピックの依存関係などの情報を収集します。

トラブルシューティング

エンドツーエンドのレイテンシーメトリクスが正確に表示されていないようです

パスウェイのレイテンシー計算には、シングルスレッドのメッセージ処理が必要です。パイプライン内のメッセージで複数のスレッドを使用している場合は、手動インスツルメンテーションを追加してください。手動インスツルメンテーションは、GoおよびJavaアプリケーションで利用可能です。その他の言語については、手動インスツルメンテーションガイドを参照してください。.NETの手動インスツルメンテーションについては、サポートにお問い合わせください。

Pathwaysタブでは、正確なレイテンシー値を得るために手動インスツルメンテーションが必要なパスに対して、「レイテンシー値が概算である可能性があります」というメッセージが表示されます。

参考資料