このドキュメントでは、Cloud Monitoring が Google Cloud プロジェクトでグラフ化とモニタリングが可能な時系列データを決定する方法について説明します。 Google Cloud プロジェクトで収集された時系列データのグラフ化とモニタリングのみを行う場合、構成を行う必要はありません。Compute Engine のクイックスタートを完了することをおすすめします。ただし、複数の Google Cloud プロジェクトで収集された時系列データのグラフ化とモニタリングを行う場合は、一部の構成が必要となります。このドキュメントでは、データモデルとベスト プラクティスについて説明します。構成情報については、次のステップのセクションに記載されているドキュメントをご覧ください。
データモデル
このセクションでは、リソース コンテナ、指標スコープ、スコーピング プロジェクトのコンセプトについて説明します。
- リソース コンテナ
- リソース コンテナとは、 Google Cloud プロジェクトのことです。リソース コンテナには、そのコンテナで使用されるサービスと割り当ての時系列データが保存されます。リソース コンテナによって保存される時系列データには、リソース コンテナを識別するラベルが含まれています。複数のリソース コンテナに保存されているデータを表示する場合は、そのラベルでフィルタリングしてグループ化できます。
- 指標スコープ
- Google Cloud プロジェクトの指標スコープでは、プロジェクトでグラフ化してモニタリングできる時系列データのリソース コンテナのセットが定義されます。モニタリング対象のデータには、作成して SLO とアラート ポリシーに関連付けるサービスが含まれます。デフォルトでは、 Google Cloud プロジェクトの指標スコープにはそのプロジェクトのみが含まれます。したがって、指標スコープを構成しない限り、 Google Cloud プロジェクトでグラフ化してモニタリングできるのは、保存されている時系列データのみです。 Google Cloud コンソール、Google Cloud CLI、Cloud Monitoring API を使用して、指標スコープに含まれるリソース コンテナのリストを変更できます。
- スコーピング プロジェクト
- 指標スコープはスコーピング プロジェクトがホストします。スコーピング プロジェクトには、構成したアラート ポリシー、稼働時間チェック、ダッシュボード、合成モニター、サービス、モニタリング グループが格納されています。すべての Google Cloud プロジェクトが指標スコープをホストするため、すべてのプロジェクトがスコーピング プロジェクトでもあります。 Google Cloud コンソールを使用する場合、スコーピング プロジェクトは、 Google Cloud コンソールのプロジェクト選択ツールで選択したプロジェクトです。
App Hub のアプリケーションと指標スコープ
App Hub ホスト プロジェクトと単一プロジェクト境界の管理プロジェクトの指標スコープを管理します。指標スコープは、Google Cloud コンソールまたは Cloud Monitoring API を使用して管理できます。
Google Cloud はアプリ管理用フォルダの指標スコープを管理しますが、指標スコープの割り当てが不足しているために指標スコープへのプロジェクトの追加が失敗した場合を除きます。この場合、割り当ての増加をリクエストしてから、アプリ管理用フォルダの管理プロジェクトの指標スコープにプロジェクトを手動で追加できます。詳細については、アプリ管理用フォルダの指標スコープをご確認ください。
指標スコープの構成例
Compute Engine 仮想マシン(VM)インスタンスを含む 2 つのプロジェクト(Staging と Production)があるとします。すべての VM の指標を 1 つのビューで表示するには、別のプロジェクト AllEnvironments を作成し、Staging プロジェクトと Production プロジェクトを AllEnvironments という名前のプロジェクトの指標スコープに追加します。
この構成で Staging プロジェクトに保存された時系列データを表示するグラフを作成するには、まず Google Cloud コンソールを開き、 Google Cloud コンソールのプロジェクト選択ツールでプロジェクトを選択します。
AllEnvironmentsを選択すると、Stagingプロジェクトによって保存された時系列データと、ProductionプロジェクトとAllEnvironmentsプロジェクトによって保存された時系列データがグラフに表示されます。Stagingプロジェクトによって保存されている時系列データを表示するには、フィルタを追加します。次の図の点線は、
AllEnvironmentsプロジェクトで時系列データをグラフ化してモニタリングできるプロジェクトを示しています。
Stagingを選択すると、Stagingプロジェクトによって保存された時系列データがグラフに表示されます。
ベスト プラクティス
複数のリソース コンテナに保存されている時系列データをグラフ化またはモニタリングする場合は、新しい Google Cloud プロジェクトまたはリソースのないプロジェクトをスコーピング プロジェクトとして使用することをおすすめします。これらのプロジェクトは時系列データを格納しないためです。
スコーピング プロジェクトに VM などのリソースが含まれているシナリオについて考えてみましょう。スコーピング プロジェクト内の VM の時系列データのみをグラフ化またはモニタリングするには、フィルタを指定してモニタリング対象リソース コンテナに保存されている VM から時系列を除外する必要があります。フィルタを使用する必要があると、グラフとアラート ポリシーの構成の複雑さが増し、構成エラーが発生しやすくなる可能性があります。
複数のスコーピング プロジェクトを使用して、プロジェクトに保存されている時系列データにアクセスできるチームを制御することを検討してください。次の表に、可能な構成を示します。
スコープ A スコープ B スコープ C スコーピング プロジェクト scoping-project-A scoping-project-B scoping-project-C モニタリング対象プロジェクト プロジェクト 1
プロジェクト 2プロジェクト 3
プロジェクト 4プロジェクト 1
プロジェクト 2
プロジェクト 3
プロジェクト 4
プロジェクト 5IAM 権限のあるグループ
(例)開発チーム A 開発チーム B SRE チーム
Cloud Monitoring へのアクセス権を付与する
プロジェクトでグラフ化またはモニタリングできる時系列データを表示するには、プロジェクトの Identity and Access Management(IAM)ロールに、Monitoring 閲覧者(roles/monitoring.viewer)ロールのすべての権限が含まれている必要があります。その他の権限は必要ありません。
たとえば、スコーピング プロジェクトの指標スコープが 3 つの Google Cloud プロジェクトをモニタリングしており、スコーピング プロジェクトに対するモニタリング閲覧者のロールを持っているとします。 Google Cloud コンソールを使用してスコーピング プロジェクトにアクセスすると、そのプロジェクトに保存されている時系列データと他の 3 つの Google Cloud プロジェクトに保存されている時系列データを表示できます。
指標スコープを変更するには、スコーピング プロジェクトと追加する各リソース コンテナの IAM ロールに、Monitoring 管理者(roles/monitoring.admin)ロールのすべての権限が含まれている必要があります。
詳細については、Identity and Access Management によるアクセス制御をご覧ください。
料金
Cloud Monitoring の料金については、Google Cloud Observability の料金ページをご覧ください。