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

ApsaraMQ for RabbitMQ:ログ管理

最終更新日:Nov 09, 2025

ログ管理機能は、ApsaraMQ for RabbitMQ インスタンスの操作ログを Simple Log Service の Logstore に自動的にプッシュします。メッセージの送信、消費、または確認時に例外が発生した場合、Simple Log Service で操作ログをクエリおよび分析して、問題を診断できます。

前提条件

  • ApsaraMQ for RabbitMQ インスタンスを作成します。詳細については、「インスタンス管理」をご参照ください。

  • Simple Log Service をアクティブ化し、プロジェクトと Logstore を作成します。詳細については、「リソース階層」をご参照ください。

  • コンソールでのプロンプトに従って、AliyunServiceRoleForAmqpLogDelivery サービスリンクロールを作成して承認し、ログを Simple Log Service にプッシュします。

重要

プロジェクトまたは Logstore を削除したり、ApsaraMQ for RabbitMQ に付与された権限を取り消したりすると、ログはプッシュできなくなります。

課金

  • ApsaraMQ for RabbitMQ

    ApsaraMQ for RabbitMQ はログ管理機能に対して課金しません。

  • Simple Log Service

    ApsaraMQ for RabbitMQ からのログが Simple Log Service にプッシュされると、ストレージ容量、トラフィック、およびリクエスト数に基づいて Simple Log Service によって課金されます。詳細については、「機能別の課金項目」をご参照ください。

ログ形式

ログ形式の説明

パラメーター

説明

Action

操作のリクエストメソッド。値と説明の詳細については、「Action リクエストメソッド」をご参照ください。

Code

状態コード。有効な値:

  • 200: リクエストは成功しました。

  • 541: 内部サーバーエラーが発生しました。

  • 503: コマンドが無効です。

  • 530: 操作は許可されていません。

  • 404: リソースが存在しません。

  • 406: 事前チェックに失敗しました。

  • 403: 権限エラーが発生しました。

Info

リクエストが成功した場合、このパラメーターは返されません。リクエストが失敗した場合、このパラメーターはエラーに関する情報を提供します。

InstanceId

ApsaraMQ for RabbitMQ インスタンスの ID。ApsaraMQ for RabbitMQ コンソールの [インスタンス詳細] または [概要] ページでインスタンス ID を表示できます。

Queue

サブスクリプションまたはメッセージに対応するキュー。

  • Action が PushMessage、BasicGet、または DeleteMessage の場合、これはサブスクライブされたキューです。

  • Action が BasicReject の場合、これは拒否されたメッセージのキューです。

  • Action が BasicNack の場合、これは Nack されたメッセージのキューです。

Property

メッセージのプロパティ。次のプロパティを使用できます:

  • consumerTag: キューへのサブスクライバーを識別します。

  • deliveryTag: サーバーによって割り当てられた、チャネル上のメッセージの一意の識別子。

    説明

    このフィールドは、Action が PushMessage、BasicGet、DeleteMessage、または SendDlqMessage の場合にのみ記録されます。

RemoteAddress

操作を開始したクライアントのアドレス。

  • Action が SendMessage の場合、これはプロデューサーのクライアントアドレスです。

  • Action が PushMessage の場合、これはコンシューマーのクライアントアドレスです。

  • Action が BasicAck の場合、これはコンシューマーのクライアントアドレスです。

  • Action が DeleteMessage の場合、これはコンシューマーのクライアントアドレスです。

説明

このフィールドは、Action が SendDlqMessage の場合は記録されません。

ReqUid

アカウント ID。

  • Resource Access Management (RAM) ユーザーを使用してメッセージを送受信する場合、これは RAM ユーザー ID です。

  • Alibaba Cloud アカウントを使用してメッセージを送受信する場合、これは Alibaba Cloud アカウント ID です。

説明

このフィールドは、Action が SendDlqMessage の場合は記録されません。

ResourceName

リソースの名前。

  • messageId: メッセージの送信時に SDK によって設定されるメッセージ ID。

  • exchange: exchange の名前。ApsaraMQ for RabbitMQ コンソールの [Exchange 管理] ページで exchange 名を表示できます。

  • routingKey: メッセージの送信時に SDK によって設定されるルーティングキー。

説明

このフィールドは、Action が ConnectionOpen、ConnectionClose、ChannelOpen、または ChannelClose の場合は記録されません。

VHost

vhost の名前。ApsaraMQ for RabbitMQ コンソールの [Vhost 管理] ページで vhost 名を表示できます。

ConnectionId

サーバーによって割り当てられた、接続の一意の識別子。

説明

このフィールドは、Action が SendDlqMessage の場合は記録されません。

ChannelId

現在の接続内でチャネルを一意に識別するためにクライアントによって生成されたチャネル ID。

説明

Action が ConnectionOpen または ConnectionClose の場合、値は null です。

microtime

リクエストが発生した時刻 (マイクロ秒単位)。

_source_

これは Simple Log Service (SLS) の予約済みフィールドです。詳細については、「予約済みフィールド」をご参照ください。

__tag__:__receive_time__

これは SLS の予約済みフィールドです。詳細については、「予約済みフィールド」をご参照ください。

__topic__

これは SLS の予約済みフィールドです。詳細については、「予約済みフィールド」をご参照ください。

Action リクエストメソッド

リクエストメソッド

説明

ConnectionOpen

接続を開きます。

ConnectionClose

接続を閉じます。

ChannelOpen

チャネルを開きます。

ChannelClose

チャネルを閉じます。

QueueDeclare

キューを作成します。

QueueDelete

キューを削除します。

ExchangeDeclare

exchange を作成します。

ExchangeDelete

exchange を削除します。

ExchangeBind

ルートを exchange にバインドします。

ExchangeUnBind

ソース exchange を宛先 exchange からアンバインドします。

QueueBind

ルートをキューにバインドします。

QueueUnbind

ソース exchange を宛先キューからアンバインドします。削除するバインディングには、コード x0005 が含まれています。

SendMessage

プロデューサーがメッセージを送信します。

PushMessage

サーバーがメッセージをプッシュします。

BasicGet

クライアントがメッセージをプルします。

BasicAck

メッセージを確認応答します。

BasicConsume

キューにサブスクライブします。

BasicReject

メッセージを拒否します。

BasicRecover

メッセージの回復。

BasicNack

NACK メッセージ。

BasicQos

コンシューマーのフロー制御を設定します。

QueuePurge

キューからすべてのメッセージを削除します。

DeleteMessage

サーバーは、クライアントから Basic.Ack を受信した後にメッセージを削除します。

SendDlqMessage

メッセージをデッドレターキューに送信します。

手順

ApsaraMQ for RabbitMQ インスタンスを設定して、ログを Simple Log Service にプッシュします。

  1. ApsaraMQ for RabbitMQ コンソールにログインします。左側のナビゲーションウィンドウで、インスタンスリスト をクリックします。

  2. インスタンスリスト ページのトップナビゲーションバーで、管理するインスタンスが存在するリージョンを選択します。次に、インスタンスリストで、管理するインスタンスの名前をクリックします。

  3. 左側のナビゲーションウィンドウで、ログ管理 をクリックします。

  4. [マイリソース] カードで、権限付与 をクリックします。

    すでに ApsaraMQ for RabbitMQSimple Log Service へのアクセスを許可している場合は、このステップをスキップできます。

  5. ログ管理 ページで、プロジェクト名 リストから作成したプロジェクトを選択し、ログストア名 リストから作成した Logstore を選択してから、有効化 をクリックします。

  6. Simple Log Service コンソールにログインし、インデックスを有効にして、インデックスフィールドを設定します。詳細については、「インデックスの作成」をご参照ください。

  7. __tag__:__receive_time__ フィールドを手動で追加し、次の図に示すように、そのエイリアスを timestamp に設定します。image

チュートリアル