コンテンツに移動
クラウド オペレーション

ログフィールド分析機能を使ってログを簡単に分析する

2021年6月14日
https://storage.googleapis.com/gweb-cloudblog-publish/images/18_-_Infrastructure_urFj7Af.max-2600x2600.jpg
Google Cloud Japan Team

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

アプリケーションやシステムのトラブルシューティングを行うデベロッパーやオペレーターは、大量のデータを分類しながら問題の根本原因を探る必要があります。多くの場合、エラー レスポンス コードといった、答えを見つけて問題を解決するうえで重要となるフィールドがあります。本日、Google Cloud は Cloud Logging のログフィールド分析機能を発表いたします。検索とフィルタでログの構造を把握するこの新しい方法により、これまでになく迅速かつ簡単に答えを見つけられるようになります。

ログフィールド分析

昨年、Google Cloud では、ログの検索と分析を高速化するための [ログフィールド] ペインヒストグラム保存したクエリと共有クエリといった機能を備えたログ エクスプローラをリリースしました。ログ エクスプローラの [ログフィールド] ペインとヒストグラムの両機能は、ログを分析するうえで役立つ情報を提供します。

[ログフィールド] ペインには、特定の Google Cloud サービス(BigQuery、Google Kubernetes Engine(GKE)など)に対応するリソースタイプごとに、ログ エクスプローラに読み込まれたログで見つかった一連のデフォルトのフィールドと値が表示されます。また、ログフィールドの名前、値の一覧のほか、そのカテゴリに該当するログの数を集計した数字も表示されます。ここで、重要な用語について詳しくご説明します。

  • ログフィールド – ログの特定のフィールド。Cloud Logging のログはすべて LogEntry メッセージ形式を使用します。たとえば、logName フィールドは Cloud Logging のログすべてに存在します。ログを書き込む際は、jsonPayload.http_req_status のような textPayload、jsonPayload、protoPayload のフィールドも含めます。

  • ログフィールド値 – 特定のログフィールドの値。たとえば、jsonPayload.http_req_status のフィールドを持つログエントリの値としては、「200」、「404」、「500」などが入る可能性があります。

ログフィールド分析機能の登場により、選択したログフィールドの値の全一覧や、値と一致するログの数を確認して分析情報を得られるようになりました。ログエントリの jsonPayload フィールドや protoPayloads フィールドを使用してアプリケーションやシステムのログを分析し、フィールド値を選択してクエリを絞り込むことで、一致するログを詳細に確認できます。

https://storage.googleapis.com/gweb-cloudblog-publish/original_images/CloudLogging_pane_YbbeUBC.gif

Cloud Logging の [ログフィールド] ペインのビュー

ログの値を分析してトラブルシューティングを改善

ログフィールド分析では、予期されない値をすばやく簡単に識別できます。[ログフィールド] ペインにフィールドを追加すると、ログに表示されるすべての値を表示できます。いずれかの値を選択すると、その値でログをフィルタできます。

こちらの e コマース アプリケーションの例では、jsonPayload.http_req_path フィールドを追加したことで、リクエストパスを時系列で確認できるようになっています。下のスクリーンショットを見ると、問題があることを示す「/products/error」や「products/incorrectproduct」といった予期されない値があることが簡単にわかります。こうした値の横に表示されているのは、一致するログエントリの集計数です。これらの値を使って、トラブルシューティングや分析の対象を絞り込むことができます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Screenshot_2021-05-27_12.18.08_AM.max-500x50.max-500x500.png
[ログフィールド] で集計された http_req_path ログの各値のエントリ数(「/products/error」と「/products/incorrectproduct」があることが確認できます)

フィールド値を使用したフィルタ

[ログフィールド] ペインで値を選択することでクエリを絞り込み、選択した値が含まれるログのみを表示することもできます。jsonPayload.http_req_path フィールドを使用した上記の例の場合、特定の値「/cart」を選択することで、重大度別のログを表示できます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Screenshot_2021-05-27_12.22.33_AM.max-500x50.max-500x500.png
選択した http_req_path のログエントリの集計数(「/cart」が選択されています)

監査ログの理解を深める

ログフィールド分析を使えば、Google Cloud サービスの監査ログの値も簡単に検索できます。たとえば、特定の GKE クラスタにデータアクセスをリクエストしているアカウントを識別したい場合は、[ログフィールド] ペインにカスタム フィールドとして protoPayload.authenticationInfo.principalEmail フィールドを追加します。これにより、リクエストを行っているアカウントの一覧と、各アカウントの値のログエントリ数が表示されます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/Screenshot_2021-05-27_12.25.00_AM.max-500x50.max-500x500.png
各 principalEmail 値のログエントリ数が表示された [ログフィールド] ペイン

使ってみる

ログフィールド分析、ログのフィールド、ヒストグラムは最近ログ エクスプローラに追加された機能で、今すぐお使いいただけます。しかし機能強化はこれだけでは終わりません。ディスカッション フォーラムにご参加いただくと、今後追加予定の機能について詳しく知ることができます。Cloud Logging の使用感に関するフィードバックもお待ちしております。

Cloud Logging について詳しくは、Qwiklabs のクエストをご覧ください。機能の詳細をチュートリアルで学ぶことができます。

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

投稿先