Google Kubernetes Engine monitoring integration

Access to this feature will depend on your subscription level.

New Relic Infrastructure's integration with Google Kubernetes Engine (GKE) reports data about clusters hosted on Google's infrastructure. You can monitor and alert on your GKE instances data from New Relic Infrastructure, and you can create custom queries and chart dashboards in New Relic Insights.

Activate integration

To enable the integration:

  1. Ensure you are running a version of Kubernetes that is compatible with Stackdriver Kubernetes Monitoring.
  2. Make sure you have installed the Infrastructure agent before activating GCP integrations from your Infrastructure account.
  3. Follow standard procedures to connect your GCP service to New Relic Infrastructure.

Polling frequency

New Relic Infrastructure integrations query your GCP services according to a polling interval, which varies depending on the integration. The polling interval for the Google Kubernetes Engine integration is 5 minutes. The resolution is 1 data point every minute.

Find and use data

After activating the integration and waiting a few minutes (based on the polling frequency), data will appear in the New Relic UI. To find and use your data, including links to your dashboards and alert settings, go to infrastructure.newrelic.com > Integrations > Google Cloud Platform > (select an integration).

Metric data

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.

New Relic receives the following data from your GCP Kubernetes Engine integration and it is reported 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 in Insights 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.

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 in Insights 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.

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 in Insights 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.

Inventory data

Inventory data is information about the status or configuration of a service or host. You can examine inventory data in New Relic Infrastructure and in New Relic Insights.

The Google Kubernetes Engine integration reports configuration information for Google Compute Engine bucket objects with the following properties:

gcp/kubernetes/container

  • clusterName
  • containerName
  • podId
  • namespaceId
  • instanceId
  • project
  • zone

gcp/kubernetes/node

  • clusterName
  • nodeName
  • project
  • zone

gcp/kubernetes/pod

  • clusterName
  • podName
  • namespace
  • project
  • zone

For more help

This feature is currently in BETA. For a list of all documents in the BETA, see Google Cloud Platform integrations.

Recommendations for learning more: