ログエントリのストリーミングとライブ テーリング

概要

このページでは、ログエントリをリアルタイムで表示する方法について説明します。

Cloud Logging では、Logging が書き込むログエントリを次の機能を使用してリアルタイムで表示できます。

ログのストリーミング。ログのストリーミングはログ エクスプローラで行うことができます。

ライブ テーリング。リアルタイム テールは、gcloud コマンドライン ツール gcloud alpha logging tail および Cloud Logging API のメソッド entries.tail として行うことができます。

ログ エクスプローラ、gcloud logging read、または API メソッド entries.list を使用してログを表示して分析すると、Cloud Logging がすでに保存したログエントリが表示されます。一方、ログエントリをストリーミングまたはライブ テーリングすると、アプリケーションが Cloud Logging API にログエントリを書き込むと直ちにログエントリが表示されます。

ログ エクスプローラのログのストリーミング

ログ エクスプローラでは、ログのストリーミングを使用してログデータをリアルタイムで表示できます。ログのストリーミングを使用する場合は、クエリをログ エクスプローラに追加して、クエリに一致するログのみをストリーミングできます。

クエリに基づいてログをストリーミングするには、[クエリビルダー] ペインにクエリを追加して、[ログをストリーミングする] を選択します。Logging がログデータを書き込むと、[クエリ結果] ペインにクエリに一致するログのみが表示されます。クエリが指定されない場合、Logging は各ログを書き込みどおりに表示します。

クエリ式に一致するログをストリーミングする

ストリーミングを停止するには、[ストリーミングを停止] をクリックするか、[クエリ結果] ペインで下にスクロールします。

gcloud コマンドライン ツールを使用したライブ テーリング

ライブ テーリングによって、gcloud コマンドライン ツールまたは Cloud Logging API を使用して、Cloud Logging によって書き込まれたログエントリをリアルタイムで表示できます。

ライブ テーリングのための API メソッドについては、entries.tail メソッドをご覧ください。

gcloud alpha logging tail のインストール

gcloud alpha logging tail を使用するには、Python 3 と grpcio Python パッケージをインストールしている必要があります。

Python をインストールする手順については、Python のページをご覧ください。grpcio パッケージのインストールに必要な Python パッケージ マネージャー pip をインストールする手順については、Python パッケージ インストーラのページをご覧ください。

次の手順に沿って gcloud alpha logging tail をインストールします。

  1. gcloud コマンドライン ツールをインストール済みであることを確認します。gcloud コマンドライン ツールをインストールする手順については、Cloud SDK のインストールをご覧ください。

  2. gcloud ツールのバージョン 302.0.0 以降を使用していることを確認します。

    gcloud version
    

    gcloud ツールの更新手順については、gcloud components update をご覧ください。

  3. gcloud ツールのアルファ版コンポーネントをインストールします。

    gcloud components install alpha
    
  4. macOS、Linux、Cloud Shell のユーザーの場合:

    1. gRPC クライアント ライブラリをインストールします。

       sudo pip3 install grpcio
      
    2. 環境変数 CLOUDSDK_PYTHON_SITEPACKAGES を任意の値に設定します。

       export CLOUDSDK_PYTHON_SITEPACKAGES=1
      
  5. Cloud プロジェクト ID と認証を設定するには、次のコマンドを使用します。

    gcloud config set project PROJECT_ID
    gcloud auth login
    
  6. 次のコマンドを実行して、gcloud alpha logging tail がインストールされていることを確認します。

    gcloud alpha logging tail
    

    これで、Logging がログを書き込むと、プロジェクトのログエントリが表示されるようになりました。

    ライブテール セッション中のログエントリ。

ライブ テーリングの使用について詳しくは、gcloud alpha logging tail リファレンス ガイドをご覧ください。

バッファリングと並べ替え

Logging は時系列順以外のログエントリを受信できることから、ライブ テーリングにはログエントリについて、書き込み時に表示する場合と昇順で表示する場合との間でトレードオフのバランスを取ることができるよう、バッファ時間の設定も用意されています。バッファ時間は 060 秒の間で設定できます。

バッファ時間の次の特性に留意してください。

  • デフォルトのバッファ時間は 2 秒です。

  • Logging によって、バッファ時間枠内のログエントリの取り込みが遅延されます。

  • ログエントリがバッファ時間枠の範囲外に書き込まれると、Logging は受信時にログエントリを返します。

バッファ時間を構成すると、ログを取り込み時に表示する場合と、エントリを順不同で表示する場合との間でトレードオフを行うことになります。

バッファ時間 トレードオフ
0 最新のログエントリが返されるものの、順不動になっている可能性が高くなります。
60 返されたエントリが表示されるまでに 60 秒間の遅延が発生。ただし、ほとんどのログは昇順で返されます。

上限と割り当て

次の表に、ライブ テーリングの上限と割り当てを示します。

上限と割り当て
1 分あたりに返されるエントリ数 60,000 件
フィルタと一致するエントリが 60,000 件を超える場合、Logging はそれらのエントリを抑制し、レスポンスで抑制されたエントリの数を返します。
1 クラウド プロジェクトあたりのオープンなライブテーリング セッション数 10

クライアントの制限

多数のエントリをすばやく書き込む Cloud プロジェクトの場合、クライアントは書き込みが実行された直後にエントリを消費できない可能性があります。この場合、Logging は送信されたエントリの合計数を制限し、最新のエントリを優先します。テール セッションの終了時に、Logging は、クライアントの制限のために表示されなかったエントリの数を返します。