基本ログフィルタ

このガイドでは、ログビューアの基本フィルタ インターフェースを使用して、ラベルまたはテキスト検索でログエントリをフィルタリングする方法を説明します。

より高度なフィルタリング オプションについては、高度なログフィルタをご覧ください。

ログエントリをエクスポートする方法については、ログのエクスポートをご覧ください。API を使用してログエントリを読み取る方法については、entries.list をご覧ください。SDK を使用してログエントリを読み取る方法については、ログエントリの読み取りをご覧ください。

基本フィルタの使い方

  1. GCP Console で [Stackdriver] > [ロギング] ページの順に移動します。

    ログビューア ページに移動

  2. ページの先頭にある既存の GCP プロジェクトを選択するか、新しいプロジェクトを作成します。

  3. プルダウン メニューを使用して、ログを表示するリソースを選択します。

次のスクリーンショットは、ログビューアの基本フィルタ インターフェースを示しています。Compute Engine VM インスタンスの 4 つのログエントリが表示されています。展開矢印(▸)がクリックされ、2 番目のエントリが展開されています。

ログビューア

上のスクリーンショットに赤い数字で示されている、基本フィルタ インターフェースの主な構成要素は次のとおりです。一部の要素は高度なフィルタ インターフェースにも表示されます。

  1. ウィンドウタブでは、[ログ]、[指標](ログベースの指標をご覧ください)、[エクスポート](ログのエクスポートをご覧ください)、[リソースの使用量] を選択できます。
  2. 基本フィルタ インターフェースの検索フィルタ ボックスでは、ラベルまたはテキスト検索を使用してログエントリをフィルタリングできます。基本フィルタが表示されますが、端のメニュー(▾)を使用すると、高度なログフィルタのインターフェースに切り替えられます。
  3. 基本セレクタ メニューでは、表示するリソース、ログ、重大度レベルを選択できます。
  4. 期間セレクタのプルダウン メニューでは、特定の日時でログをフィルタリングできます。
  5. ページの先頭にあるストリーミング セレクタでは、新しいログエントリを受信時に表示するかどうかを制御できます。
  6. ログエントリ テーブルには、現在のフィルタとカスタム フィールドに応じて使用可能なログエントリが含まれています。
  7. 各ログエントリの前にある展開矢印(▸)を使用すると、エントリの全内容を見ることができます。詳しくは、ログエントリの展開をご覧ください。
  8. [表示設定] メニュー: 右端にあり、その他の表示オプションがあります。

基本的な検索

基本フィルタ インターフェースで、メニューの上にある検索フィルタ ボックスにテキストを入力し、Enter キーを押します。この検索では、指定した検索キーワードを、任意の位置、任意のフィールド(ただし timestamp を除く)、大文字と小文字を区別せずに含むすべてのログエントリが戻されます。ログビューアによって検索キーワードの前に追加される text: という単語は、「すべてのフィールド」検索を示します。

以下に、一般的な検索例、実際の動作が予想とは異なる検索例をいくつか示します。

基本的な検索の一般的な例

Unicorn (text:Unicorn)

unicorn を含むすべてのログエントリを、任意のフィールドから検索します。大文字と小文字は区別しません。

unicorn phoenix (text:unicorn text:phoenix)

1 つのフィールド、または複数の異なるフィールドに、unicorn または phoenix が含まれているすべてのログエントリを検索します。両方のキーワードを含むログエントリを検索するには、高度なフィルタ インターフェースを使用します。

"unicorn phoenix" (text:"unicorn phoenix")

1 つのフィールドに unicorn phoenix が含まれているすべてのログエントリを検索します。大文字と小文字は区別されず、1 つのスペースで区切られているもののみが該当します。基本フィルタ インターフェースでは、「1 つのフィールド内のいずれかの位置にある unicornphoenix」を検索することはできませんが、高度なフィルタ インターフェースでは可能です。

2345 (text:2345)

文字列 2345 を含むすべてのログエントリを検索します。ログエントリ内の数値は文字列として示されるのが一般的であるため、この文字列は、たとえば 123456 に一致します。

実際の動作が予想とは異なる検索例

uni* (text:uni*)
これはワイルドカード検索ではありません。この場合、4 つの文字列 "uni*" を含むすべてのログエントリが検索されます。ログビューアは正規表現による検索に対応していないため、基本フィルタ インターフェースと高度なフィルタ インターフェースのいずれにも、*? などの特別なワイルドカード文字がありません。
2017-02-05 (text:2017-02-05)
これはログエントリのタイムスタンプに一致しません。この場合、timestamp 以外のいずれかのフィールドに文字列 2017-02-05 が含まれたすべてのログエントリが検索されます。ログエントリのペイロードやその他のフィールドに日付を表す文字列が含まれている場合、それらの文字列を検索することは可能です。検索ボックスの下にある [日付を選択] メニューを使用することもできます。高度なフィルタ インターフェースでは、タイムスタンプの範囲を指定して検索を実行できます。
200..299 (text:200..299)
これは 250 に一致しません。この場合、基本フィルタ インターフェースでは、8 文字の文字列 "200..299" を含むログエントリが検索されます。このような範囲表記の検索を実行できるのは、整数フィールドに限られます。詳細については、特定のフィールドを検索するをご覧ください。
unicorn NOT phoenix (text:unicorn text:NOT text:phoenix)
unicorn OR phoenix (text:unicorn text:OR text:phoenix)
ブール演算子(AND、OR、NOT、AND NOT)を含めることは、基本フィルタのテキスト検索ではサポートされていないため、これらはブールテキスト検索ではありません。複数のテキストの検索キーワードを含めると、そのキーワードは暗黙的に OR で結合されます。

特定のフィールドを検索する

特定のフィールドだけを検索するには、検索キーワードの前にフィールド名とコロンを指定します。すべてのフィールドの検索では、フィールド名は text: に置き換えられます。検索ボックスに入力すると、条件に一致するフィールドの一覧が表示されます。

基本フィールドでの検索

以下の例では、status: は整数の HTTP ステータス コード、path: はリクエスト内の HTTP パスです。

path:query
大文字と小文字を区別せず、HTTP パスに query を含むログエントリを検索します。例: /query/App/Query/17
path:*
path フィールドを持つログエントリを検索します。ここではアスタリスク(*)が特殊文字として使用されていますが、一般的には特殊文字として扱われません。
status:200
ステータスが 200 のログエントリのみ表示します。この検索では、ステータスが 2000 のものは一致しません。status は整数フィールドであるため、数値の比較が行われるためです。
status:abc
status は整数であるため、これは無効です。
status:400..499
HTTP ステータスが 400 ~ 499 のログエントリを検索します。範囲を指定できるのは、内容が整数であるとわかっているフィールドだけです。それ以外のフィールドに対して範囲を指定した場合、範囲ではなく . の文字を含む 1 つの文字列とみなされます。
path:query unicorn
path フィールドに query が含まれ、かついずれかのフィールドに unicorn が含まれているログエントリを検索します。unicorn の前にフィールド名の指定がないため、text:unicorn とみなされます。異なるフィールドに対して、または複数のフィールドや text: に対して、複数の検索キーワードを指定した場合、キーワードは暗黙的に AND で結合されます。
path:query path:status
path フィールドに query または status が含まれているログエントリを検索します。1 つのフィールドに対して複数の検索キーワードを指定した場合、キーワードは暗黙的に OR で結合されます。
path:query status:200 path:status status:500..502
パスに query または status が含まれ、かつ status の値が 200、500、501、502 であるログエントリを検索します。つまり、OR の結合のほうが AND の結合よりも厳しく、検索キーワードの順序は重要ではありません。

トラブルシューティング

基本フィルタ インターフェースで検索できない理由がわからない場合は、一時的に高度なフィルタ インターフェースに切り替えます。

  1. 検索フィルタ ボックスの最後にある ▾ メニューで、[高度なフィルタに変換] を選択します。

  2. 高度なフィルタ ボックスに目的のフィルタがあるか確認します。

  3. ブラウザの [戻る] ボタンを使用して、基本フィルタ インターフェースに戻ります。このオプションを選択すると、基本フィルタ インターフェースの以前の選択内容に戻ります。

  4. 手順 2 で意図しないフィルタを特定した場合は、検索フィルタ ボックス、基本セレクタ メニュー、時間範囲セレクタ メニューで変更または消去できます。

必要なログエントリがすべて表示されない理由は他にもいくつかあります。

  • Stackdriver Logging の保持期間を超過したログエントリは表示されません。有効なログ保持期間については、割り当てポリシーをご覧ください。

  • 負荷が高くなっている場合、Stackdriver Logging へのログの送信やログの受信と表示に遅延が生じることがあります。

  • タイムスタンプを持つログエントリは、現在の時刻がタイムスタンプに「追いつく」までログビューアに表示されません。これは異常な状況です。おそらく、ログを送信しているアプリケーションの時間のずれが原因です。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...