すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:エンドツーエンドトレース分析

最終更新日:Mar 12, 2026

分散システムでは、単一のリクエストが完了するまでに数十のサービスを通過する場合があります。メッセージが滞留したり、コンシューマーがタイムアウトしたり、レイテンシが急増したりした場合、プロデューサー-ブローカー-コンシューマーチェーン全体で根本原因を特定するには、メッセージフローの可視性が必要です。

ApsaraMQ for RocketMQ は、OpenTelemetry メッセージングのセマンティック規約に従うトレースデータを生成します。このデータを Simple Log Service または Application Real-Time Monitoring Service (ARMS) にエクスポートして、メッセージ配信を追跡し、エンドツーエンドレイテンシを測定し、障害を診断できます。

制限事項

トレースをセットアップする前に、次の制約事項を確認してください。

  • Java SDK のみ: SDK for Java を使用するクライアントのみがトレースデータをレポートできます。バージョン詳細については、「リリースノート」をご参照ください。

  • トランザクションメッセージ: トランザクションメッセージの場合、本番関連データのみがトレースされます。

  • プッシュコンシューマーのみ: プッシュコンシューマーによって消費されるメッセージのみがトレースデータを生成します。「コンシューマータイプ」をご参照ください。

トレースデータのエクスポート

ApsaraMQ for RocketMQ は、OpenTelemetry 準拠のトレースデータをトレーシング分析サーバーにエクスポートします。Alibaba Cloud マネージドサービスを使用するか、独自のバックエンドを構築できます。

Simple Log Service

Simple Log Service は、メッセージ送信遅延、送信成功率、消費成功率、エンドツーエンドレイテンシをモニタリングするためのダッシュボードを提供します。メッセージ ID またはトレース ID で個々のリクエストをドリルダウンできます。

Simple Log Service の詳細については、「注意事項」をご参照ください。

ARMS

Application Real-Time Monitoring Service (ARMS) は、そのトレーシング分析コンポーネントを通じて分散トレーシングを提供します。

ARMS トレーシング分析の詳細については、「トレーシング分析とは」をご参照ください。

トレースの仕組み

ApsaraMQ for RocketMQ は、メッセージライフサイクルの各ステージを スパン として記録します。各スパンは、タイミングデータ、メッセージメタデータ、および操作タイプをキャプチャします。

スパンタイプ

3 種類のスパンタイプがメッセージライフサイクルをキャプチャします。

スパンタイプ

キャプチャ内容

ライフサイクル

send

プロデューサーから送信されるメッセージ。

プロデューサーが送信を開始したときに開始され、送信が成功、失敗、または例外をスローしたときに終了します。再試行が発生した場合、各試行で個別のスパンが生成されます。

receive

コンシューマーのロングポーリングリクエスト。

ロングポーリング操作のライフサイクルと一致します。デフォルトでは無効です。

process

プッシュコンシューマーがメッセージを処理する。

MessageListener コールバックが開始されたときに開始され、それが返されたときに終了します。

受信スパンの有効化

受信スパンはデフォルトで無効です。有効にするには、次の JVM パラメーターを追加します。

-Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true

スパンの関係

スパン間の関係は、受信スパンが有効になっているかどうかによって異なります。

  • 受信スパンが無効 (デフォルト): 処理スパンは送信スパンの直接の子です。

  • 受信スパンが有効: 処理スパンは受信スパンの子であり、送信スパンにリンクされます。

Span relationships

メッセージング属性

各スパンには、OpenTelemetry メッセージングスパンのセマンティック規約で定義された属性が含まれます。

標準属性

  • messaging.message.id:メッセージの一意の識別子。

  • messaging.destination:メッセージが配信されるトピックまたはキュー。

  • messaging.operation:操作タイプ:送信、受信、または確認応答。

RocketMQ 固有の属性

ApsaraMQ for RocketMQ は次の属性を追加します。完全なリストについては、「Apache RocketMQ 属性」をご参照ください。

属性

タイプ

説明

messaging.rocketmq.client_group

文字列

負荷分散に使用されるコンシューマーグループ。

messaging.rocketmq.client_id

文字列

クライアントインスタンスの一意の識別子。

messaging.rocketmq.message.delivery_timestamp

int

スケジュールおよび遅延メッセージのスケジュールされた配信時刻。

messaging.rocketmq.message.group

文字列

順序付きメッセージのメッセージグループ。

messaging.rocketmq.message.type

文字列

メッセージタイプ:normalfifodelay、または transaction。「通常メッセージ」、「順序付きメッセージ」、「スケジュールおよび遅延メッセージ」、および「トランザクションメッセージ」をご参照ください。

messaging.rocketmq.message.tag

文字列

コンシューマー側でメッセージをフィルターするために使用されるタグ。

messaging.rocketmq.message.keys

string[]

特定のメッセージを検索するためのビジネスキー。