合成モニタリングの概要

このドキュメントでは、Cloud Monitoring で提供される合成モニターのサポートについて説明します。合成モニターを使用すると、サービス、アプリケーション、ウェブページ、API の可用性、整合性、パフォーマンスをテストできます。合成モニターは、シミュレートされたリクエストを定期的に発行し、それらのリクエストが成功したかどうかを記録して、リクエストに関する追加データ(レイテンシなど)を記録します。テスト結果をモニタリングするアラート ポリシーを作成すると、テストが失敗したときに通知を受け取ることができます。

サービスとアプリケーションをテストするには、次のいずれかの方法を使用します。

  • 稼働時間チェックを使用すると、Google Cloud は HTTP、HTTPS、TCP リクエストに応答するアプリケーションを定期的にクエリできます。稼働時間チェックでは、パブリック エンドポイントまたはプライベート エンドポイントをテストし、レスポンス データを検証できます。

  • カスタム モニターと Mocha ベースの合成モニターを使用すると、HTTP リクエストまたは HTTPS リクエストに対応するアプリケーションのテストに使用できる一連のテストをデプロイできます。これらの合成モニターを作成するには、Cloud Monitoring が提供するフレームワーク(カスタムまたは Mocha)を使用し、テストを作成します。このプロジェクトの Gemini Code Assist にアクセスできる場合は、プロンプトを提供してテストコードを生成できます。

  • 無効なリンク チェッカーは、Google Cloud で URI を定期的にテストし、その URI で構成可能なリンク数をテストします。

次のテーブルに、稼働時間チェックと合成モニターの作成に使用できるツールを示します。

Google Cloud コンソール Cloud Monitoring API Terraform クライアント ライブラリ
稼働時間チェック
合成モニタリング
無効なリンク チェッカー

稼働時間チェックについて

稼働時間チェックには、次の 2 つの種類があります。

  • 公開稼働時間チェックは、世界中の複数のロケーションから、一般公開されている URL または Google Cloud リソースにリクエストを発行します。
  • 非公開稼働時間チェックでは、Google Cloud リソースの内部 IP アドレスにリクエストを発行します。非公開稼働時間チェックでは、仮想マシン(VM)や L4 内部ロードバランサ(ILB)などのリソースにプライベート ネットワーク経由でリクエストを送信できます。

稼働時間チェックのために行われるリクエストは、複数の Google Cloud リージョンに存在するチェッカーから発信されます。稼働時間チェックを作成するときに、チェッカーのリージョンを指定します。

Google Cloud が提供する稼働時間チェックのリクエスト実行システムは、以下を管理します。

  • 構成されたチェッカーの実行。
  • 結果の検証。

    リソースが応答し、稼働時間チェック構成の要件が満たされている場合、チェッカーから発行されたリクエストは成功します。それ以外の場合、リクエストは失敗します。個々のチェッカーによるクエリはステートレスです。つまり、各クエリは独立したアクションです。

  • 結果の収集と稼働時間チェック指標への保存。

    これらの指標の詳細については、monitoring 指標テーブルuptime_check エントリをご覧ください。

  • 失敗した場合にログエントリを書き込む。

    Google Cloud コンソールを使用して稼働時間チェックを作成する場合は、チェックが失敗したときにログエントリも書き込むように稼働時間チェックを構成できます。ICMP ping を送信するように公開稼働時間チェックを構成した場合、ping が失敗すると、ping の結果が Cloud Logging ログに書き込まれます。詳細については、ICMP ping を使用するをご覧ください。

無効なリンク チェッカーとその他の合成モニターについて

合成モニターを使用すると、テスト対象とテストの順序を定義できます。たとえば、アプリケーションのログインページ、e コマースストアのチェックアウト プロセス、アプリケーションがサードパーティ サービスに対して行う API 呼び出しをテストできます。

合成モニターを作成するときに、Cloud Run 上に構築された第 2 世代の Cloud Run 関数をデプロイします。関数は Node.js で作成し、オープンソースの Synthetics SDK フレームワークに依存する必要があります。Cloud Monitoring はこのフレームワークを分散して管理します。

Cloud Monitoring は、次のタイプの合成モニターをサポートしています。

Google Cloud が提供する合成モニターのリクエスト実行システムは、以下を管理します。

  • Cloud Run 関数の定期的な実行。
  • 各実行の結果の収集と保存。

    • 成功と失敗に関する情報(エラー メッセージ、エラータイプ、コード行など)。
    • 実行時間
    • ログ
    • 指標

    実行結果を表示する方法については、合成モニターの結果を探索するをご覧ください。

結果をモニタリングして表示する

合成モニターと稼働時間チェックの結果は、Google Cloud コンソールで確認できます。

  • 合成モニターの場合は、[合成モニター] ページに移動します。
  • 稼働時間チェックの場合は、[稼働時間チェック] ページに移動します。

合成モニターまたは稼働時間チェックが失敗したときに通知を受け取るには、Google Cloud コンソールまたは Google Cloud CLI を使用してアラート ポリシーを作成します。

エラーのトラブルシューティング

トラブルシューティングを支援するため、リクエスト ヘッダーとログデータに、関連する合成モニターまたは稼働時間チェックの ID が含まれます。詳細については、合成モニターまたは稼働時間チェックのトラブルシューティングをご覧ください。

データのリージョン

Assured Workloads を設定した場合は、合成モニターや稼働時間チェックを使用しないでください。データ所在地または影響レベル 4(IL4)の要件が存在します。

Cloud Monitoring は、稼働時間チェック リクエストのデータが特定の地理的位置に保持されることは保証しません。

Cloud Run 関数に依存する合成モニターでは、Cloud Run 関数がデプロイされるリージョンを指定できます。ただし、関数は、稼働時間チェック サーバーでサポートされている任意のリージョンから呼び出すことができます。この動作は構成できません。

料金

一般に、Cloud Monitoring システムの指標は無料であり、外部システム、エージェント、またはアプリケーションの指標はそうではありません。課金対象の指標は、取り込まれたバイト数とサンプル数のいずれかによって課金されます。

Cloud Monitoring の料金の詳細については、次のドキュメントをご覧ください。

上限

合成モニターの使用には、次の上限が適用されます。

カテゴリ
指標スコープごとの稼働時間チェック* 100
公開稼働時間チェックごとの ICMP ping の最大数 3
指標スコープごとの合成モニタリング 100
*この上限は稼働時間チェックの構成の数に適用されます。稼働時間チェックの各構成には、指定されたリソースのステータスを確認する時間間隔が含まれます。
この上限を引き上げる方法については、Google Cloud コンソールを使用して割り当てを管理するをご覧ください。

次のステップ