Alibaba Cloud Message Service (MNS) ログを Log Service にプッシュします。 本ページでは、MNS からプッシュされたログ内の指定された情報を照会する方法について説明します。

MNS はキューログおよびトピックログをサポートしています。 これらのログには、時間、場所、操作、コンテキストなど、ライフサイクル全体にわたるメッセージに関するすべての情報が含まれています。 リアルタイム照会、リアルタイムコンピューティング、オフラインコンピューティングを通じてログを分析できます。

リアルタイムログ照会

このセクションでは、リアルタイム照会のいくつかの一般的なシナリオについて説明します。 複数のキーワードを使用して、複雑な照会を実行できます。

キュー内のメッセージのメッセージトレースの表示

  • 手順
    1. 検索ボックスにメッセージのキュー名および ID を入力します。 形式: queuename and $messageid
    2. ログを照会する時間範囲を選択し、[検索と分析] をクリックします。 次に、メッセージの操作ログを確認します。
  • loglog という名前のキューの 12682720A1B271D0-1-1635DD12B1C-200000004 という ID のメッセージのメッセージトレースを表示します。

    • 文: loglog and 12682720A1B271D0-1-1635DD12B1C-200000004

    • 結果: 次の図に示すように、照会結果に、メッセージの送信からメッセージの削除までのプロセスが表示されます。

キュー内の Log Service に送信されたメッセージの数の表示

  • 手順
    1. 検索ボックスにキュー名および書き込み操作を入力します。 形式: $queuename and (SendMessage or BatchSendMessage)
    2. ログを照会する時間範囲を選択し、[検索と分析] をクリックします。 すると、キュー内の Log Service に送信されたすべてのメッセージに関するログが表示されます。 緑色の縦棒グラフの上にポインターを移動します。 指定した期間内に送信されたメッセージの数を表示できます。
  • MyQueue という名前のキュー内の Log Service に送信されたメッセージの数を表示します。
    • 文: MyQueue and (SendMessage or BatchSendMessage)

    • 結果: 次の図に示すように、指定した期間に 4 つの書き込み操作が実行されます。

キュー内の Log Service によって消費されたメッセージの数の表示

  • 手順
    1. 検索ボックスにキュー名および消費操作を入力します。 形式: $queuename and (ReceiveMessage or BatchReceiveMessage)
    2. ログを照会する時間範囲を選択し、[検索と分析] をクリックします。 すると、キュー内の Log Service によって消費されたメッセージに関するログが表示されます。
  • loglog という名前のキュー内の Log Service によって消費されたメッセージの数を表示します。
    • 文: loglog and (ReceiveMessage or BatchReceiveMessage)

    • 結果: 次の図に示すように、指定した期間に 5 つの消費操作が実行されます。

キューで削除されたメッセージの数の表示

  • 手順
    1. 検索ボックスにキュー名および削除操作を入力します。 形式: $queuename and (DeleteMessage or BatchDeleteMessage)
    2. ログを照会する時間範囲を選択し、[検索と分析] をクリックします。 すると、キューで削除されたメッセージに関するログが表示されます。
  • loglog という名前のキューで削除されたメッセージの数を表示します。
    • 文: loglog and (DeleteMessage or BatchDeleteMessage)

    • 結果: 次の図に示すように、照会結果に、削除されたすべてのメッセージに関するログが表示されます。 削除されたメッセージの数を表示できます。

トピック内のメッセージのメッセージトレースの表示

  • 手順
    1. 検索ボックスにトピック名およびメッセージの ID を入力します。 形式: $topicname and $messageid
    2. ログを照会する時間範囲を選択し、[検索と分析] をクリックします。 すると、トピック内のメッセージのメッセージトレースが表示されます。
  • logtesttt という名前のトピックの BD692F55DED88AF6-1-1635DFEAF3B-200000008 という ID のメッセージのメッセージトレースを表示します。

    • 文: logtesttt and BD692F55DED88AF6-1-1635DFEAF3B-200000008

    • 結果: 次の図に示すように、照会結果に、logtesttt トピックのメッセージの送信から通知までのプロセスが表示されます。

トピックで公開されているメッセージの数の表示

  • 手順
    1. 検索ボックスにトピック名および公開操作を入力します。 形式: $topicname and PublishMessage
    2. ログを照会する時間範囲を選択し、[検索と分析] をクリックします。 すると、トピックで公開されているメッセージに関するログが表示されます。
  • : logtesttt という名前のトピックで公開されているメッセージの数を表示します。
    • 文: logtesttt and PublishMessage

    • 結果: 次の図に示すように、指定した期間に 5 つの公開操作が実行されます。

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

  • 手順
    1. 検索ボックスにクライアントの IP アドレスを入力します。 形式:$ClientIP。 特定のタイプの操作ログを照会する場合は、検索ボックスで操作を指定します。 例: $ClientIP and (SendMessage or BatchSendMessage)

    2. ログを照会する時間範囲を選択し、[検索と分析] をクリックします。 すると、クライアントのすべての操作ログが表示されます。

  • :
    IP アドレスが 10.10.XX.XX のクライアントによって処理されたメッセージの数を表示します。
    • 文: 10.10.XX.XX

    • 結果: 次の図に示すように、指定した期間に 3 つのメッセージ処理操作が実行されます。

リアルタイムコンピューティングとオフラインコンピューティング

  • リアルタイムコンピューティング: MNS ログを Spark、Storm、Realtime Compute、または Consumer Library を使用してリアルタイムで分析します。 次に、いくつかの使用例を示します。
    • 最も多くのメッセージを送信する、またはキュー内で最も多くのメッセージを消費する上位 10 クライアントの IP アドレスについて。
    • メッセージの生成速度と消費のバランスは保たれているかについて。 待ち時間の処理が困難な消費者について。
  • オフラインコンピューティング: MaxCompute、E-MapReduce、または Hive を使用して、長期間にわたってログを分析します。
    • 過去 1 週間のメッセージ発行からメッセージ消費までの平均待ち時間について。
    • アップグレード後のパフォーマンスの変化について。