Dash0 integrates with Google Kubernetes Engine by retrieving platform-level and control plane metrics from Google Cloud Monitoring, offering visibility into node pools, autoscaling, and pod readiness.
Google Kubernetes Engine (GKE) is a managed Kubernetes platform from Google Cloud. It integrates deeply with Cloud Monitoring to expose platform-level metrics that are not available inside the cluster.
This integration helps you collect GKE Autopilot and control plane metrics using the OpenTelemetry Collector's googlecloudmonitoring
receiver. These metrics are sourced from Cloud Monitoring and include autoscaler recommendations, node pool status, and pod readiness latencies — all of which are crucial for understanding your cluster's health and behavior at the platform level.
The OpenTelemetry Collector's googlecloudmonitoring
receiver currently supports Cloud Run metrics with INT64 and
DOUBLE value types. This includes CPU, memory, network, and request counts. Metrics with DISTRIBUTION value types
(e.g. histograms) are not supported and will be skipped by the receiver.
Metric Name | Description |
---|---|
kubernetes.io/autoscaler/container/cpu/per_replica_recommended_request_cores | Recommended CPU per replica |
kubernetes.io/autoscaler/container/memory/per_replica_recommended_request_bytes | Recommended memory per replica |
kubernetes.io/autoscaler/latencies/per_hpa_recommendation_scale_latency_seconds | Latency of autoscaler recommendations |
kubernetes.io/node_pool/interruption_count | Number of interruptions in the node pool |
kubernetes.io/node_pool/status | Status of the node pool |
kubernetes.io/node_pool/multi_host/available | Availability of multi-host node pools |
kubernetes.io/node/interruption_count | Node-level interruption count |
kubernetes.io/node/latencies/startup | Time taken for node startup |
kubernetes.io/node/status_condition | General node condition status |
kubernetes.io/pod/latencies/pod_first_ready | Time for pod to become ready after scheduling |
kubernetes.io/pod/network/policy_event_count | Count of network policy events per pod |
Full metric definitions available in Google Cloud Monitoring metrics for Kubernetes
This guide explains how to deploy the OpenTelemetry Collector inside your GKE cluster to collect metrics that are available via Cloud Monitoring, such as autoscaler recommendations, pod readiness latencies, and node pool interruptions.
These metrics are essential for monitoring GKE Autopilot and control plane behaviors.
1. Install the OpenTelemetry Collector
You can install the Collector using one of the supported methods:
Both support supplying a custom configuration.
2. Granting Access and Requirements
To collect metrics from Google Cloud Monitoring, the OpenTelemetry Collector must authenticate with the correct permissions and run in a properly configured GCP project.
Required Permissions
The Collector must use a Google Cloud service account with the following role:
roles/monitoring.viewer
— grants read access to Cloud Monitoring metrics.You can assign this role directly to a service account or via Workload Identity if running on GKE.
Authentication
The googlecloudmonitoring
receiver uses Application Default Credentials (ADC) to authenticate.
The behavior depends on where you run the Collector:
GOOGLE_APPLICATION_CREDENTIALS
environment variable to point to a service account key file.Wherever possible, prefer using GCP-native authentication mechanisms like Workload Identity over key files.
Running on GKE? Use Workload Identity
To bind a Kubernetes service account (KSA) to a GCP service account:
roles/iam.workloadIdentityUser
binding.See Workload Identity docs for full setup details.
GCP Project Requirements
Make sure the project you're collecting metrics from meets the following:
If you're not seeing expected data, check that the service is deployed and actively generating telemetry in the target project.
3. Configure the Collector
Below is a sample configuration to collect platform-level metrics from Google Cloud Monitoring.
Replace the <YOUR_GCP_PROJEC_ID>
with your GCP project id. Dash0 GRPC endpoint and token can be obtained in the organization settings for your account under "Auth Tokens" and "Endpoints".
4. Optimize for Cost and Performance
As of October 2, 2025, Google will charge based on the number of time series returned, not API calls. To reduce cost:
metric_descriptor_filter
and metrics_list
to limit the scope of metrics pulled.5. Learn More