CloudWatch Logs Live Tail を使用したトラブルシューティング - Amazon CloudWatch Logs

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CloudWatch Logs Live Tail を使用したトラブルシューティング

CloudWatch Logs Live Tail を使用すると、新しいログイベントが取り込まれたときにストリーミングリストを表示して、インシデントのトラブルシューティングをすばやく行うことができます。取り込まれたログをほぼリアルタイムで表示、フィルタリング、強調表示できるため、問題をすばやく検出して解決することができます。指定した用語に基づいてログをフィルタリングしたり、特定の用語を含むログを強調表示したりすることで、探しているものをすぐに見つけることができます。

Live Tail セッションでは、セッションの使用時間ごとに 1 分間隔でコストが発生します。料金の詳細については、「Amazon CloudWatch 料金表」の [ログ] のタブを参照してください。

注記

Live Tail は、標準ログクラスのロググループでのみサポートされています。ログクラスの詳細については、「ログクラス」を参照してください。

以下のセクションでは、コンソールおよび AWS CLIで Live Tail を使用する方法について説明します。Live Tail セッションをプログラムで開始することもできます。詳細については、「StartLiveTail」を参照してください。SDK の例については、AWS 「 SDK を使用してライブテールセッションを開始する」を参照してください。

で Live Tail を使用することもできます AWS Toolkit for Visual Studio Code。VS Code コマンドパレットからライブテールセッションを開始するには、 AWS Toolkit for Visual Studio Code 「 ユーザーガイド」のAmazon CloudWatch Logs ライブテール」セクションを参照してください。

Live Tail 機能は、すべての commercial AWS Regions で使用できます。中国リージョンまたは AWS GovCloud (米国) リージョンでは利用できません。

を使用して Live Tail セッションを開始する AWS CLI

start-live-tail AWS CLI コマンドは、ターミナル内の 1 つ以上のロググループの Live Tail ストリーミングセッションを開始します。Live Tail セッションは最大 3 時間持続します。1 秒あたり 500 件を超えるログイベントがフィルターと一致する場合、ログイベントがログイベント全体のサンプルとして表示され、リアルタイムのテーリングエクスペリエンスを提供します。start-live-tail コマンドの詳細については、「start-live-tail」を参照してください。

start-live-tail は、次の 2 つのモードで使用できます。

  • print-only – これはデフォルトモードです

  • interactive

print-only

print-only モードでは、ログイベントはターミナルでストリーミングされます。新しいイベントが 1 秒ごとに下部に追加され、Linux での tail -f と同様のほぼリアルタイムのテーリングエクスペリエンスが作成されます。

print-only モードで Live Tail セッションを開始するには、次のコマンドを入力します。

aws logs start-live-tail --log-group-identifiers arn:aws:logs:us-east-1:111111222222:log-group:my-logs

print-only モードを使用する場合、他の Linux コマンドを使用してパイプ処理を行い、分析機能を向上させることもできます。次の例では、error キーワードを使用してログイベントをフィルタリングし、これらのイベントの 2 列目と 4 列目を印刷して、特定の情報を抽出しやすくします。

aws logs start-live-tail --log-group-identifiers arn:aws:logs:us-east-1:111111222222:log-group:my-logs --mode print-only | grep "error" | awk '{print $2, $4}'

interactive

interactive モードでは、用語を強調表示し、出力ログイベントの形式を JSON とプレーンテキストの間で切り替えることができます。Interactive モードでは、セッションの所要時間、セッションのサンプリングの有無、現在強調表示されている用語、およびそれらの発生回数など、Live Tail セッションに関する情報も表示されます。

Interactive モードで Live Tail セッションを開始するには、次のコマンドを入力します。

aws logs start-live-tail --log-group-identifiers arn:aws:logs:us-east-1:111111222222:log-group:my-logs --mode interactive

Live Tail セッションが開始されます。次のビデオは、セッションの例の一部を示しています。

Live Tail セッション中に画面に表示されるログイベントを示す短いビデオ。

ストリーミングログで用語を強調表示するには、h を押してから用語を入力します。以下は、用語 latency が強調表示された後の画面を示しています。

強調表示された用語をクリアするには、c を押し、強調表示を停止する用語を表す数値を入力します。

t を押して、JSON とプレーンテキストの間で受信イベントの表示形式を切り替えることができます。このトグル機能はベストエフォートであり、ログイベント形式が互換性がある場合にのみ発生します。

スクロールするには上矢印キーと下矢印キーを使用し、より速くスクロールするには CTRL+uCTRL+d を使用します。

次の図は、Live Tail セッション中の latency 用語の強調表示を示しています。

インタラクティブな Live Tail セッションのスクリーンショット。画面にログイベントが表示され、「レイテンシー」が発生するたびに強調表示されます。

コンソールで Live Tail セッションを開始する

CloudWatch コンソールを使用して Live Tail セッションを開始します。以下の手順では、ナビゲーションペインの [Live tail] を選択して Live Tail セッションを開始する方法について説明します。Live Tail セッションは、ロググループのページ、または CloudWatch Logs Insights のページから開始することもできます。

Live Tail で表示されるロググループの機密データを、データ保護ポリシーを使用してマスクしている場合、Live Tail セッションでは、機密データは常にマスクされて表示されます。ロググループの機密データのマスキングに関する詳細は、「機密性の高いログデータをマスキングで保護する」を参照してください。

重要

ネットワークセキュリティチームがウェブソケットの使用を許可しない場合は、現在 CloudWatch コンソールの Live Tail の部分にアクセスすることはできません。Live Tail は、 AWS CLI または APIsで使用できます。詳細については、を使用して Live Tail セッションを開始する AWS CLI「」および「StartLiveTail」を参照してください。

Live Tail セッションを開始するには
  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインで [ログ][Live tail] の順に選択します。

  3. [ロググループを選択] で、Live Tail セッションでイベントを表示するロググループを選択します。ロググループは 10 個まで選択できます。

  4. (オプション) ロググループを 1 つのみ選択する場合は、ログイベントを表示するログストリームを 1 つ以上選択すれば、Live Tail セッションをさらに絞り込むことができます。それには、[ログストリームを選択] で、ドロップダウンリストからログストリームの名前を選択します。あるいは、[ログストリームを選択] の 2 番目のボックスにログストリーム名のプレフィックスを入力すれば、このプレフィックスに一致する名前を持つすべてのログストリームが選択されます。

  5. (オプション) 特定の単語やその他の文字列を含むログイベントのみを表示するときは、その単語または文字列を Add filter patterns に入力します。

    例えば、Warning という語を含むログイベントのみを表示するときは、Warning と入力します。フィルターフィールドでは、大文字と小文字が区別されます。このフィールドには、次に示す複数の用語とパターン演算子を含めることができます。

    • error 404 は、error と 404 の両方を含むログイベントのみを表示します。

    • ?Error ?error は、Error または error を含むログイベントを表示します。

    • -INFO は、INFO を含まないログイベントをすべて表示します。

    • { $.eventType = "UpdateTrail" } は、イベントタイプフィールドの値が UpdateTrail である JSON ログイベントをすべて表示します。

    正規表現を使用してフィルタリングすることもできます。

    • %ERROR% は regex を使用して、ERROR キーワードを含むすべてのログイベントを表示します。

    • { $.names = %Steve% }Steve"name" プロパティ内にいる場合、regex を使用して JSON ログイベントを表示します。

    • [ w1 = %abc%, w2 ] は regex を使用して、最初の単語が abc の場合にスペースで区切られたログイベントを表示します。

    パターン構文の詳細については、「フィルターパターン構文」を参照してください。

  6. (オプション) 表示されたログイベントの一部を強調表示するには、検索する用語を入力し、[Live Tail] で強調表示します。強調表示する用語は 1 度に 1 つずつ入力します。複数の用語を追加して強調表示すると、用語ごとに異なる色が割り当てられます。指定した用語を含むログイベントの左側に強調表示のインジケーターが表示されます。また、メインウィンドウでログイベントを展開してログイベント全体を表示すると、用語自体の下にも表示されます。

    フィルタリングと強調表示を併用することで、問題をすばやくトラブルシューティングできます。例えば、イベントをフィルタリングして、Error を含むイベントのみを表示し、さらに、404 を含むイベントを強調表示することもできます。

  7. セッションを開始するには、[フィルターを適用] を選択します

    一致するログイベントがウィンドウに表示されます。以下の情報も表示されます。

    • timer には、Live Tail セッションの実行時間が表示されます。

    • events/sec には、設定したフィルターに一致するログイベントが 1 秒間にいくつ取り込まれたかが表示されます。

    • 多くのイベントがフィルターに一致したために、セッションのスクロールが速くなりすぎることを防ぐため、CloudWatch Logs には一致するイベントの一部しか表示されない場合があります。その場合は、画面に表示されているイベントが一致するイベントの何割であるのかが % で表示されます。

  8. イベントのフローを一時停止して、現在表示されている内容を調べるには、イベントウィンドウの任意の場所をクリックします。

  9. セッション中は、以下を使って各ログイベントの詳細を確認できます。

    • メインウィンドウにログイベントのテキスト全体を表示するには、そのログイベントの横にある矢印をクリックします。

    • サイドウィンドウにログイベントのテキスト全体を表示するには、そのログイベントの横にある虫眼鏡の [+] をクリックします。イベントフローが一時停止し、サイドウィンドウが表示されます。

      サイドウィンドウにログイベントのテキストを表示すると、そのテキストをメインウィンドウの他のイベントと比較するのに便利です。

  10. Live Tail セッションを停止するには、[停止] をクリックします。

  11. セッションを再開するには、[フィルター] パネルを使用してフィルター条件を変更し、[フィルターを適用] をクリックします。次に、[Start (開始)] を選択します。