このドキュメントでは、Cloud Monitoring が Google Cloud プロジェクトでグラフ化およびモニタリングできる時系列データを決定する方法について説明します。Google Cloud プロジェクトで収集された時系列データのみをグラフ化してモニタリングする場合は、構成を行う必要はありません。Compute Engine のクイックスタートを完了することをおすすめします。ただし、複数の Google Cloud プロジェクトで収集された時系列データをグラフ化してモニタリングする場合は、いくつかの構成が必要です。このドキュメントでは、データモデルとベスト プラクティスについて説明します。構成情報については、次のステップのセクションに記載されているドキュメントをご覧ください。
データモデル
このセクションでは、リソース コンテナ、指標スコープ、スコープ対象プロジェクトのコンセプトについて説明します。
- リソース コンテナ
- リソース コンテナとは、Google Cloud プロジェクトのことです。リソース コンテナには、そのコンテナで使用されているサービスと割り当ての時系列データが保存されます。リソース コンテナによって格納される時系列データには、リソース コンテナを識別するラベルが含まれます。複数のリソース コンテナに保存されているデータを表示する場合は、そのラベルでフィルタリングしてグループ化できます。
- 指標スコープ
- Google Cloud プロジェクトの指標スコープは、プロジェクトでグラフ化およびモニタリングできる時系列データを持つセットのリソース コンテナを定義します。デフォルトでは、Google Cloud プロジェクトの指標スコープにはそのプロジェクトのみが含まれます。したがって、指標スコープを構成しない限り、Google Cloud プロジェクトは保存されている時系列データのみをグラフ化してモニタリングできます。Google Cloud コンソール、Google Cloud CLI、Cloud Monitoring API を使用して、指標スコープに含まれるリソース コンテナのリストを変更できます。
- スコーピング プロジェクト
- スコープ対象プロジェクトは指標スコープをホストし、アラート ポリシー、稼働時間チェック、ダッシュボード、合成モニター、モニタリング グループを保存します。すべての Google Cloud プロジェクトが指標スコープをホストするため、すべてのプロジェクトがスコープ対象プロジェクトでもあります。Google Cloud コンソールを使用する場合、スコープ対象プロジェクトは、Google Cloud コンソールのプロジェクト選択ツールで選択したプロジェクトです。
指標スコープの構成例
Compute Engine 仮想マシン(VM)インスタンスを含む Staging
と Production
という名前の 2 つのプロジェクトがあるとします。すべての 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 の料金の詳細については、次のドキュメントをご覧ください。