ログ分析でログをクエリして分析する

このドキュメントでは、ログ分析を使用するようにアップグレードされたログバケットに保存されているログデータをクエリし、分析する方法について説明します。こうしたバケットにあるログは、SQL を使用してクエリを実行し、ログのフィルタと集計を行うことができます。クエリ結果を表示するには、表形式またはグラフでデータを可視化します。これらの表とグラフは、カスタム ダッシュボードに保存できます。

ログバケットのログビューまたは分析ビューをクエリできます。ログビューにクエリを実行すると、スキーマは LogEntry データ構造のスキーマに対応します。分析ビューのスキーマは作成者が決定するため、分析ビューは、ログデータを LogEntry 形式からより適した形式に変換する場合に使用されます。

ログ エクスプローラを使用すると、ログバケットがログ分析を使用するようにアップグレードされているかどうかにかかわらず、プロジェクトのログバケットに保存されているログエントリを表示できます。

ログ分析ではログエントリの重複除去は行われないため、クエリの作成方法に影響する可能性があります。また、ログ分析を使用する場合、いくつかの制限があります。これらのトピックの詳細については、次のドキュメントをご覧ください。

リンクされたデータセットについて

ログ分析は、リンクされた BigQuery データセットの作成をサポートしています。これにより、BigQuery は基盤となるデータを読み取りアクセス権で取得できます。リンクされたデータセットを作成する場合は、次のことができます。

このドキュメントでは、リンクされたデータセットを作成する方法や、予約済みスロットでクエリを実行するようにログ分析を構成する方法については説明しません。これらのトピックに関心がある場合は、BigQuery でリンクされたデータセットをクエリするをご覧ください。

始める前に

このセクションでは、ログ分析を使用する前に完了しておく必要のある手順について説明します。

ログバケットを構成する

ログ分析を使用できるようにログバケットがアップグレードされていることを確認します。

  1. Google Cloud コンソールで、[ログストレージ] ページに移動します。

    [ログストレージ] に移動

    このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。

  2. クエリを実行するログビューを含む各ログバケットで、[Log Analytics を使用可能] 列に [開く] が表示されていることを確認します。[アップグレード] が表示されている場合は、[アップグレード] をクリックしてダイアログを完了します。

IAM のロールと権限を構成する

このセクションでは、ログ分析の使用に必要な IAM ロールまたは権限について説明します。

  • ログ分析の使用とログビューへのクエリ実行に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

    • _Required および _Default のログバケットに対してクエリを実行する: ログ閲覧者roles/logging.viewer
    • プロジェクトのすべてのログビューに対してクエリを実行する: ログ表示アクセス者roles/logging.viewAccessor

    プリンシパルを特定のログビューに制限するには、プロジェクト レベルで付与されたログ表示アクセス者ロールに IAM 条件を追加するか、ログビューのポリシー ファイルに IAM バインディングを追加します。詳細については、ログビューへのアクセスを制御するをご覧ください。

    これらの権限は、[ログ エクスプローラ] ページでログエントリを表示するために必要な権限と同じです。ユーザー定義バケットでのビューに対するクエリ実行、または _Default ログバケットの _AllLogs ビューに対するクエリ実行に必要な追加ロールについて詳しくは、Cloud Logging のロールをご覧ください。

  • 分析ビューへのクエリ実行に必要な権限を取得するには、プロジェクトに対する Observability Analytics ユーザーroles/observability.analyticsUser)IAM ロールを付与するよう管理者に依頼してください。

ログビューまたは分析ビューをクエリする

問題をトラブルシューティングする場合は、パターンに一致するフィールドを含むログエントリをカウントするか、HTTP リクエストの平均レイテンシを計算します。これらのアクションは、ログビューで SQL クエリを使用することで行うことができます。

ログビューに SQL クエリを発行するには、次の操作を行います。

  1. Google Cloud コンソールで、[ログ分析] ページに移動します。

    [ログ分析] に移動

    このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。

  2. デフォルト クエリを読み込むには、次の操作を行います。

    1. [ビュー] メニューで、[ ログ] または [ 分析ビュー] セクションに移動し、クエリするビューを選択します。

      ビューを検索するには、[ フィルタ] バーを使用するか、リストをスクロールします。

      • ログビューは BUCKET_ID.LOG_VIEW_ID でリストされます。これらのフィールドは、ログバケットとログビューの ID を参照します。

      • 分析ビューは LOCATION.ANALYTICS_VIEW_ID でリストされます。これらのフィールドは、分析ビューの場所と ID を参照します。分析ビューは公開プレビュー版です。

    2. [スキーマ] ツールバーで [クエリ] をクリックします。

      [クエリ] ペインが更新され、選択した分析ビューをクエリする SQL クエリが表示されます。

  3. クエリを入力する場合は、次の操作を行います。

    • 期間を指定する場合は、期間セレクタを使用することをおすすめします。timestamp フィールドを指定する WHERE 句を追加できる場合、その値は期間セレクタの設定をオーバーライドし、そのセレクタは無効になります。

    • 例については、サンプルクエリをご覧ください。

    • ログビューをクエリするには、クエリの FROM 句を次の形式にする必要があります。

      FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
      
    • 分析ビューをクエリするには、クエリの FROM 句の形式を次のようにします。

      FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`
      

    前の式のフィールドの意味は次のとおりです。

    • PROJECT_ID: プロジェクトの ID。
    • LOCATION: ログビューまたは分析ビューのロケーション。
    • BUCKET_ID: ログバケットの名前または ID。
    • LOG_VIEW_ID: ログビューの ID。100 文字に制限され、英字、数字、アンダースコア、ハイフンのみを使用できます。
    • ANALYTICS_VIEW_ID: 分析ビューの ID。100 文字以内で、使用できるのは英字、数字、アンダースコア、ハイフンのみです。
  4. ツールバーに [クエリを実行] というボタンが表示されていることを確認します。

    ツールバーに [BigQuery で実行] と表示されている場合は、[ 設定] をクリックして、[ログ分析(デフォルト)] を選択します。

  5. クエリを実行します。

    クエリが実行され、クエリの結果が [結果] タブに表示されます。

    ツールバー オプションを使用して、クエリをフォーマットし、クエリを消去して、BigQuery SQL リファレンス ドキュメントを開くことができます。

  6. クエリ結果を確認します。結果は表またはグラフとして表示できます。これらのグラフは、カスタム ダッシュボードに保存できます。詳細については、SQL クエリの結果をグラフ化するをご覧ください。

スキーマを表示する

スキーマは、構造と各フィールドのデータ型を定義します。この情報でクエリの構成方法が決まるため重要です。たとえば、HTTP リクエストの平均レイテンシを計算するとします。レイテンシ フィールドにアクセスする方法と、整数(100 など)として保存されるか、文字列("100" など)として保存されるかを認識しておく必要があります。レイテンシ データが文字列として保存される場合、クエリでは平均を計算する前に値を数値に型変換する必要があります。

データ型が JSON の場合、ログ分析は列のフィールドを自動的に推測します。これらの推定フィールドがデータに出現する頻度を確認するには、[ オプション] をクリックして、[情報と説明を表示] を選択します。

スキーマを特定するには、次の操作を行います。

  1. Google Cloud コンソールで、[ログ分析] ページに移動します。

    [ログ分析] に移動

    このページを検索バーで検索する場合は、小見出しが「Logging」の結果を選択します。

  2. [ビュー] ペインで、ログビューまたは分析ビューを見つけて、ビューを選択します。

    スキーマが表示されます。ログビューの場合、スキーマは固定されており、LogEntry データ構造に対応しています。分析ビューの場合は、SQL クエリを変更してスキーマを変更できます。

次のステップ