Google Cloud Run

概要

Cloud Run は、HTTP リクエストを使って呼び出し可能なステートレスコンテナを実行できるマネージド型のコンピューティングプラットフォームです。

このインテグレーションを有効にすると、Cloud Run のメトリクス、トレース、ログのすべてを Datadog に表示できます。

セットアップ

メトリクスの収集

インストール

Cloud Run のフルマネージド版を使用する場合は、Google Cloud Platform インテグレーションをセットアップするだけです。

GKE 上で Cloud Run をセットアップする場合は、Google Cloud Platform インテグレーションを有効にした後、Kubernetes DaemonSet セットアップを使用してクラスター内に Datadog Agent をデプロイします。

: Datadog Agent DaemonSet をデプロイする際は、必ず、ポッド仕様内で hostNetwork: true を設定してください。

ログの収集

Google Cloud Run は、監査ログも公開します。 Google Cloud Run のログは、Google Cloud Logging を使用して収集され、HTTP プッシュフォワーダーを使用して Cloud Pub/Sub へ送信されます。Cloud Pub/Sub をまだセットアップしていない場合は、HTTP プッシュフォワーダーを使用してセットアップしてください。

これが完了したら、Google Cloud Run のログを Google Cloud Logging から Pub/Sub へエクスポートします。

  1. Google Cloud Logging のページに移動し、Google Cloud Run のログを絞り込みます。

  2. シンクを作成し、シンクに適宜名前を付けます。

  3. エクスポート先として「Cloud Pub/Sub」を選択し、エクスポート用に作成された Pub/Sub を選択します。: この Pub/Sub は別のプロジェクト内に配置することもできます。

    Google Cloud Pub/Sub ログを Pub Sub へエクスポート
  4. 作成をクリックし、確認メッセージが表示されるまで待ちます。

APM および DogStatsD

注: この機能は、Google Cloud Run for Anthos/GKE でサポートされています (Cloud Run Fully Managed ではサポートされていません)。

Datadog Admission Controller を使用して、APM トレーサーと DogStatsD クライアントを自動的に構成します。次のいずれかを使用して、環境変数 DD_AGENT_HOST および DD_ENTITY_ID を挿入します。

  • ラベル admission.datadoghq.com/enabled: "true" をポッドに追加する。
  • mutateUnlabelled: true を設定して Cluster Agent の Admission Controller を構成します。

ポッドで環境変数を受信しないようにするには、ラベル admission.datadoghq.com/enabled: "false" を追加します。これは mutateUnlabelled: true を設定している場合でも機能します。詳細については、Datadog Admission Controller のドキュメントを参照してください。

収集データ

メトリクス

gcp.run.container.billable_instance_time
(rate)
Billable time aggregated from all container instances of the revision (ms/s).
Shown as millisecond
gcp.run.container.cpu.allocation_time
(rate)
Container CPU allocation of the revision in seconds.
Shown as core
gcp.run.container.cpu.utilizations.avg
(gauge)
The average distribution of container CPU utilization distribution across all container instances of the revision.
Shown as percent
gcp.run.container.cpu.utilizations.p95
(gauge)
The 95th percentile distribution of container CPU utilization distribution across all container instances of the revision.
Shown as percent
gcp.run.container.cpu.utilizations.p99
(gauge)
The 99th percentile distribution of container CPU utilization distribution across all container instances of the revision.
Shown as percent
gcp.run.container.cpu.utilizations.samplecount
(count)
Sample count of the distribution of service request times in milliseconds.
Shown as percent
gcp.run.container.instance_count
(gauge)
The number of container instances that exist, broken down by state.
Shown as container
gcp.run.container.max_request_concurrencies.avg
(gauge)
Average of the maximum number of concurrent requests being served by each container instance over a minute.
Shown as request
gcp.run.container.max_request_concurrencies.p95
(gauge)
95th percentile distribution of the maximum number of concurrent requests being served by each container instance over a minute.
Shown as request
gcp.run.container.max_request_concurrencies.p99
(gauge)
99th percentile distribution of the maximum number of concurrent requests being served by each container instance over a minute.
Shown as request
gcp.run.container.max_request_concurrencies.samplecount
(count)
Sample count of the distribution of the maximum number of concurrent requests being served by each container instance over a minute.
Shown as request
gcp.run.container.memory.allocation_time
(rate)
Container memory allocation of the revision in Gigabytes-seconds.
Shown as gibibyte
gcp.run.container.memory.utilizations.avg
(gauge)
Average of the container memory utilization distribution across all container instances of the revision.
Shown as percent
gcp.run.container.memory.utilizations.p95
(gauge)
95th percentile distribution of the container memory utilization distribution across all container instances of the revision.
Shown as percent
gcp.run.container.memory.utilizations.p99
(gauge)
99th percentile distribution of the container memory utilization distribution across all container instances of the revision.
Shown as percent
gcp.run.container.memory.utilizations.samplecount
(count)
Sample count of the container memory utilization distribution across all container instances of the revision.
Shown as percent
gcp.run.container.network.received_bytes_count
(count)
The incoming socket and HTTP response traffic of revision, in bytes.
Shown as byte
gcp.run.container.network.sent_bytes_count
(count)
The outgoing socket and HTTP response traffic of revision, in bytes.
Shown as byte
gcp.run.request_count
(count)
The number of service requests.
Shown as request
gcp.run.request_latencies.avg
(gauge)
Average distribution of service request times in milliseconds.
Shown as millisecond
gcp.run.request_latencies.p95
(gauge)
The 95th percentile distribution of service request times in milliseconds.
Shown as millisecond
gcp.run.request_latencies.p99
(gauge)
The 99th percentile distribution of service request times in milliseconds.
Shown as millisecond
gcp.run.request_latencies.samplecount
(count)
Sample count of the distribution of service request times in milliseconds.
Shown as millisecond
gcp.run.request_latencies.sumsqdev
(gauge)
Sum of squared deviation of the distribution of service request times in milliseconds.
Shown as millisecond

イベント

Google Cloud Functions インテグレーションには、イベントは含まれません。

サービスのチェック

Google Cloud Functions インテグレーションには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。

その他の参考資料

お役に立つドキュメント、リンクや記事: