このドキュメントでは、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 コンソールのプロジェクト選択ツールで選択したプロジェクトです。
指標スコープの構成例
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 システムの指標は無料であり、外部システム、エージェント、またはアプリケーションの指標はそうではありません。課金対象の指標は、取り込まれたバイト数とサンプル数のいずれかによって課金されます。
Cloud Monitoring の料金の詳細については、次のドキュメントをご覧ください。