GCP Cloud Run¶
GCP Cloud Run サービスのリクエストトラフィック、レイテンシーの内訳、コンテナの CPU/メモリリソース、インスタンスのスケーリング、プローブ起動などのメトリクスを収集します
設定¶
Func のインストール¶
Guanceの統合 - 拡張 - マネージド版 Func を有効化することを推奨します。前提条件はすべて自動でインストールされるため、そのままスクリプトのインストールを続けてください
Func を自前でデプロイする場合はFunc を自前でデプロイを参照してください
スクリプトのインストール¶
-
Func コンソールにログインし、【スクリプトマーケット】をクリックして、Guanceスクリプトマーケットに入り、
integration_gcp_runを検索します -
【インストール】をクリックした後、該当するパラメータを入力します。アカウントファイル名、Target Principal、アカウント名
-
【起動スクリプトをデプロイ】をクリックすると、システムが自動で
Startupスクリプトセットを作成し、対応する起動スクリプトを自動で設定します。 -
有効化後は「管理 / 自動トリガー設定」で対応する自動トリガー設定を確認できます。【実行】をクリックすると、定期実行を待たずにすぐ 1 回実行できます。しばらくすると、実行タスクの記録と対応するログを確認できます。
検証¶
- 「管理 / 自動トリガー設定」で、対象タスクに対応する自動トリガー設定が存在するか確認し、あわせてタスク記録とログを確認して異常がないかチェックします
- Guance の「メトリクス」で、
gcp_runメトリクスセットと対応する監視データが存在するか確認します - Guance の「メトリクス」で、対応する監視データがあるか確認します
メトリクス¶
Cloud Run のメトリクスはすべて gcp_run メトリクスセットに集約されます。元のメトリクス は Cloud Monitoring の run.googleapis.com/ 名前空間下のメトリクス型です。分布型メトリクスは、収集器によって統計量に基づき _avg、_p95、_p99、_samplecount、_sumsqdev の複数フィールドに分割されます。
共通ラベル:
| ラベル | 説明 |
|---|---|
| account_name | 統合アカウント名。一意識別子として使用 |
| cloud_provider | クラウドベンダー。gcp に固定 |
| project_id | GCP プロジェクト ID |
| project_name | GCP プロジェクト名 |
| location | サービスの所在リージョン |
| service_name | Cloud Run サービス名 |
| revision_name | リビジョン名 |
| configuration_name | 設定名 |
| container_name | コンテナ名(コンテナ単位のメトリクス) |
| monitor_resource_type | 監視リソース種別 |
一部のメトリクスに付与される固有ラベル:response_code、response_code_class(リクエスト系メトリクス)、state(コンテナ/インスタンスの状態)、readiness_status(レディネス状態)、scaling_driver(スケーリングドライバー)、probe_type、probe_action、is_healthy、is_default(プローブ系メトリクス)、kind(ネットワークトラフィック種別)。
gcp_run¶
| メトリクス | 元のメトリクス | 説明 | 単位 |
|---|---|---|---|
| container_billable_instance_time | container/billable_instance_time | 課金対象となるコンテナインスタンスの稼働時間 | 秒 |
| container_completed_probe_attempt_count | container/completed_probe_attempt_count | 完了したプローブ試行回数 | 回 |
| container_completed_probe_count | container/completed_probe_count | 完了したプローブチェック回数 | 回 |
| container_containers | container/containers | 各状態のコンテナ数 | 個 |
| container_cpu_allocation_time | container/cpu/allocation_time | コンテナに割り当てられた CPU 時間 | コア・秒 |
| container_cpu_usage_avg | container/cpu/usage | コンテナ CPU 使用量の平均値 | 秒 |
| container_cpu_usage_p95 | container/cpu/usage | コンテナ CPU 使用量の 95 パーセンタイル | 秒 |
| container_cpu_usage_p99 | container/cpu/usage | コンテナ CPU 使用量の 99 パーセンタイル | 秒 |
| container_cpu_usage_samplecount | container/cpu/usage | コンテナ CPU 使用量のサンプル数 | 個 |
| container_cpu_utilizations_avg | container/cpu/utilizations | コンテナ CPU 利用率の平均値 | 比率(0-1) |
| container_cpu_utilizations_p95 | container/cpu/utilizations | コンテナ CPU 利用率の 95 パーセンタイル | 比率(0-1) |
| container_cpu_utilizations_p99 | container/cpu/utilizations | コンテナ CPU 利用率の 99 パーセンタイル | 比率(0-1) |
| container_cpu_utilizations_samplecount | container/cpu/utilizations | コンテナ CPU 利用率のサンプル数 | 個 |
| container_instance_count | container/instance_count | 各状態(アクティブ、アイドル)のコンテナインスタンス数 | 個 |
| container_instance_count_with_readiness | container/instance_count_with_readiness | レディネス状態別のコンテナインスタンス数 | 個 |
| container_max_request_concurrencies_avg | container/max_request_concurrencies | 単一インスタンスの最大リクエスト同時実行数の平均値 | 個 |
| container_max_request_concurrencies_p95 | container/max_request_concurrencies | 単一インスタンスの最大リクエスト同時実行数の 95 パーセンタイル | 個 |
| container_max_request_concurrencies_p99 | container/max_request_concurrencies | 単一インスタンスの最大リクエスト同時実行数の 99 パーセンタイル | 個 |
| container_max_request_concurrencies_samplecount | container/max_request_concurrencies | 単一インスタンスの最大リクエスト同時実行数のサンプル数 | 個 |
| container_memory_allocation_time | container/memory/allocation_time | コンテナに割り当てられたメモリ時間 | バイト・秒 |
| container_memory_tmpfs_usage_samplecount | container/memory/tmpfs_usage | コンテナ tmpfs メモリ使用量のサンプル数 | 個 |
| container_memory_usage_avg | container/memory/usage | コンテナメモリ使用量の平均値 | バイト |
| container_memory_usage_p95 | container/memory/usage | コンテナメモリ使用量の 95 パーセンタイル | バイト |
| container_memory_usage_p99 | container/memory/usage | コンテナメモリ使用量の 99 パーセンタイル | バイト |
| container_memory_usage_samplecount | container/memory/usage | コンテナメモリ使用量のサンプル数 | 個 |
| container_memory_utilizations_avg | container/memory/utilizations | コンテナメモリ利用率の平均値 | 比率(0-1) |
| container_memory_utilizations_p95 | container/memory/utilizations | コンテナメモリ利用率の 95 パーセンタイル | 比率(0-1) |
| container_memory_utilizations_p99 | container/memory/utilizations | コンテナメモリ利用率の 99 パーセンタイル | 比率(0-1) |
| container_memory_utilizations_samplecount | container/memory/utilizations | コンテナメモリ利用率のサンプル数 | 個 |
| container_network_received_bytes_count | container/network/received_bytes_count | コンテナの受信ネットワークバイト数 | バイト |
| container_network_sent_bytes_count | container/network/sent_bytes_count | コンテナの送信ネットワークバイト数 | バイト |
| container_probe_attempt_latencies_avg | container/probe_attempt_latencies | 1 回のプローブ試行レイテンシーの平均値 | ミリ秒 |
| container_probe_attempt_latencies_p95 | container/probe_attempt_latencies | 1 回のプローブ試行レイテンシーの 95 パーセンタイル | ミリ秒 |
| container_probe_attempt_latencies_p99 | container/probe_attempt_latencies | 1 回のプローブ試行レイテンシーの 99 パーセンタイル | ミリ秒 |
| container_probe_attempt_latencies_samplecount | container/probe_attempt_latencies | 1 回のプローブ試行レイテンシーのサンプル数 | 個 |
| container_probe_latencies_avg | container/probe_latencies | プローブレイテンシーの平均値(再試行込み) | ミリ秒 |
| container_probe_latencies_p95 | container/probe_latencies | プローブレイテンシーの 95 パーセンタイル(再試行込み) | ミリ秒 |
| container_probe_latencies_p99 | container/probe_latencies | プローブレイテンシーの 99 パーセンタイル(再試行込み) | ミリ秒 |
| container_probe_latencies_samplecount | container/probe_latencies | プローブレイテンシーのサンプル数 | 個 |
| container_startup_latencies_avg | container/startup_latencies | コンテナ起動レイテンシーの平均値 | ミリ秒 |
| container_startup_latencies_p95 | container/startup_latencies | コンテナ起動レイテンシーの 95 パーセンタイル | ミリ秒 |
| container_startup_latencies_p99 | container/startup_latencies | コンテナ起動レイテンシーの 99 パーセンタイル | ミリ秒 |
| container_startup_latencies_samplecount | container/startup_latencies | コンテナ起動レイテンシーのサンプル数 | 個 |
| pending_queue_pending_requests | pending_queue/pending_requests | 処理待ちリクエストキューの長さ | 個 |
| request_count | request_count | リクエスト数 | 回 |
| request_latencies_avg | request_latencies | リクエストレイテンシーの平均値 | ミリ秒 |
| request_latencies_p95 | request_latencies | リクエストレイテンシーの 95 パーセンタイル | ミリ秒 |
| request_latencies_p99 | request_latencies | リクエストレイテンシーの 99 パーセンタイル | ミリ秒 |
| request_latencies_samplecount | request_latencies | リクエストレイテンシーのサンプル数 | 個 |
| request_latencies_sumsqdev | request_latencies | リクエストレイテンシーの二乗偏差和 | ミリ秒² |
| request_latency_e_2_e_latencies_avg | request_latency/e2e_latencies | エンドツーエンドのリクエストレイテンシーの平均値 | ミリ秒 |
| request_latency_e_2_e_latencies_p95 | request_latency/e2e_latencies | エンドツーエンドのリクエストレイテンシーの 95 パーセンタイル | ミリ秒 |
| request_latency_e_2_e_latencies_p99 | request_latency/e2e_latencies | エンドツーエンドのリクエストレイテンシーの 99 パーセンタイル | ミリ秒 |
| request_latency_e_2_e_latencies_samplecount | request_latency/e2e_latencies | エンドツーエンドのリクエストレイテンシーのサンプル数 | 個 |
| request_latency_e_2_e_latencies_sumsqdev | request_latency/e2e_latencies | エンドツーエンドのリクエストレイテンシーの二乗偏差和 | ミリ秒² |
| request_latency_ingress_to_region_avg | request_latency/ingress_to_region | 入口からサービス所在リージョンまでのレイテンシーの平均値 | ミリ秒 |
| request_latency_ingress_to_region_samplecount | request_latency/ingress_to_region | 入口からリージョンまでのレイテンシーのサンプル数 | 個 |
| request_latency_ingress_to_region_sumsqdev | request_latency/ingress_to_region | 入口からリージョンまでのレイテンシーの二乗偏差和 | ミリ秒² |
| request_latency_pending_samplecount | request_latency/pending | リクエストのキュー待ちレイテンシーのサンプル数 | 個 |
| request_latency_response_egress_avg | request_latency/response_egress | レスポンスの出口レイテンシーの平均値 | ミリ秒 |
| request_latency_response_egress_samplecount | request_latency/response_egress | レスポンスの出口レイテンシーのサンプル数 | 個 |
| request_latency_response_egress_sumsqdev | request_latency/response_egress | レスポンスの出口レイテンシーの二乗偏差和 | ミリ秒² |
| request_latency_routing_avg | request_latency/routing | リクエストルーティングレイテンシーの平均値 | ミリ秒 |
| request_latency_routing_samplecount | request_latency/routing | リクエストルーティングレイテンシーのサンプル数 | 個 |
| request_latency_routing_sumsqdev | request_latency/routing | リクエストルーティングレイテンシーの二乗偏差和 | ミリ秒² |
| request_latency_user_execution_avg | request_latency/user_execution | ユーザーコード実行レイテンシーの平均値 | ミリ秒 |
| request_latency_user_execution_p95 | request_latency/user_execution | ユーザーコード実行レイテンシーの 95 パーセンタイル | ミリ秒 |
| request_latency_user_execution_p99 | request_latency/user_execution | ユーザーコード実行レイテンシーの 99 パーセンタイル | ミリ秒 |
| request_latency_user_execution_samplecount | request_latency/user_execution | ユーザーコード実行レイテンシーのサンプル数 | 個 |
| scaling_recommended_instances | scaling/recommended_instances | 自動スケーリングが推奨するインスタンス数 | 個 |