このドキュメントでは、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 functions の関数をデプロイします。関数は Node.js で作成し、オープンソースの Synthetics SDK フレームワークに依存する必要があります。Cloud Monitoring は、このフレームワークを配布して管理します。
Cloud Monitoring は、次のタイプの合成モニターをサポートしています。
カスタム モニターまたは Mocha ベースの合成モニターを使用すると、完全に構成可能な単一目的の Cloud Run functions の関数をデプロイできます。
無効なリンク チェッカーを使用すると、事前構成された Cloud Run functions の関数をデプロイする前に、元の URI、テストされたリンクの数、再試行回数などを指定できます。
Google Cloudが提供する合成モニターのリクエスト実行システムでは、以下のものが管理されます。
- Cloud Run functions の関数の定期的な実行。
各実行の結果の収集と保存。
- エラー メッセージ、エラータイプ、コード行などの成功と失敗の情報。
- 実行時間
- ログ
- 指標
実行結果を表示する方法については、合成モニターの結果を探索するをご覧ください。
結果をモニタリングして表示する
合成モニターと稼働時間チェックの結果は、 Google Cloud コンソールで確認できます。
- 合成モニターの場合は、[合成モニタリング] ページに移動します。
- 稼働時間チェックの場合は、[稼働時間チェック] ページに移動します。
合成モニターまたは稼働時間チェックが失敗したときに通知を受け取るには、Google Cloud コンソールまたは Google Cloud CLI を使用してアラート ポリシーを作成します。
エラーのトラブルシューティング
トラブルシューティングを支援するため、リクエスト ヘッダーとログデータに、関連する合成モニターまたは稼働時間チェックの ID が含まれています。詳細については、合成モニターまたは稼働時間チェックのトラブルシューティングをご覧ください。
データのリージョン
Assured Workloads を設定した場合は、合成モニターや稼働時間チェックを使用しないでください。データ所在地または影響レベル 4(IL4)の要件が存在します。
Cloud Monitoring は、稼働時間チェック リクエストのデータが特定の地理的位置に保持されることは保証しません。
Cloud Run functions の関数に依存する合成モニターでは、Cloud Run functions の関数がデプロイされるリージョンを指定できます。ただし、関数は稼働時間チェック サーバーでサポートされている任意のリージョンから呼び出すことができます。この動作は構成できません。
料金
一般に、Cloud Monitoring システムの指標は無料であり、外部システム、エージェント、またはアプリケーションの指標はそうではありません。課金対象の指標は、取り込まれたバイト数とサンプル数のいずれかによって課金されます。
Cloud Monitoring の料金の詳細については、次のドキュメントをご覧ください。
上限
合成モニターの使用には、次の上限が適用されます。
カテゴリ | 値 |
---|---|
指標スコープごとの稼働時間チェック* | 100 |
パブリック稼働時間チェックごとの ICMP ping の最大数 | 3 |
指標スコープごとの合成モニタリング | 100† |
†この上限を引き上げる方法については、 Google Cloud コンソールを使用して割り当てを管理するをご覧ください。
次のステップ
稼働時間チェックについては、次のドキュメントをご覧ください。
合成モニターについては、次のドキュメントをご覧ください。