このドキュメントでは、ログ エクスプローラを使用して「親子」形式のログエントリをグループ化して表示する方法について説明します。通常、Cloud Logging にログエントリを書き込むと、各ログエントリは個別に表示され、関連付けられません。ただし、LogEntry オブジェクトの trace
フィールドを使用して、ログエントリのグループ化や関連付けを行うことが可能です。
ログエントリを関連付けると、ログ エクスプローラで複数の子ログエントリを持つ親ログエントリを表示できます。
相関ログエントリを設定する
相関ログエントリを設定するように、trace
フィールドを手動で入力できます。また、Google クライアント ライブラリで、アプリケーションを計測して Cloud Trace にトレースを送信することもできます。次の設定は、トレースデータを自動的にキャプチャします。
App Engine スタンダード環境
Cloud Run 関数と Cloud Run
トレースデータを収集するようにアプリケーションをインストルメント化する方法については、Cloud Trace のインストルメント化の概要をご覧ください。
ログ エクスプローラでログエントリのコレクションを関連付けるには、ログエントリが次の要件を満たしている必要があります。
LogEntry オブジェクトの
trace
フィールドが、次の形式の文字列に設定されている。projects/PROJECT_ID/traces/TRACE_ID
ここで、PROJECT_ID は Google Cloud プロジェクト ID、TRACE_ID はトレース ID です。
ログエントリの
trace
フィールドが同じ。各ログエントリは固有のログに属する。つまり、
logName
フィールドの値は異なる必要があります。
ログ エクスプローラのログエントリを表示する
ログ エクスプローラで表示している親ログエントリに関連付けられた子ログエントリを表示するには、そのログエントリを開きます。
たとえば、App Engine リクエストのログエントリとアプリケーション ログエントリを表示するには、次のようにします。
-
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
[リソース] プルダウン メニューで [GAE アプリケーション] を選択します。
[ログ名] プルダウン メニューで [
request_log
] を選択します。[クエリ結果] ペインで、ログエントリを開くには、chevron_right [開く] をクリックします。
リクエスト ログエントリに関連付けられたアプリケーション ログエントリが、リクエスト ログエントリにネストされています。
上のスクリーンショットでは、親ログエントリに 10 個の子ログエントリがあります。 これらの子ログエントリを展開して、詳細を表示できます。
相関ログエントリを検索する
相関検索を使用すると、クエリで親ログエントリと子ログエントリの両方を検索できます。検索の結果は、親ログエントリまたは子ログエントリのクエリに一致する親ログエントリの一覧です。たとえば、子ログエントリと親ログエントリの両方で文字列「app log message」を検索するには、次のようにします。
-
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
検索フィールドに「
"app log message
」と入力し、[クエリを実行] をクリックします。 「app log message」を含む子ログエントリが [クエリ結果] ペインに一覧表示されます。[クエリ結果] ペインで、[相関] をクリックし、親ログを選択します。App Engine リクエストログを表示するには、
request_log
を選択して [適用] をクリックします。[クエリ結果] ペインに、文字列
"app log message"
を含むか、文字列を含む子を持つ、すべての親ログエントリが一覧表示されます。ネストされた子ログエントリを表示するには、親ログエントリを開いて [chevron_right 展開] をクリックします。
上のスクリーンショットでは、親ログエントリに「app log message」という文字列を含む 10 個の子ログエントリがあります。これらの子ログエントリを開くと、詳細が表示されます。
親ログを選択しても、[クエリ結果] ペインにログエントリが表示されない場合は、クエリに一致する相関する親エントリと子エントリが存在しません。
次のステップ
Cloud Trace 用のアプリケーションのインストルメント化の詳細については、Cloud Trace のインストルメント化の概要をご覧ください。
App Engine のリクエストログとアプリケーション ログの詳細については、アプリケーション ログの読み取りと書き込みをご覧ください。