GCP GKE
Overview
The GCP GKE integration with Motadata AIOps collects operational telemetry and configuration inventory from Google Kubernetes Engine (GKE) clusters. It monitors cluster identity and state, node pools, cluster-level performance, Kubernetes nodes, pods, and containers.
These metrics help administrators track workload health, resource utilization, pod lifecycle status, container resource consumption, and overall cluster availability across GKE-managed Kubernetes environments.
Prerequisites
- The GKE cluster is active and accessible via the GCP project.
- The service account used for integration has the Kubernetes Engine Viewer and Monitoring Viewer roles.
- Required GCP API endpoints are reachable from Motadata AIOps.
- The GCP project is added in discovery with correct credentials and region configuration.
List of Supported KPIs
Cluster
| Metric | Description | Type |
|---|---|---|
| gcp.gke.cluster | Identifier of the GKE cluster. | String |
| gcp.gke.cluster.state | Current operational state of the GKE cluster. | String |
| gcp.gke.cluster.version | Kubernetes version running on the cluster. | String |
| gcp.gke.cluster.release.channel | Release channel the cluster is enrolled in, for example STABLE or RAPID. | String |
| gcp.gke.cluster.cpu.percent | CPU utilization percentage across the GKE cluster. | Percent |
| gcp.gke.cluster.memory.used.percent | Memory utilization percentage across the GKE cluster. | Percent |
Node Pools
| Metric | Description | Type |
|---|---|---|
| gcp.gke.nodepools | Total number of node pools in the cluster. | Count |
| gcp.gke.nodepool | Identifier of an individual node pool. | String |
| gcp.gke.nodepool.state | Current state of the node pool. | String |
| gcp.gke.nodepool.version | Kubernetes version running on nodes in this pool. | String |
| gcp.gke.nodepool.machine.type | GCE machine type used for nodes in this pool. | String |
| gcp.gke.nodepool.disk.bytes | Boot disk size allocated per node in this pool. | Bytes |
| gcp.gke.nodepool.image.type | OS image type used for nodes in this pool. | String |
| gcp.gke.nodepool.auto.upgrade | Indicates whether automatic node upgrades are enabled. | Boolean |
| gcp.gke.nodepool.auto.repair | Indicates whether automatic node repair is enabled. | Boolean |
| gcp.gke.nodepool.min.nodes | Minimum number of nodes configured for autoscaling. | Count |
| gcp.gke.nodepool.max.nodes | Maximum number of nodes configured for autoscaling. | Count |
Cluster Pod Summary
| Metric | Description | Type |
|---|---|---|
| gcp.gke.kubernetes.namespaces | Total number of namespaces in the cluster. | Count |
| gcp.gke.kubernetes.running.pods | Total number of pods in running state across the cluster. | Count |
| gcp.gke.kubernetes.pending.pods | Total number of pods in pending state across the cluster. | Count |
| gcp.gke.kubernetes.failed.pods | Total number of pods in failed state across the cluster. | Count |
| gcp.gke.kubernetes.crashloopbackoff.pods | Total number of pods in CrashLoopBackOff state across the cluster. | Count |
Kubernetes Nodes
| Metric | Description | Type |
|---|---|---|
| gcp.gke.kubernetes.nodes | Total number of nodes in the cluster. | Count |
| gcp.gke.kubernetes.node | Identifier of an individual Kubernetes node. | String |
| gcp.gke.kubernetes.node.state | Current state of the node — Ready, NotReady, or Unknown. | String |
| gcp.gke.kubernetes.node.os | Operating system running on the node. | String |
| gcp.gke.kubernetes.node.instance.type | GCE machine type of this node. | String |
| gcp.gke.kubernetes.node.nodepool | Node pool this node belongs to. | String |
| gcp.gke.kubernetes.node.role | Role assigned to this node. | String |
| gcp.gke.kubernetes.node.creation.time | Timestamp when this node was added to the cluster. | Timestamp |
| gcp.gke.kubernetes.node.cpu.percent | CPU utilization percentage on this node. | Percent |
| gcp.gke.kubernetes.node.memory.used.percent | Memory utilization percentage on this node. | Percent |
| gcp.gke.kubernetes.node.memory.capacity.bytes | Total memory capacity of this node. | Bytes |
| gcp.gke.kubernetes.node.memory.used.bytes | Amount of memory currently in use on this node. | Bytes |
| gcp.gke.kubernetes.node.cpu.capacity.cores | Total CPU capacity of this node in cores. | Count |
| gcp.gke.kubernetes.node.cpu.used.cores | Number of CPU cores currently in use on this node. | Count |
| gcp.gke.kubernetes.node.pods | Number of pods currently scheduled on this node. | Count |
Kubernetes Pods
| Metric | Description | Type |
|---|---|---|
| gcp.gke.kubernetes.pods | Total number of pods across the cluster. | Count |
| gcp.gke.kubernetes.pod | Identifier of an individual pod. | String |
| gcp.gke.kubernetes.pod.state | Current state of the pod. | String |
| gcp.gke.kubernetes.pod.ip | IP address assigned to the pod. | String |
| gcp.gke.kubernetes.pod.namespace | Namespace in which the pod is running. | String |
| gcp.gke.kubernetes.pod.node | Node on which the pod is scheduled. | String |
| gcp.gke.kubernetes.pod.containers | Number of containers in the pod. | Count |
| gcp.gke.kubernetes.pod.restarts | Total number of container restarts in the pod. | Count |
| gcp.gke.kubernetes.pod.ready | Indicates whether all containers in the pod are ready. | Boolean |
| gcp.gke.kubernetes.pod.creation.time | Timestamp when the pod was created. | Timestamp |
Kubernetes Containers
| Metric | Description | Type |
|---|---|---|
| gcp.gke.kubernetes.containers | Total number of containers across the cluster. | Count |
| gcp.gke.kubernetes.container | Identifier of an individual container. | String |
| gcp.gke.kubernetes.container.state | Current state of the container. | String |
| gcp.gke.kubernetes.container.image | Container image running in this container. | String |
| gcp.gke.kubernetes.container.pod.ip | IP address of the pod hosting this container. | String |
| gcp.gke.kubernetes.container.ports | Ports exposed by this container. | String |
| gcp.gke.kubernetes.container.mount | Volume mount paths configured for this container. | String |
| gcp.gke.kubernetes.container.creation.time | Timestamp when the container was created. | Timestamp |
| gcp.gke.kubernetes.container.cpu.limit.cores | CPU limit allocated to this container in cores. | Count |
| gcp.gke.kubernetes.container.cpu.request.cores | CPU requested by this container in cores. | Count |
| gcp.gke.kubernetes.container.memory.limit.bytes | Memory limit allocated to this container. | Bytes |
| gcp.gke.kubernetes.container.memory.request.bytes | Memory requested by this container. | Bytes |
| gcp.gke.kubernetes.container.cpu.limit.percent | CPU limit as a percentage of node capacity. | Percent |
| gcp.gke.kubernetes.container.cpu.request.percent | CPU request as a percentage of node capacity. | Percent |
| gcp.gke.kubernetes.container.memory.limit.percent | Memory limit as a percentage of node capacity. | Percent |
| gcp.gke.kubernetes.container.memory.request.percent | Memory request as a percentage of node capacity. | Percent |