DevOps & SRE

Cloud Logging にシンプルなクエリ オプションが新登場

※この投稿は米国時間 2022 年 4 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。

問題をトラブルシューティングする際に、根本原因を見極めるためにインフラストラクチャによって生成された特定のログとアプリケーション コードを見つけなければならないことはよくあります。ログを見つけるのが早ければ早いほど、根本原因に関する仮説が正しいか誤っているかを早い段階で確かめることができ、問題を迅速に解消できます。本日、ログ エクスプローラでのログ特定が大幅にシンプルになったことを発表いたします。

クエリ実行をもっと簡単に

この 2 年の間に、ログを見つけるためのシンプルなフリーテキスト検索機能が必要だというフィードバックを多くのユーザーからいただきました。その中には、プルダウン セレクタを使ってクエリを作成したいという声もありました。Google はすべてのフィードバックを真摯に受け止め、このフィードバックに応えてログ検索をもっと簡単にするための大幅な変更をログ エクスプローラに多数加えました。

  1. シンプルなテキスト検索 – グローバルなテキスト検索用の新しいシンプルなテキスト検索ボックス

  2. 高度なクエリ – クエリの Logging クエリ言語の表示 / 非表示を切り替える機能

  3. 日時選択ツール – クエリビルダーの一部に日付と時刻の範囲選択ツールを追加

  4. 日時設定 – Cloud Console で設定されている日時設定を日時表示に反映

  5. プルダウン セレクタ – [リソース]、[ログ名]、[重大度] を目立つように表示

  6. プルダウン セレクタの状態 – クエリをプルダウンを使って作成するか、Logging のクエリ言語を編集して作成するかにかかわらず、[リソース]、[ログ名]、[重大度]、フリーテキスト検索ボックスの状態を維持

  7. デフォルト概要フィールド – よりベーシックなログ表示向けのデフォルト概要フィールドを無効にするオプションを新たに追加

01.logs_explorer_simple

シンプルなテキスト検索

新しいテキスト検索ボックスでは、テキスト検索ボックスに入力した文字列で、ログ全体に対してグローバルなフリーテキスト検索ができます。たとえば、シンプルに「POST OR GET」と入力すると、ログフィールドに「POST」または「GET」を含むすべてのログが表示されます。

02.simple_text_search.jpg

さらに、クエリ結果では、ログ概要の行と個別のログエントリそのものの両方がハイライト表示されます。

03.log_results_text_highlight.jpg

クエリの表示 / 非表示の切り替え

この新機能によって多くのユーザーのクエリ エクスペリエンスは簡素化されますが、高度なユースケースのためにログ エクスプローラで複雑なクエリを記述できる必要があることには変わりありません。そこで、クエリの表示 / 非表示の切り替え機能を追加し、クエリのバックグラウンドで使われている Logging のクエリ言語の表示を展開および閉じることができるようにしました。

[クエリを表示 / 非表示] の切り替えは、プルダウンではユースケースに対応しきれない場合や、クエリで条件付きロジックまたは正規表現を作成しなければならない場合に使用できます。[クエリを表示 / 非表示] の切り替えから、Logging のクエリ言語を直接更新できます。

04.logs_explorer_simple_query_mode_show_query.gif

日付 / 時間の選択ツール

日付と時刻の選択ツールを目立つ場所に移動させ、クエリビルダーの最初のアイテムにしたことで見つけやすくなりました。このようなログ エクスプローラのユーザー インターフェースの配置変更だけでなく、日付と時刻の範囲ログをもっと簡単に見つけられるようにするために、チームで積極的に改良を重ねています。

05.date_time_range_selector.jpg

Cloud Console 設定を基にした日付と時刻の表示

日付にはさまざまな表現があるため、デベロッパー、DevOps エンジニア、SRE、またはそれ以外の方にとっても取り扱いが難しい場合があります。今回の変更では、日時の範囲セレクタの [時間を選択] と [カスタム範囲の入力] オプションに、Cloud Console 設定の日時形式の設定が反映されるようになりました。つまり、Cloud Console の設定で mm/dd/yyyy または dd/mm/yyyy を選択すると、選択した形式で日付が表示されます。24 時間形式または午前午後の時間形式を選択した場合、選択した形式で時間が表示されます。

06.date_time_preferences.jpg

[リソース]、[ログ名]、[重大度] のプルダウン セレクタ

ログ エクスプローラに、[リソース]、[ログ名]、[重大度] のプルダウン セレクタがわかりやすく表示されるようになりました。さらに、このプルダウン セレクタを選択すると、クエリが毎回実行されるように改良しています。これにより、プルダウンを選ぶたびに素早く簡単にログを絞ることができます。これらの改良によってプルダウン セレクタが見つけやすくなり、応答性も向上しています。
07.logs_explorer_simple_query_mode_resource_selectors.gif

Logging のクエリ言語とプルダウンの同期の維持

[リソース]、[ログ名]、[重大度] のプルダウンを使うか、検索テキストを追加すると、ログ エクスプローラによって Logging のクエリ言語でクエリが作成されるようになりました。基本的なクエリの場合、Logging のクエリ言語を確認する必要はありません。もっと複雑なクエリの場合、クエリ言語を直接編集できます。

面白いのは、クエリを直接編集した場合に、Logging のクエリ言語の条件が解析可能で、複雑なロジック条件を含まなければ、[リソース]、[ログ名]、[重大度] のプルダウン、そして検索テキストが Logging のクエリ言語の条件と一致するように更新される点です。

たとえば、[クエリを表示] 切り替えを使って Logging のクエリ言語を表示し、severity=ERROR を追加した場合、「エラー」が選択された状態を表示するように [重大度] のプルダウンが更新されます。

08.show_query_severity_selector.jpg

続いて、 [重大度] プルダウンから [デバッグ] を選択した場合、クエリが severity=(ERROR OR DEBUG) に更新されます。

09.severity_selectors.jpg

プルダウンから選択するか、クエリを入力するかを問わずクエリの状態が維持されるので、ログにクエリを実行するうえで詳細を覚えておかなければならないという負担が一つ軽減されます。

基本的なログビューのデフォルト概要フィールドの無効化

ログ エクスプローラでは、ログ結果にデフォルトの概要フィールドが追加されます。これにより、有益な情報がハイライト表示され、ログ行から直接操作できます。たとえば App Engine ログの場合、デフォルト概要フィールド チップでレイテンシがハイライト表示され、ログをさらに簡単にフィルタできます。

10.custom_summary_fields.jpg

また、ログ エクスプローラでは独自のカスタム概要フィールドをログ行に追加できるので、ログ行で自分にとって最も重要な情報を表示できます。

Google へのフィードバックには、ログの未加工テキストがあれば十分だというものもありました。そこで、未加工テキストのログを表示するために、セッション継続時間中、ログ結果のデフォルト概要フィールドのオン / オフを切り替える機能を追加しました。デフォルト概要フィールドをオフにすると、未加工テキストのログ概要のみが表示されます。概要フィールドを再びオンにするには、単純にオンに切り替えるか、新しいログ エクスプローラ セッションを新しいタブで開始してください。

11.logs_explorer_simple_query_mode_hide_default_summary_fields.gif

今後の展望

Google は、ログ エクスプローラを Google Cloud で動作するアプリケーションのトラブルシューティングに最適な場にするために尽力しています。今後数か月の間に、ログ エクスプローラをすべてのユーザーにとってもっと使いやすく、便利にするために多くの改良を加える予定です。ログ エクスプローラをまだお使いでない場合、この機会にぜひ使用を開始し、Google Cloud コミュニティ サイトの Cloud Operations ページのディスカッションに参加してください。


- Google Cloud プロダクト マネージャー Charles Baer