このドキュメントでは、複数の Google Cloud プロジェクトからのテレメトリー データをモニタリングまたは表示するように 1 つの Google Cloud プロジェクトを構成する方法について説明します。1 つの Google Cloud プロジェクトに保存されているデータのみをモニタリングまたは表示する場合は、構成を行う必要はありません。可視化ツールと分析ツールは、プロジェクト選択ツールで選択した Google Cloud プロジェクトに保存されているデータを使用するように構成されています。ただし、表示または分析するテレメトリー データが複数のプロジェクトから取得されている場合は、そのデータの集計ビューを取得するため、いくつかの構成アクティビティを実行する必要があります。
オブザーバビリティ スコープについて
Google Cloud Observability の分析ツールと可視化ツールはデータ型固有のスコープに依存し、表示または分析するデータを決定します。次のスコープを構成できます。
- オブザーバビリティ スコープ
これは、指標スコープを暗黙的に参照するラッパーです。また、プロジェクトのデフォルトのログスコープとデフォルトのトレース スコープも明示的に一覧表示されます。デフォルトのスコープは、各エクスプローラ ページでデータの検索対象リソースを決定するために使用されます。このスコープを変更するには、デフォルトのログスコープとデフォルトのトレース スコープを設定します。
次のシナリオでは、オブザーバビリティ スコープを構成することをおすすめします。
- アプリは App Hub で登録します。これらは、自分で登録したアプリケーションや、Application Design Center を使用してデプロイしたアプリケーションです。
- 異なる Google Cloud プロジェクトに保存されているテレメトリー データの統合ビューが必要な場合。
- ログスコープ
ログデータを保存するプロジェクト、フォルダ、組織、ログビューを一覧表示します。
1 つのログスコープをデフォルトのログスコープとして設定できます。[ログ エクスプローラ] ページは、ページが開かれたときにデフォルトのログスコープにリストされているリソースを自動的にクエリします。ページを開いた後、別のログスコープを選択することもできます。これにより、選択したスコープにリストされているリソースがページで検索され、表示が更新されます。
次のシナリオでは、デフォルトのログスコープを構成することをおすすめします。
- ログデータを一元化されたログバケットに転送します。
- ログデータを他のプロジェクトまたは別のプロジェクトによって保存されているログバケットに転送します。
- ログビューはアクセス管理に使用します。
詳細については、ログスコープの作成と管理をご覧ください。
- 指標スコープ
現在の Google Cloud プロジェクトで指標データを読み取ることができる Google Cloud プロジェクトを一覧表示します。
各 Google Cloud プロジェクトには 1 つの指標スコープが含まれています。 グラフ、ダッシュボード、アラート ポリシーは、指標スコープに含まれているすべてのプロジェクトに保存されている指標データをクエリします。デフォルトでは、プロジェクトの指標スコープにはそのプロジェクトのみが含まれます。
次のいずれかに該当する場合は、指標スコープを構成することをおすすめします。
- 異なるプロジェクトに保存されているデータをグラフに表示する。
- 異なるプロジェクトに保存されているデータをモニタリングするアラート ポリシーが必要な場合。
詳細については、指標スコープの概要をご覧ください。
- トレースのスコープ
トレースデータを保存するプロジェクトを一覧表示します。
1 つのトレース スコープをデフォルトのトレース スコープとして設定できます。[Trace エクスプローラ] ページは、ページが開いたときにデフォルトのトレース スコープにリストされているリソースを自動的にクエリします。ページを開いたら、別のトレース スコープを選択することもできます。これにより、選択したスコープにリストされているプロジェクトが検索され、表示が更新されます。
異なるプロジェクトに保存されているトレースデータの統合ビューが必要な場合は、トレース スコープを構成することをおすすめします。
詳細については、トレース スコープの作成と管理をご覧ください。
スコープは、特定の種類のデータの検索対象となるリソースを定義します。返されるデータは、これらのリソースに対する Identity and Access Management(IAM)ロールによって決まります。たとえば、ログデータの検索対象リソースを定義するログスコープは、グラフに表示されるデータや [トレース エクスプローラ] ページに表示されるデータには影響しません。また、ログスコープにアクセス権のないログビューがリストされている場合、そのログビューのログエントリは表示されません。
オブザーバビリティ スコープを構成する
このセクションはフォルダや組織には適用されません。
プロジェクトが作成されると、オブザーバビリティ スコープが作成されます。このスコープには、次のスコープが一覧表示されます。
- 指標スコープ。現在のプロジェクトのみが一覧表示されます。
- デフォルトのログスコープ。
_Default
という名前のログスコープに設定されます。 - デフォルトのトレース スコープ。
_Default
という名前のトレース スコープに設定されます。
_Default
という名前のスコープにはプロジェクトのみがリストされ、変更できません。
オブザーバビリティ スコープを変更しない場合、エクスプローラ ページに移動すると、選択したプロジェクトに由来するデータのみが表示されます。すべてのデータ型で、取得されたデータは期間の設定と、検索対象リソースに対する IAM ロールでフィルタされます。
デフォルトのスコープの設定、または、表示
必要な権限があることを確認してください。詳細については、このドキュメントのロールと権限のセクションをご覧ください。
コンソール
Google Cloud プロジェクトのデフォルトのログスコープまたはデフォルトのトレース スコープを表示または設定する手順は次のとおりです。
-
Enable the Observability API.
API を有効にする前に、正しいプロジェクトが選択されていることを確認します。
-
Google Cloud コンソールで、[settings設定] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
[設定] ページには、いくつかのタブがあります。各タブには、特定のテレメトリー タイプのスコープ構成が表示されます。
[ログスコープ] タブまたは [トレース スコープ] タブを選択します。
選択したタブに、タブで指定されたデータ型の事前定義スコープとカスタム スコープのリストが表示されます。「デフォルト」アイコン
のエントリがデフォルトのスコープです。
デフォルトのスコープを変更するには、表でデフォルトとして指定するエントリを見つけ、[more_vert その他] アイコンをクリックして、[デフォルトに設定] を選択します。
REST
デフォルトのトレース スコープの設定はサポートされていません。
Observability API を使用してデフォルトのログスコープを取得または設定する手順は次のとおりです。
Observability API が有効になっていることを確認します。
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Google Cloud CLI のデフォルト プロジェクトを設定します。
gcloud config set project PROJECT_ID
前述のコマンドを実行する前に、次のようにしてください。
- PROJECT_ID: プロジェクトの識別子。
-
Enable the Observability API:
gcloud services enable observability.googleapis.com
-
次のいずれかを行います。
プロジェクトのデフォルトのログスコープを取得するには、
projects.locations.scopes.get
エンドポイントにリクエストを送信します。パスパラメータを指定する必要があります。レスポンスは、デフォルトのログスコープを一覧表示するScope
オブジェクトです。プロジェクトのデフォルトのログスコープを更新するには、
projects.locations.scopes.patch
エンドポイントにリクエストを送信します。パスパラメータとクエリ パラメータを指定し、Scope
オブジェクトを指定する必要があります。クエリ パラメータは、変更されるフィールドを特定します。レスポンスはScope
オブジェクトです。どちらのエンドポイントのパスパラメータも次の形式になります。
projects/PROJECT_ID/locations/LOCATION/scopes/OBSERVABILITY_SCOPE_ID
前の式のフィールドの意味は次のとおりです。
- PROJECT_ID: プロジェクトの識別子。
- LOCATION: ロケーション フィールドは
global
に設定する必要があります。 - OBSERVABILITY_SCOPE_ID:
Scope
オブジェクトの名前。このフィールドは_Default
に設定する必要があります。_Default
という名前のScope
オブジェクトには、デフォルトのログスコープに関する情報が格納され、自動的に作成されます。
ロールと権限
スコープを作成して表示するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
ログスコープを作成して表示し、デフォルトのログスコープを取得する: プロジェクトに対するログ構成書き込み(
roles/logging.configWriter
) -
指標スコープを変更するには、プロジェクトと、指標スコープに追加する各プロジェクトに対するモニタリング管理者(
roles/monitoring.admin
)ロールが必要です。 -
トレース スコープを作成して表示し、デフォルトのトレース スコープを取得する: プロジェクトに対するCloud Trace ユーザー(
roles/cloudtrace.user
) -
デフォルトのスコープを取得して設定する: プロジェクトに対するオブザーバビリティ編集者(
roles/observability.editor
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、スコープの作成と表示に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
スコープを作成して表示するには、次の権限が必要です。
-
ログスコープを構成する:
logging.logScopes.{create, delete, get, list, update}
-
指標スコープを構成する:
monitoring.metricsscopes.{link, get, list}
-
トレース スコープを構成する:
cloudtrace.traceScopes.{create, delete, get, list, update}
-
デフォルトのスコープを取得して設定する:
observability.scopes.{get, update}
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。