オブザーバビリティ スコープの概要

このドキュメントでは、複数の 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 プロジェクトのデフォルトのログスコープまたはデフォルトのトレース スコープを表示または設定する手順は次のとおりです。

  1. Enable the Observability API.

    Enable the API

    API を有効にする前に、正しいプロジェクトが選択されていることを確認します。

  2. Google Cloud コンソールで、[設定] ページに移動します。

    [設定] に移動

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

    [設定] ページには、いくつかのタブがあります。各タブには、特定のテレメトリー タイプのスコープ構成が表示されます。

  3. [ログスコープ] タブまたは [トレース スコープ] タブを選択します。

    選択したタブに、タブで指定されたデータ型の事前定義スコープとカスタム スコープのリストが表示されます。「デフォルト」アイコン のエントリがデフォルトのスコープです。

  4. デフォルトのスコープを変更するには、表でデフォルトとして指定するエントリを見つけ、[ その他] アイコンをクリックして、[デフォルトに設定] を選択します。

REST

デフォルトのトレース スコープの設定はサポートされていません。

Observability API を使用してデフォルトのログスコープを取得または設定する手順は次のとおりです。

  1. Observability API が有効になっていることを確認します。

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Google Cloud CLI のデフォルト プロジェクトを設定します。

      gcloud config set project PROJECT_ID
      

      前述のコマンドを実行する前に、次のようにしてください。

      • PROJECT_ID: プロジェクトの識別子。
    3. Enable the Observability API:

      gcloud services enable observability.googleapis.com
  2. 次のいずれかを行います。

    • プロジェクトのデフォルトのログスコープを取得するには、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}

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。