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

Simple Message Queue (formerly MNS):ログ管理

最終更新日:Nov 09, 2025

Simple Message Queue (旧称:MNS) のログ管理機能は、メッセージリクエストログを Simple Log Service (SLS) にプッシュします。その後、SLS のクエリおよび分析機能を使用して、問題をトラブルシューティングできます。

シナリオ

メッセージの送受信時に、次のような問題が発生したことはありませんか?

  • メッセージがキューに送信されたが、コンシューマーが受信できない。メッセージはどこに行ったのか?

  • 誰がメッセージを消費したのか? 何回消費されたのか?

  • コンシューマーが利用できない。失敗したメッセージはいつ再消費できるのか?

  • メッセージが Topic に公開されたが、エンドポイントが受信しない。なぜ遅延が発生するのか?

Simple Message Queue (旧称:MNS) のログ管理機能を使用すると、これらの問題を解決できます。方法は次のとおりです。

  • ログを SLS にプッシュし、コンソールで完全なメッセージトレースを表示します。

  • 公式サイトのクエリツールを使用します。必要なパラメーターを指定して、メッセージ処理ログを表示します。

課金

  • Simple Message Queue (旧称:MNS) は、ログ管理機能に追加料金を請求しません。

  • Simple Message Queue (旧称:MNS) はログを SLS にプッシュします。SLS は、ストレージ容量、トラフィック、リクエスト数などの要因に基づいて課金します。詳細については、「課金の概要」をご参照ください。

キューログのフォーマット

キューメッセージの操作ログは、メッセージの送信、消費、削除など、キューメッセージに対する操作から生成されます。各操作ログには複数のフィールドが含まれています。各フィールドには特定の意味があります。ログに含まれるフィールドは、操作によって異なります。次のセクションでは、各フィールドの意味を説明し、さまざまな操作に含まれるフィールドをリストします。

  • ログフィールドの説明

    各操作ログには複数のフィールドが含まれています。次の表に、これらのフィールドを示します。

    フィールド

    説明

    Time

    操作が発生した時間。

    MessageId

    操作で処理されるメッセージの ID。

    QueueName

    操作が実行されるキューの名前。

    AccountId

    キューを所有するアカウントの ID。

    RemoteAddress

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

    NextVisibleTime

    操作完了後にメッセージが次に表示される時間。

    ReceiptHandleInRequest

    クライアントが操作のために渡す ReceiptHandle パラメーター。

    ReceiptHandleInResponse

    操作完了後にクライアントに返される ReceiptHandle。

    ProcessTime

    操作の処理にかかる時間。

    RequestId

    タスクの ID。

    Action

    削除や送信などの操作。

  • 各操作のフィールド

    ログに含まれるフィールドは、操作によって異なります。次の表に、各操作のフィールドを示します。

    操作

    Time

    QueueName

    AccountId

    MessageId

    RemoteAddress

    NextVisibleTime

    ReceiptHandleInResponse

    ReceiptHandleInRequest

    SendMessage/BatchSendMessage

    はい

    はい

    はい

    はい

    はい。

    はい。

    いいえ

    なし

    PeekMessage/BatchPeekMessage

    はい

    はい

    はい

    はい

    はい。

    いいえ

    いいえ

    いいえ

    ReceiveMessage/BatchReceiveMessage

    はい。

    はい

    はい

    はい

    はい

    はい

    はい

    いいえ

    ChangeMessageVisibility

    はい。

    はい

    はい。

    はい

    はい

    はい

    はい

    はい。

    DeleteMessage/BatchDeleteMessage

    はい

    はい。

    はい

    はい

    はい

    はい

    いいえ

    はい

Topic ログのフォーマット

Topic メッセージの操作ログは、Topic メッセージに対する操作から生成されます。これらの操作は、主にメッセージの公開とメッセージのプッシュの 2 種類です。次のセクションでは、Topic メッセージ操作ログの各フィールドの意味を説明し、さまざまな操作に含まれるフィールドをリストします。

  • ログフィールドの説明

    各操作ログには複数のフィールドが含まれています。次の表に、これらのフィールドを示します。

    フィールド

    説明

    Time

    操作が発生した時間。

    MessageId

    操作で処理されるメッセージの ID。

    TopicName

    操作が実行される Topic の名前。

    SubscriptionName

    操作が実行されるサブスクリプションの名前。

    AccountId

    Topic を所有するアカウントの ID。

    RemoteAddress

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

    NotifyStatus

    Simple Message Queue (旧称:MNS) がメッセージをプッシュするときにユーザーによって返される HTTP ステータスコードまたはエラー情報。

    ProcessTime

    操作の処理にかかる時間。

    MessageTag

    メッセージタグ。

    RequestId

    タスクの ID。

    Action

    削除や送信などの操作。

  • 各操作のフィールド

    ログに含まれるフィールドは、操作によって異なります。次の表に、各操作のフィールドを示します。

    操作

    Time

    MessageId

    TopicName

    SubscriptionName

    AccountId

    RemoteAddress

    NotifyStatus

    サブスクリプション名

    PublishMessage

    はい。

    はい

    はい

    いいえ

    はい

    はい

    なし

    いいえ

    Notify

    はい

    はい

    はい

    はい

    はい

    いいえ

    はい。

    はい

  • NotifyStatus

    NotifyStatus は、メッセージプッシュログに固有のフィールドです。このフィールドは、Simple Message Queue (旧称:MNS) がメッセージをエンドポイントにプッシュするときに発生する障害のトラブルシューティングに役立ちます。次の表に記載されているさまざまな NotifyStatus 値の提案に基づいて問題を解決できます。

    エラーコード

    説明

    推奨される解決策

    2xx

    メッセージは正常にプッシュされました。

    なし。

    その他の HTTP ステータスコード

    メッセージがプッシュされると、エンドポイントは 2xx 以外のステータスコードを返します。

    エンドポイントの処理ロジックを確認してください。

    InvalidHost

    サブスクリプションで指定されたエンドポイントが無効です。

    サブスクリプションのエンドポイントが有効であることを確認します。curl または telnet を使用して確認できます。

    ConnectTimeout

    サブスクリプションで指定されたエンドポイントへの接続がタイムアウトしました。

    サブスクリプションのエンドポイントにアクセスできることを確認します。curl または telnet を使用して確認できます。

    ConnectFailure

    サブスクリプションで指定されたエンドポイントへの接続に失敗しました。

    サブスクリプションのエンドpointにアクセスできることを確認します。curl または telnet を使用して確認できます。

    UnknownError

    不明なエラーが発生しました。

    Simple Message Queue (旧称:MNS) のテクニカルサポートにお問い合わせください。

ログ管理操作

ログ機能を使用する前に、次の前提条件を完了してください。

  • Simple Message Queue (旧称:MNS) でキューと Topic を作成します。詳細については、「キュー操作」および「Topic 操作」をご参照ください。

  • Simple Log Service でプロジェクトと Logstore を作成します。詳細については、「プロジェクトの管理」および「Logstore の作成」をご参照ください。

    MNS 操作ログは、同じリージョン内の SLS プロジェクトにのみプッシュできます。

  • AliyunMNSLoggingRole ロールを MNS に付与して、ログをエクスポートします。

    クラウド資源アクセス承認 をクリックし、画面の指示に従って権限を付与します。

    警告

    権限付与を取り消したり、RAM ロールを削除したりしないでください。そうしないと、Simple Message Queue (旧称:MNS) ログを Simple Log Service にプッシュできなくなります。

ログ機能の有効化/無効化

キューロギング機能の有効化/無効化

  1. Simple Message Queue (旧称:MNS) コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[キューリスト] をクリックします。

  3. 上部のメニューバーで、リージョンを選択します。

  4. [キューリスト] ページで、ターゲットキューを見つけます。[アクション] 列で、image > [編集] を選択します。

  5. [キューパラメーターの編集] パネルで、[ロギングの有効化] スイッチをオンまたはオフにします。

    [キューリスト] ページで、ターゲットキューの [ロギング] 列に [有効] または [無効] と表示されます。

Topic のロギング機能の有効化/無効化

  1. Simple Message Queue (旧称:MNS) コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[Topic リスト] をクリックします。

  3. 上部のメニューバーで、リージョンを選択します。

  4. [Topic リスト] ページで、ターゲット Topic を見つけます。[アクション] 列で、[編集] をクリックします。

  5. [Topic パラメーターの編集] パネルで、[ロギングの有効化] スイッチをオンまたはオフにします。

    [Topic リスト] ページで、各 Topic の [ロギング] 列に [有効] または [無効] と表示されます。

Simple Log Service へのログのプッシュ

手順

  1. Simple Message Queue (旧称:MNS) コンソールにログインします。

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

  3. 上部のメニューバーで、リージョンを選択します。

  4. [ログ管理] ページの構成ウィザードの [ターゲットの選択] ステップで、[Simple Log Service (SLS)] を選択します。

  5. 構成ウィザードの [ターゲットの構成] ステップで、[プロジェクト名][Logstore 名] を選択し、[有効化] をクリックします。

    [ログ管理] ページに、構成されたプロジェクトと Logstore が表示されます。

ログの表示

手順

  1. Simple Log Service コンソールにログインします。

  2. [プロジェクト] セクションで、目的のプロジェクトをクリックします。

    image

  3. [ログストレージ] > [Logstores] タブで、目的の Logstore をクリックします。

    image

  4. 検索文を入力し、[過去 15 分] をクリックして、クエリの時間範囲を設定します。詳細については、「検索と分析のクイックスタート」をご参照ください。

ログ分析の例

キューメッセージのトレースのクエリ

この例では、キューメッセージのトレースをクエリする方法を示します。キュー名とメッセージ ID を入力します。検索文のフォーマットは $QueueName and $MessageId です。例: log and EED287A265726135146E6A9CADC8XXXX

次の図にクエリ結果を示します。結果には、メッセージが送信されてから受信されるまでのライフサイクルが記録されます。

image

Topic メッセージのトレースのクエリ

この例では、Topic メッセージのトレースをクエリする方法を示します。Topic 名とメッセージ ID を入力します。検索文のフォーマットは $TopicName and $MessageId です。例: logtest and 8798453B65727FC6433E6AB4F746XXXX

次の図にクエリ結果を示します。結果には、メッセージが送信されてから配信されるまでのライフサイクルが記録されます。

image

送信されたキューメッセージ数のクエリ

この例では、送信されたキューメッセージの数をクエリする方法を示します。キュー名と送信操作を入力します。検索文のフォーマットは $QueueName and (SendMessage or BatchSendMessage) です。例: log and (SendMessage or BatchSendMessage)

次の図にクエリ結果を示します。指定された時間範囲内で、プロデューサーは log キューに 3 つのメッセージを送信しました。查看队列消息写入量

送信された Topic メッセージ数のクエリ

この例では、送信された Topic メッセージの数をクエリする方法を示します。Topic 名と公開操作を入力します。検索文のフォーマットは $TopicName and PublishMessage です。例: logtest and PublishMessage

次の図にクエリ結果を示します。指定された時間範囲内で、プロデューサーは logtest Topic に 3 つのメッセージを送信しました。查看主题消息发布量

消費されたキューメッセージ数のクエリ

この例では、消費されたキューメッセージの数をクエリする方法を示します。キュー名と消費操作を入力します。検索文のフォーマットは $QueueName and (ReceiveMessage or BatchReceiveMessage) です。例: log and (ReceiveMessage or BatchReceiveMessage)

次の図にクエリ結果を示します。指定された時間範囲内で、log キュー内の 12 件のメッセージが消費されました。查看队列消息消费量

削除されたキューメッセージ数のクエリ

この例では、削除されたキューメッセージの数をクエリする方法を示します。キュー名と削除操作を入力します。検索文のフォーマットは $QueueName and (DeleteMessage or BatchDeleteMessage) です。例: log and (DeleteMessage or BatchDeleteMessage)

次の図にクエリ結果を示します。指定された時間範囲内で、log キュー内の 61 件のメッセージが削除されました。查看队列消息删除量

クライアントによって処理されたメッセージ数のクエリ

この例では、特定のクライアントによって処理されたメッセージの数をクエリする方法を示します。クライアントの IP アドレスを入力します。検索文のフォーマットは $ClientIP です。例: 10.10.10.0

クライアントの特定の操作のログをクエリする場合は、キーワードの組み合わせを使用できます。例: $ClientIP and (SendMessage or BatchSendMessage)

次の図にクエリ結果を示します。指定された時間範囲内で、クライアントは 66 件のメッセージを処理しました。查看某个客户端消息处理量