このドキュメントでは、Log Analytics で作成したクエリを保存して共有する方法について説明します。
このドキュメントは、Log Analytics と、[ログ分析] ページを使用してログデータをクエリする方法に精通していることを前提としています。これらのトピックについて詳しくは、ログのクエリと分析をご覧ください。
クエリ結果をグラフ化する方法と、そのグラフをカスタム ダッシュボードに保存する方法については、SQL クエリの結果をグラフ化するをご覧ください。
始める前に
このセクションでは、Log Analytics を使用する前に完了する必要がある手順について説明します。
ログバケットを構成する
ログバケットがログ分析を使用できるようにアップグレードされていることを確認します。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
- クエリを実行するログビューを含むログバケットごとに、[ログ分析を使用可能] 列に [開く] が表示されていることを確認します。[アップグレード] が表示されたら、[アップグレード] をクリックしてダイアログを完了します。
IAM のロールと権限を構成する
このセクションでは、ログ分析の使用に必要な IAM ロールまたは権限について説明します。
-
Log Analytics の使用とログビューのクエリ実行に必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。
-
_Required
および_Default
のログバケットに対してクエリを実行するには: ログ閲覧者(roles/logging.viewer
) -
プロジェクト内のすべてのログビューをクエリするには:
ログビューアクセサー (
roles/logging.viewAccessor
)
プリンシパルを特定のログビューに制限するには、プロジェクト レベルで行われたログビュー アクセサー ロールの付与に IAM 条件を追加するか、ログビューのポリシー ファイルに IAM バインディングを追加します。詳細については、ログビューへのアクセスを制御するをご覧ください。
これらの権限は、[ログ エクスプローラ] ページでログエントリを表示するために必要な権限と同じです。ユーザー定義バケットに対するビューのクエリ実行、または
_Default
ログバケットの_AllLogs
ビューのクエリ実行のために必要な追加のロールについて詳しくは、Cloud Logging のロールをご覧ください。 -
クエリを保存する
実行するすべてのクエリは自動的に 30 日間保存され、[ログ分析] ページの [最近] タブを選択することでアクセスできます。[最近] タブに表示されるクエリを検索、表示、実行、共有できます。
クエリを後で使用できるようにするには、自分に役立つ情報でアノテーションを付けるか、チームメイトがクエリを表示して実行できるようにしてから、クエリを保存します。保存したクエリは、名前、説明、公開設定ラベルで検索、並べ替えることができます。これらのクエリは編集、削除することもできます。保存したクエリは、削除するまで保持されます。
Google Cloud プロジェクトごとに 10,000 件のクエリを保存できます。
コンソール
クエリを保存する手順は次のとおりです。
-
Google Cloud コンソールで、[ログ分析] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。
[クエリ] ペインにクエリを入力します。
[クエリ] ペインにクエリを入力するには、新しいクエリを入力するか、[最近] タブからクエリを選択するか、[保存済み] タブからクエリを選択します。
[クエリ] ペインのクエリが有効になると、
[保存] が有効になります。[保存] をクリックし、[名前] フィールドと [説明] フィールドに入力します。 これらのフィールドに設定した値は、[保存済み] タブに表示されます。
省略可: Google Cloud プロジェクト ビューの [ログ分析] ページへのアクセス権を持つユーザーが保存したクエリを実行できるようにするには、[プロジェクトで共有] の切り替えを有効にします。
デフォルトでは、この切り替えは無効になっており、表示が制限されています。
[クエリを保存] をクリックします。
省略可: 表示可能な保存したクエリを表示、並べ替え、実行するには、[保存済み] タブを選択します。
保存したクエリは、名前、説明、公開設定ラベルで並べ替えおよびフィルタリングできます。クエリの内容でフィルタすることもできます。
[保存済み] タブのオプションを使用して、作成したクエリを編集および削除できます。
クエリを編集するには、more_vert [その他のオプション] をクリックし、[編集] を選択します。 [名前] フィールドと [説明] フィールドの値は変更できますが、クエリ自体は変更できません。
保存済みクエリを削除するには、more_vert [その他のオプション] をクリックし、[削除] を選択します。
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 を開くと、実行したクエリとその結果が表示されます。
クエリと結果をチームメンバーと共有する手順は、次のとおりです。
-
Google Cloud コンソールで、[ログ分析] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが「Logging」の結果を選択します。
[クエリ] ペインにクエリを入力し、[クエリを実行] をクリックします。
[クエリ] ペインにクエリを入力するには、新しいクエリを入力するか、[最近] タブからクエリを選択するか、[保存済み] タブからクエリを選択します。
link [リンクを共有] をクリックします。
チームメートにリンクを送信します。
同僚がリンクを開くと、[ログ分析] ページが開きます。このページには、実行したクエリとその結果が表示されます。
URL を正常に開くには、Google Cloud プロジェクトのチームメートの Identity and Access Management ロールに、Logging ページの表示に必要な権限が含まれている必要があります。
API
Logging API を使用して共有クエリを作成するには、savedQueries.Create
メソッドを使用して visibility
フィールドに SHARED
の値を指定します。詳細については、savedQueries.create
のリファレンス ページをご覧ください。
最近のクエリまたは保存済みクエリの表示と実行
クエリを表示または再実行するには、[ログ分析] ページで [最近] タブを選択し、クエリを探します。
- クエリを実行するには、[実行] をクリックします。
- クエリを表示するには、more_vert [その他のオプション] メニューのオプションを使用します。
保存済みクエリを表示、編集、実行するには、[ログ分析] ページの [保存済み] タブを選択し、クエリを探します。
- クエリを実行するには、[実行] をクリックします。
- クエリを編集、表示、削除するには、more_vert [その他のオプション] メニューのオプションを使用します。