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

ApsaraMQ for Kafka:メッセージのクエリ

最終更新日:Nov 09, 2025

ApsaraMQ for Kafka でメッセージをコンシュームできない、メッセージの損失や遅延が発生した場合は、メッセージクエリ機能を使用してメッセージの詳細とプロパティを表示し、トラブルシューティングを行うことができます。パーティション ID とメッセージオフセットがわかっている場合は、オフセットでメッセージをクエリします。メッセージの場所はわからないが、いつ送信されたかがわかっている場合は、時間でメッセージをクエリします。

注意

  • ApsaraMQ for Kafka コンソールでは、クエリされた各メッセージのコンテンツが最大 1 KB 表示されます。1 KB を超えるコンテンツは自動的に切り捨てられます。完全なメッセージコンテンツを表示するには、メッセージをダウンロードできます。ダウンロードされるメッセージの最大サイズは 10 MB です。メッセージが 10 MB より大きい場合、コンテンツの最初の 10 MB のみがダウンロードされます。

  • クエリ結果には最大 10 件のメッセージが表示され、その合計サイズは 10 MB を超えることはできません。

    • たとえば、最初の 3 つのメッセージの合計サイズが 10 MB を超える場合、最初の 2 つのメッセージのみが表示されます。

    • 10 件のメッセージの合計サイズが 10 MB 未満の場合、10 件すべてのメッセージが表示されます。

  • メッセージをクエリできるかどうかは、ApsaraMQ for Kafka のメッセージクリーンアップポリシーによって異なります。

    • ディスク使用率が 75% 未満の場合、メッセージ保存期間を超えたメッセージは毎日 04:00 に削除されます。

    • ディスク使用率が 75% 以上 85% 未満の場合、ディスク使用率が 75% を下回るまで、メッセージ保存期間を超えたメッセージが削除されます。

    • ディスク使用率が 85% 以上 90% 未満の場合、保存期間に関係なく、最も古い保存メッセージがパージされます。

    • ディスク使用率が 90% 以上の場合、サービスの安定性を確保するために書き込み保護が有効になります。新しいメッセージは書き込めません。

    重要

    ApsaraMQ for Kafka がメッセージをパージするとき、少なくとも 1 つのストレージファイルを保持します。したがって、保存期間を超えたメッセージをクエリできる場合があります。

オフセットによるメッセージのクエリ

  1. ApsaraMQ for Kafka コンソールにログインします。

  2. 概要 ページの リソースの分布 セクションで、管理する ApsaraMQ for Kafka インスタンスが存在するリージョンを選択します。

  3. インスタンスリスト ページで、管理するインスタンスの名前をクリックします。

  4. 左側のナビゲーションウィンドウで、メッセージクエリ をクリックします。

  5. メッセージクエリ ページで、クエリモード ドロップダウンリストから 位置によるクエリ を選択します。

  6. Topic リストで Topic を選択します。パーティション リストでパーティションを選択します。開始点 テキストボックスにメッセージオフセットを入力し、クエリ をクリックします。

    結果には、指定されたオフセットのメッセージと後続のメッセージが表示されます。たとえば、パーティション 5 を選択し、開始オフセットを 5 に設定すると、結果はパーティション 5 のオフセット 5 から始まります。

    表 1. クエリ結果のパラメーター

    パラメーター

    説明

    パーティション

    メッセージの Topic パーティション。

    オフセット

    メッセージのオフセット。

    Key

    メッセージキー。キーは文字列に変換されます。

    Value

    メッセージの値。メッセージのコンテンツです。値は文字列に変換されます。

    ヘッダー

    メッセージのヘッダー情報。これは [trace-id=123] のようなキーと値のペアとして表示されます。設定されていない場合、デフォルト値は [] です。

    CompressionType

    メッセージに使用される圧縮タイプ。デフォルト値は none で、圧縮がないことを示します。

    メッセージ作成時間

    メッセージの送信時にクライアントによって指定または含まれる ProducerRecord オブジェクトでのメッセージ作成時間。

    説明
    • このフィールドが設定されている場合、設定された値が表示されます。

    • このフィールドが設定されていない場合、デフォルトでメッセージが送信されたときのシステム時刻が使用されます。

    • 表示される値が 1970/x/x x:x:x のフォーマットである場合、送信時間は 0 または別の無効な値として設定されていました。

    • バージョン 0.9 以前の ApsaraMQ for Kafka クライアントは、この時間の設定をサポートしていません。

    操作

    • キーのダウンロード をクリックしてメッセージキーをダウンロードします。

    • 値のダウンロード をクリックしてメッセージコンテンツをダウンロードします。

時間によるメッセージのクエリ

すべてのパーティションから時間によってメッセージをクエリできます。メッセージの場所はわからないが、送信されたおおよその時刻がわかっている場合は、時点を指定できます。クエリは、指定された時刻以降に送信されたメッセージを返します。

  1. メッセージクエリ ページで、クエリモード ドロップダウンリストから 時点によるクエリ を選択します。

  2. Topic リストで Topic を選択します。パーティション リストでパーティションを選択します。時間 セクションで時間を選択し、クエリ をクリックします。

    指定された時点以降に送信されたメッセージが表示されます。クエリ結果のパラメーターの詳細については、「クエリ結果のパラメーター」をご参照ください。

    • すべてのパーティション を選択すると、すべてのパーティションのメッセージが表示されます。

    • 特定のパーティションを選択すると、そのパーティションのメッセージのみが表示されます。

関連ドキュメント