---
title: Google Kubernetes Engine monitoring integration
source: https://docs.newrelic.com/docs/infrastructure/google-cloud-platform-integrations/gcp-integrations-list/google-kubernetes-engine-monitoring-integration
---

[New Relic integrations](https://docs.newrelic.com/docs/infrastructure/introduction-infra-monitoring) with the [Google Cloud Platform (GCP)](https://cloud.google.com/) include one that reports [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/) (GKE) data to New Relic. This document explains how to activate the GCP Kubernetes Engine integration and describes the data it reports.

## Features

Google Kubernetes Engine is Google Cloud's managed Kubernetes service. New Relic GKE integration collects CPU, memory, network, volume, and uptime metrics across the containers, nodes, and pods that make up your clusters.

## Activate integration [#activate]

To enable the integration, follow standard procedures to [connect your GCP service to New Relic](https://docs.newrelic.com/docs/connect-google-cloud-platform-services-infrastructure):

-   [Connect with Workload Identity Federation (recommended)](https://docs.newrelic.com/docs/infrastructure/google-cloud-platform-integrations/get-started/install-and-configure/connect-gcp-workload-identity-federation)
-   [Connect with service account or user account](https://docs.newrelic.com/docs/infrastructure/google-cloud-platform-integrations/get-started/install-and-configure/connect-gcp-service-account)

## Polling frequency [#polling]

New Relic integrations query your GCP services according to a polling interval that varies by integration. The polling frequency for Google Kubernetes Engine is 5 minutes. The resolution is 1 data point every minute.

> #### ⚠️ IMPORTANT
>
> **Recommended: Use the New Relic Kubernetes integration for GKE.** With Workload Identity Federation, the GCP integration collects GKE metrics but does not create entities. For full GKE observability — cluster, node, pod, and container entities, dashboards, and alerting — install the [New Relic Kubernetes integration](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/installation/kubernetes-integration-install-configure/) on your GKE cluster.
>
> Google Kubernetes Engine (GKE) supports 1-minute polling intervals for WIF integrations in limited preview. To request access, contact [New Relic support](https://support.newrelic.com/).

## Workload Identity Federation [#wif]

### Find and use data [#find-data-wif]

All Google Kubernetes Engine metrics available in GCP Cloud Monitoring are collected as dimensional metrics in the `Metric` event type, under the `gcp.kubernetes.io.*` namespace. Query them directly on the `Metric` event type, for example:

```sql
FROM Metric SELECT count(*) WHERE metricName LIKE 'gcp.kubernetes.io.%' FACET metricName
```

Metrics carry the resource labels of the underlying Kubernetes object, so you can facet by cluster name, namespace, node name, pod name, and container name.

### Metric data [#metrics-wif]

**Container — 31 metrics**

| Metric name                                                                            | Unit         | Description                                                                                                                                                                                                                  |
| -------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gcp.kubernetes.io.container.accelerator.duty_cycle`                                   | Percent      | Percent of time over the past sample period (10s) during which the accelerator was actively processing. Values are integers between 0 and 100.                                                                               |
| `gcp.kubernetes.io.container.accelerator.memory_bandwidth_utilization`                 | percent      | Current percentage of the accelerator memory bandwidth that is being used. Computed by dividing the memory bandwidth used over a sample period by the maximum supported bandwidth over the same sample period.               |
| `gcp.kubernetes.io.container.accelerator.memory_total`                                 | Bytes        | Total accelerator memory in bytes.                                                                                                                                                                                           |
| `gcp.kubernetes.io.container.accelerator.memory_used`                                  | Bytes        | Total accelerator memory allocated in bytes.                                                                                                                                                                                 |
| `gcp.kubernetes.io.container.accelerator.request`                                      | Count        | Number of accelerator devices requested by the container.                                                                                                                                                                    |
| `gcp.kubernetes.io.container.accelerator.tensorcore_utilization`                       | percent      | Current percentage of the Tensorcore that is utilized. Computed by dividing the Tensorcore operations that were performed over a sample period by the supported number of Tensorcore operations over the same sample period. |
| `gcp.kubernetes.io.container.cpu.core_usage_time`                                      | CPU-seconds  | Cumulative CPU usage on all cores used by the container in seconds.                                                                                                                                                          |
| `gcp.kubernetes.io.container.cpu.limit_cores`                                          | Count        | CPU cores limit of the container.                                                                                                                                                                                            |
| `gcp.kubernetes.io.container.cpu.limit_utilization`                                    | Count        | The fraction of the CPU limit that is currently in use on the instance. This value can be greater than 1 as a container might be allowed to exceed its CPU limit for extended periods of time.                               |
| `gcp.kubernetes.io.container.cpu.request_cores`                                        | Count        | Number of CPU cores requested by the container.                                                                                                                                                                              |
| `gcp.kubernetes.io.container.cpu.request_utilization`                                  | Count        | The fraction of the requested CPU that is currently in use on the instance. This value can be greater than 1 as usage can exceed the request.                                                                                |
| `gcp.kubernetes.io.container.ephemeral_storage.limit_bytes`                            | Bytes        | Local ephemeral storage limit in bytes.                                                                                                                                                                                      |
| `gcp.kubernetes.io.container.ephemeral_storage.request_bytes`                          | Bytes        | Local ephemeral storage request in bytes.                                                                                                                                                                                    |
| `gcp.kubernetes.io.container.ephemeral_storage.used_bytes`                             | Bytes        | Local ephemeral storage usage in bytes.                                                                                                                                                                                      |
| `gcp.kubernetes.io.container.memory.limit_bytes`                                       | Bytes        | Memory limit of the container in bytes.                                                                                                                                                                                      |
| `gcp.kubernetes.io.container.memory.limit_utilization`                                 | Count        | The fraction of the memory limit that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed the limit.                                                                                      |
| `gcp.kubernetes.io.container.memory.page_fault_count`                                  | Count        | Number of page faults, broken down by type: major and minor.                                                                                                                                                                 |
| `gcp.kubernetes.io.container.memory.request_bytes`                                     | Bytes        | Memory request of the container in bytes.                                                                                                                                                                                    |
| `gcp.kubernetes.io.container.memory.request_utilization`                               | Count        | The fraction of the requested memory that is currently in use on the instance. This value can be greater than 1 as usage can exceed the request.                                                                             |
| `gcp.kubernetes.io.container.memory.swap_used_bytes`                                   | Bytes        | Bytes of swap memory used by the container.                                                                                                                                                                                  |
| `gcp.kubernetes.io.container.memory.used_bytes`                                        | Bytes        | Memory usage in bytes.                                                                                                                                                                                                       |
| `gcp.kubernetes.io.container.multislice.accelerator.device_to_host_transfer_latencies` | Microseconds | Distribution of device to host transfer latency for each chunk of data for multislice traffic.                                                                                                                               |
| `gcp.kubernetes.io.container.multislice.accelerator.host_to_device_transfer_latencies` | Microseconds | Distribution of host to device transfer latency for each chunk of data for multislice traffic.                                                                                                                               |
| `gcp.kubernetes.io.container.multislice.network.collective_end_to_end_latencies`       | Microseconds | Distribution of end to end collective latency for multislice traffic.                                                                                                                                                        |
| `gcp.kubernetes.io.container.multislice.network.dcn_transfer_latencies`                | Microseconds | Distribution of network transfer latencies for multislice traffic.                                                                                                                                                           |
| `gcp.kubernetes.io.container.restart_count`                                            | Count        | Number of times the container has restarted.                                                                                                                                                                                 |
| `gcp.kubernetes.io.container.uptime`                                                   | Seconds      | Time in seconds that the container has been running.                                                                                                                                                                         |
| `gcp.kubernetes.io.container.multislice.accelerator.compute_latencies`                 | Microseconds | Distribution of host compute latency for multislice traffic.                                                                                                                                                                 |
| `gcp.kubernetes.io.container.multislice.network.dcn_inbound_transfer_latencies`        | Microseconds | Distribution of inbound network transfer latencies for multislice traffic.                                                                                                                                                   |
| `gcp.kubernetes.io.container.multislice.network.grpc_tcp_delivery_rates`               | Mbps         | Distribution of gRPC TCP delivery rates for multislice traffic.                                                                                                                                                              |
| `gcp.kubernetes.io.container.multislice.network.grpc_tcp_min_round_trip_times`         | Microseconds | Distribution of gRPC TCP min round trip times for multislice traffic.                                                                                                                                                        |

**Node — 28 metrics**

| Metric name                                                       | Unit        | Description                                                                                                                                                                                                                                                                    |
| ----------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `gcp.kubernetes.io.node.accelerator.duty_cycle`                   | percent     | Percent of time over the past sample period (10s) during which the accelerator was actively processing.                                                                                                                                                                        |
| `gcp.kubernetes.io.node.accelerator.memory_bandwidth_utilization` | percent     | Current percentage of the accelerator memory bandwidth that is being used. Computed by dividing the memory bandwidth used over a sample period by the maximum supported bandwidth over the same sample period.                                                                 |
| `gcp.kubernetes.io.node.accelerator.memory_total`                 | bytes       | Total accelerator memory in bytes.                                                                                                                                                                                                                                             |
| `gcp.kubernetes.io.node.accelerator.memory_used`                  | bytes       | Total accelerator memory allocated in bytes.                                                                                                                                                                                                                                   |
| `gcp.kubernetes.io.node.accelerator.tensorcore_utilization`       | percent     | Current percentage of the Tensorcore that is utilized. Computed by dividing the Tensorcore operations that were performed over a sample period by the supported number of Tensorcore operations over the same sample period.                                                   |
| `gcp.kubernetes.io.node.assigned_jobsets`                         | Count       | GKE nodes where a Kubernetes Jobset has scheduled Pods. `jobset_uid` is empty if its value isn't in the Jobset Pod labels. A value of True indicates that at least one Jobset Pod is scheduled in the node. A value of False marks the moment when this is no longer the case. |
| `gcp.kubernetes.io.node.cpu.allocatable_cores`                    | Count       | Number of allocatable CPU cores on the node.                                                                                                                                                                                                                                   |
| `gcp.kubernetes.io.node.cpu.allocatable_utilization`              | Count       | The fraction of the allocatable CPU that is currently in use on the instance.                                                                                                                                                                                                  |
| `gcp.kubernetes.io.node.cpu.core_usage_time`                      | CPU-seconds | Cumulative CPU usage on all cores used on the node in seconds.                                                                                                                                                                                                                 |
| `gcp.kubernetes.io.node.cpu.total_cores`                          | Count       | Total number of CPU cores on the node.                                                                                                                                                                                                                                         |
| `gcp.kubernetes.io.node.ephemeral_storage.allocatable_bytes`      | Bytes       | Local ephemeral storage bytes allocatable on the node.                                                                                                                                                                                                                         |
| `gcp.kubernetes.io.node.ephemeral_storage.inodes_free`            | Count       | Free number of inodes on local ephemeral storage.                                                                                                                                                                                                                              |
| `gcp.kubernetes.io.node.ephemeral_storage.inodes_total`           | Count       | Total number of inodes on local ephemeral storage.                                                                                                                                                                                                                             |
| `gcp.kubernetes.io.node.ephemeral_storage.total_bytes`            | Bytes       | Total ephemeral storage bytes on the node.                                                                                                                                                                                                                                     |
| `gcp.kubernetes.io.node.ephemeral_storage.used_bytes`             | Bytes       | Local ephemeral storage bytes used by the node.                                                                                                                                                                                                                                |
| `gcp.kubernetes.io.node.interruption_count`                       | Count       | Interruptions are system evictions of infrastructure while the customer is in control of that infrastructure. This metric is the current count of interruptions by type and reason. The stream is often undefined when the count is zero.                                      |
| `gcp.kubernetes.io.node.latencies.startup`                        | Seconds     | The total startup latency of the node, from GCE instance's CreationTimestamp to K8s node ready first time.                                                                                                                                                                     |
| `gcp.kubernetes.io.node.logs.input_bytes`                         | Bytes       | Volume of log bytes generated on the node by user and system workloads.                                                                                                                                                                                                        |
| `gcp.kubernetes.io.node.memory.allocatable_bytes`                 | Bytes       | Number of bytes of memory that can be allocated for workloads on the node.                                                                                                                                                                                                     |
| `gcp.kubernetes.io.node.memory.allocatable_utilization`           | Count       | The fraction of the allocatable memory that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed allocatable memory bytes.                                                                                                                   |
| `gcp.kubernetes.io.node.memory.swap_used_bytes`                   | Bytes       | Bytes of swap memory used by the node.                                                                                                                                                                                                                                         |
| `gcp.kubernetes.io.node.memory.total_bytes`                       | Bytes       | Total number of bytes of memory on the node.                                                                                                                                                                                                                                   |
| `gcp.kubernetes.io.node.memory.used_bytes`                        | Bytes       | Cumulative memory bytes used by the node.                                                                                                                                                                                                                                      |
| `gcp.kubernetes.io.node.network.received_bytes_count`             | Bytes       | Cumulative number of bytes received by the node over the network.                                                                                                                                                                                                              |
| `gcp.kubernetes.io.node.network.sent_bytes_count`                 | Bytes       | Cumulative number of bytes transmitted by the node over the network.                                                                                                                                                                                                           |
| `gcp.kubernetes.io.node.pid_limit`                                | Count       | The max PID of OS on the node.                                                                                                                                                                                                                                                 |
| `gcp.kubernetes.io.node.pid_used`                                 | Count       | The number of running process in the OS on the node.                                                                                                                                                                                                                           |
| `gcp.kubernetes.io.node.status_condition`                         | Count       | Condition of a node from the node status condition field. Ready has `Unknown` status if the node controller has not heard from the node in the last `node-monitor-grace-period`.                                                                                               |

**Pod — 8 metrics**

| Metric name                                          | Unit    | Description                                                                                                                                                           |
| ---------------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gcp.kubernetes.io.pod.ephemeral_storage.used_bytes` | Bytes   | Pod ephemeral storage usage in bytes.                                                                                                                                 |
| `gcp.kubernetes.io.pod.latencies.pod_first_ready`    | Seconds | The Pod end-to-end startup latency (from Pod Created to Ready), including image pulls.                                                                                |
| `gcp.kubernetes.io.pod.network.received_bytes_count` | Bytes   | Cumulative number of bytes received by the pod over the network.                                                                                                      |
| `gcp.kubernetes.io.pod.network.sent_bytes_count`     | Bytes   | Cumulative number of bytes transmitted by the pod over the network.                                                                                                   |
| `gcp.kubernetes.io.pod.volume.total_bytes`           | Bytes   | Total number of disk bytes available to the pod.                                                                                                                      |
| `gcp.kubernetes.io.pod.volume.used_bytes`            | Bytes   | Number of disk bytes used by the pod.                                                                                                                                 |
| `gcp.kubernetes.io.pod.volume.utilization`           | Count   | The fraction of the volume that is currently being used by the instance. This value cannot be greater than 1 as usage cannot exceed the total available volume space. |
| `gcp.kubernetes.io.pod.network.policy_event_count`   | Count   | Change in the number of network policy events seen in the dataplane.                                                                                                  |

For more on these metrics, see Google's documentation on [Metrics for Kubernetes Engine](https://cloud.google.com/monitoring/api/metrics_kubernetes).

## Service account or user account [#service-account]

### Find and use data [#find-data]

After activating the integration and waiting a few minutes (based on the [polling frequency](#polling)), data will appear in the New Relic UI. To [find and use your data](https://docs.newrelic.com/docs/infrastructure/integrations/find-use-infrastructure-integration-data), including links to your dashboards and alert settings, go to [one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Infrastructure > GCP > (select an integration).

The data New Relic receives from your Google Kubernetes Engine integration includes the following metric data. For more on these metrics, see Google's documentation on [Metrics for Kubernetes Engine](https://cloud.google.com/monitoring/api/metrics_gcp#gcp-container).

### GcpKubernetesContainerSample [#GcpKubernetesContainer]

New Relic receives the following data from your GCP Kubernetes Engine integration and reports it to a `GcpKubernetesContainerSample` event type with the provider value `GcpKubernetesContainer`. The `container/accelerator` metrics are only available the experimental mode on kubernetes is enabled, and gpu has been added to your cluster and container. Query `GcpKubernetesContainerSample` events to view data for the following attributes:

| Name                                  | Description                                                                                                                                                                                                                                                                                                                 |
| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `container.accelerator.dutyCycle`     | Percent of time over the past sample period (10 seconds) during which the accelerator was actively processing. The `container.accelerator` metrics are only available for Kubernetes Engine cluster nodes with graphics processing unit (GPU) hardware accelerators.                                                        |
| `container.accelerator.memoryTotal`   | Total accelerator memory in bytes. The `container.accelerator` metrics are only available for Kubernetes Engine cluster nodes with graphics processing unit (GPU) hardware accelerators.                                                                                                                                    |
| `container.accelerator.memoryUsed`    | Total accelerator memory allocated in bytes. The `container.accelerator` metrics are only available for Kubernetes Engine cluster nodes with graphics processing unit (GPU) hardware accelerators.                                                                                                                          |
| `container.cpu.limitCores`            | CPU cores limit of the container. Sampled every 60 seconds.                                                                                                                                                                                                                                                                 |
| `container.cpu.usageTime`             | Cumulative CPU usage on all cores in seconds. This number divided by the elapsed time represents usage as a number of cores, regardless of any core limit that might be set.                                                                                                                                                |
| `container.cpu.limitUtilization`      | The fraction of the memory limit that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed the limit. Sampled every 60 seconds. After sampling, data is not visible for up to 60 seconds. This metric is available only when a maximum memory limit has been specified for the container. |
| `container.cpu.requestCores`          | Number of CPU cores requested by the container. Sampled every 60 seconds.                                                                                                                                                                                                                                                   |
| `container.cpu.requestUtilization`    | The fraction of the requested CPU that is currently in use on the instance. This value can be greater than 1 as usage can exceed the request. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.                                                                                          |
| `container.memory.limitBytes`         | Memory limit of the container in bytes. Sampled every 60 seconds.                                                                                                                                                                                                                                                           |
| `container.memory.limitUtilization`   | The fraction of the memory limit that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed the limit. Sampled every 60 seconds. After sampling, data is not visible for up to 60 seconds.                                                                                                 |
| `container.memory.requestBytes`       | Memory request of the container in bytes. Sampled every 60 seconds.                                                                                                                                                                                                                                                         |
| `container.memory.requestUtilization` | The fraction of the requested memory that is currently in use on the instance. This value can be greater than 1 as usage can exceed the request. Sampled every 60 seconds. After sampling, data is not visible for up to 60 seconds.                                                                                        |
| `container.memory.usedBytes`          | Memory usage in bytes. Sampled every 60 seconds.                                                                                                                                                                                                                                                                            |
| `container.restartCount`              | Number of times the container has restarted. Sampled every 60 seconds.                                                                                                                                                                                                                                                      |
| `container.uptime`                    | Time in seconds that the container has been running. Sampled every 60 seconds.                                                                                                                                                                                                                                              |

### GcpKubernetesNodeSample [#GcpKubernetesNode]

New Relic receives the following data from your GCP Kubernetes Engine integration and it is reported to a `GcpKubernetesNodeSample` event type with the provider value `GcpKubernetesNode`. Query `GcpKubernetesNodeSample` events to view data for the following attributes:

| Name                                 | Description                                                                                                                                                                                                                                      |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `node.cpu.allocatableCores`          | Number of allocatable CPU cores on the node. Sampled every 60 seconds.                                                                                                                                                                           |
| `node.cpu.allocatableUtilization`    | The fraction of the allocatable CPU that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed allocatable CPU cores. Sampled every 60 seconds. After sampling, data is not visible for up to 180 seconds.      |
| `node.cpu.coreUsageTime`             | Cumulative CPU usage on all cores used on the node in seconds. Sampled every 60 seconds.                                                                                                                                                         |
| `node.cpu.totalCores`                | Total number of CPU cores on the node. Sampled every 60 seconds.                                                                                                                                                                                 |
| `node.memory.allocatableBytes`       | Cumulative memory bytes used by the node. Sampled every 60 seconds.                                                                                                                                                                              |
| `node.memory.allocatableUtilization` | The fraction of the allocatable memory that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed allocatable memory bytes. Sampled every 60 seconds. After sampling, data is not visible for up to 60 seconds. |
| `node.memory.totalBytes`             | Number of bytes of memory allocatable on the node. Sampled every 60 seconds.                                                                                                                                                                     |
| `node.memory.usedBytes`              | Cumulative memory bytes used by the node. Sampled every 60 seconds.                                                                                                                                                                              |
| `node.network.receivedBytesCount`    | Cumulative number of bytes received by the node over the network. Sampled every 60 seconds.                                                                                                                                                      |
| `node.network.sentBytesCount`        | Cumulative number of bytes transmitted by the node over the network. Sampled every 60 seconds.                                                                                                                                                   |
| `nodeDaemon.cpu.coreUsageTime`       | Cumulative CPU usage on all cores used by the node level system daemon in seconds. Sampled every 60 seconds.                                                                                                                                     |
| `nodeDaemon.memory.usedBytes`        | Memory usage by the system daemon in bytes. Sampled every 60 seconds.                                                                                                                                                                            |

### GcpKubernetesPodSample [#GcpKubernetesPod]

New Relic receives the following data from your GCP Kubernetes Engine integration and it is reported to a `GcpKubernetesPodSample` event type with the provider value `GcpKubernetesPod`. Query `GcpKubernetesPodSample` events to view data for the following attributes:

| Name                             | Description                                                                                                                                                                                                                                               |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pod.network.receivedBytesCount` | Cumulative number of bytes received by the pod over the network. Sampled every 60 seconds.                                                                                                                                                                |
| `pod.network.sentBytesCount`     | Cumulative number of bytes transmitted by the pod over the network. Sampled every 60 seconds.                                                                                                                                                             |
| `pod.volume.totalBytes`          | Total number of disk bytes available to the pod. Sampled every 60 seconds.                                                                                                                                                                                |
| `pod.volume.usedBytes`           | Number of disk bytes used by the pod. Sampled every 60 seconds.                                                                                                                                                                                           |
| `pod.volume.utilization`         | The fraction of the volume that is currently being used by the instance. This value cannot be greater than 1 as usage cannot exceed the total available volume space. Sampled every 60 seconds. After sampling, data is not visible for up to 60 seconds. |
