SQL クエリを保存して共有する

このドキュメントでは、Log Analytics で作成したクエリを保存して共有する方法について説明します。

このドキュメントは、Log Analytics と、[ログ分析] ページを使用してログデータをクエリする方法に精通していることを前提としています。これらのトピックについて詳しくは、ログのクエリと分析をご覧ください。

クエリ結果をグラフ化する方法と、そのグラフをカスタム ダッシュボードに保存する方法については、SQL クエリの結果をグラフ化するをご覧ください。

始める前に

このセクションでは、Log Analytics を使用する前に完了する必要がある手順について説明します。

ログバケットを構成する

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

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

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

    検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。

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

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

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

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

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

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

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

クエリを保存する

実行するすべてのクエリは自動的に 30 日間保存され、[ログ分析] ページの [最近] タブを選択することでアクセスできます。[最近] タブに表示されるクエリを検索、表示、実行、共有できます。

クエリを後で使用できるようにするには、自分に役立つ情報でアノテーションを付けるか、チームメイトがクエリを表示して実行できるようにしてから、クエリを保存します。保存したクエリは、名前、説明、公開設定ラベルで検索、並べ替えることができます。これらのクエリは編集、削除することもできます。保存したクエリは、削除するまで保持されます。

Google Cloud プロジェクトごとに 10,000 件のクエリを保存できます。

コンソール

クエリを保存する手順は次のとおりです。

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

    [ログ分析] に移動

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

  2. [クエリ] ペインにクエリを入力します。

    [クエリ] ペインにクエリを入力するには、新しいクエリを入力するか、[最近] タブからクエリを選択するか、[保存済み] タブからクエリを選択します。

    [クエリ] ペインのクエリが有効になると、 [保存] が有効になります。

  3. [保存] をクリックし、[名前] フィールドと [説明] フィールドに入力します。 これらのフィールドに設定した値は、[保存済み] タブに表示されます。

  4. 省略可: Google Cloud プロジェクト ビューの [ログ分析] ページへのアクセス権を持つユーザーが保存したクエリを実行できるようにするには、[プロジェクトで共有] の切り替えを有効にします。

    デフォルトでは、この切り替えは無効になっており、表示が制限されています。

  5. [クエリを保存] をクリックします。

  6. 省略可: 表示可能な保存したクエリを表示、並べ替え、実行するには、[保存済み] タブを選択します。

    保存したクエリは、名前、説明、公開設定ラベルで並べ替えおよびフィルタリングできます。クエリの内容でフィルタすることもできます。

[保存済み] タブのオプションを使用して、作成したクエリを編集および削除できます。

  • クエリを編集するには、 [その他のオプション] をクリックし、[編集] を選択します。 [名前] フィールドと [説明] フィールドの値は変更できますが、クエリ自体は変更できません。

  • 保存済みクエリを削除するには、 [その他のオプション] をクリックし、[削除] を選択します。

API

Logging API を使用してクエリを保存するには、savedQueries.create メソッドを使用します。このメソッド、そのパラメータ、レスポンス データの詳細については、savedQueries.create のリファレンス ページをご覧ください。

savedQueries.create メソッドは、メソッドのリファレンス ページにある API Explorer ウィジェットを使用して実行できます。ログ分析のクエリでは、opsAnalyticsQuery フィールドを指定する必要があります。次の例は、SavedQuery のインスタンスを含むリクエスト本文の例を示しています。

{
  "parent": "projects/my-project/locations/global"
  "saved_query":
  {
     "ops_analytics_query":
     {
        "sql_query_text" :
           "SELECT
           timestamp, log_name, severity, json_payload, resource, labels
           FROM
           `TABLE_NAME_OF_LOG_VIEW`
           WHERE
           timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
           ORDER BY timestamp ASC
           LIMIT 100"
     }
     "visibility": "PRIVATE"
  }
}

クエリを共有する

保存したクエリは、Google Cloud プロジェクトにアクセスできるすべてのユーザーと共有できます。ただし、クエリを実行できるかどうかと、クエリで返されるデータは、プリンシパルの IAM ロールによって決まります。

コンソール

問題のトラブルシューティングを行う場合や、異常な結果が発生した場合、クエリとその結果をチームメイトと共有することをおすすめします。[ログ分析] ページでクエリ結果を表示するときに、URL をコピーできます。この URL を開くと、実行したクエリとその結果が表示されます。

クエリと結果をチームメンバーと共有する手順は、次のとおりです。

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

    [ログ分析] に移動

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

  2. [クエリ] ペインにクエリを入力し、[クエリを実行] をクリックします。

    [クエリ] ペインにクエリを入力するには、新しいクエリを入力するか、[最近] タブからクエリを選択するか、[保存済み] タブからクエリを選択します。

  3. [リンクを共有] をクリックします。

  4. チームメートにリンクを送信します。

    同僚がリンクを開くと、[ログ分析] ページが開きます。このページには、実行したクエリとその結果が表示されます。

    URL を正常に開くには、Google Cloud プロジェクトのチームメートの Identity and Access Management ロールに、Logging ページの表示に必要な権限が含まれている必要があります。

API

Logging API を使用して共有クエリを作成するには、savedQueries.Create メソッドを使用して visibility フィールドに SHARED の値を指定します。詳細については、savedQueries.create のリファレンス ページをご覧ください。

最近のクエリまたは保存済みクエリの表示と実行

クエリを表示または再実行するには、[ログ分析] ページで [最近] タブを選択し、クエリを探します。

  • クエリを実行するには、[実行] をクリックします。
  • クエリを表示するには、 [その他のオプション] メニューのオプションを使用します。

保存済みクエリを表示、編集、実行するには、[ログ分析] ページの [保存済み] タブを選択し、クエリを探します。

  • クエリを実行するには、[実行] をクリックします。
  • クエリを編集、表示、削除するには、 [その他のオプション] メニューのオプションを使用します。

次のステップ