kube-state-metrics have the same grade of stability as the Kubernetes API objects themselves. In turn, this means that kube-state-metrics in certain situations may not show the exact same values as kubectl as kubectl applies certain heuristics to display comprehensible messages. kube-state-metrics exposes the unmodified raw data from the Kubernetes API. Therefore, the users have all the data they require and perform heuristics as required.

The metrics are exported on the HTTP endpoint /metrics on the listening port (default 8080) and are served as plaintext. The metrics are designed to be consumed either by Prometheus itself or by a scraper that is compatible with scraping a Prometheus client endpoint. You can also open /metrics in a browser to see the raw metrics. Note that the metrics exposed on the /metrics endpoint reflect the current state of the Kubernetes cluster. When Kubernetes objects are deleted they are no longer visible on the /metrics endpoint.

Prerequisite

Use of the following service for kube-state so that the agent can discover kube-state.
Ensure that clusterIP is not None.

apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: kube-state-metrics
    app.kubernetes.io/version: 2.0.0-alpha.3
  name: kube-state-metrics
  namespace: kube-system
spec:
  ports:
  - name: http-metrics
    port: 8080
    targetPort: http-metrics
  - name: telemetry
    port: 8081
    targetPort: telemetry
  selector:
    app.kubernetes.io/name: kube-state-metrics

Validate

Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.

Metrics

OpsRamp MetricMetric Display NameUnit
kube_state_daemonset_desired

Number of nodes that should be running the daemon POD
Daemonset Desired
kube_state_daemonset_misscheduled

Number of nodes running a daemon POD but are not supposed to
Daemonset Misscheduled
kube_state_daemonset_ready

Number of nodes that should be running the daemon POD and have one or more of the daemon pod running and ready
Daemonset Ready
kube_state_daemonset_scheduled

Number of nodes running at least one daemon POD and are supposed to
Daemonset Currently Scheduled
kube_state_daemonset_updated

The total number of nodes that are running updated daemon POD
Daemonset Updated Spec Scheduled
kube_state_deployment_paused

The deployment is paused and will not be processed by the deployment controller
Deployment Paused
kube_state_deployment_replicas

Number of replicas per deployment
Deployment Replicas
kube_state_deployment_replicas_available

Number of available replicas per deployment
Deployment Replicas Available
kube_state_deployment_replicas_desired

Number of desired replicas per deployment
Deployment Replicas Desired
kube_state_deployment_replicas_unavailable

Number of unavailable replicas per deployment
Deployment Replicas Unavailable
kube_state_deployment_replicas_updated

Number of updated replicas per deployment
Deployment Replicas Updated
kube_state_deployment_rollingupdate_max_unavailable

Maximum number of unavailable replicas during a rolling update of a deployment
Deployment Rollingupdate Max Unavailable
kube_state_deployment_rollingupdate_max_surge

Maximum number of replicas that can be scheduled above the desired number of replicas during a rolling update of a deployment
Deployment Rollingupdate Max Surge
kube_state_endpoint_address_available

Number of addresses available in endpoint
Addresses Available In Endpoint
kube_state_endpoint_address_not_ready

Number of addresses not ready in endpoint
Addresses Not Ready In Endpoint
kube_state_endpoint_created

Timestamp of UNIX creation
Enpoint Creation Timestamp
kube_state_job_status_failed

Number of PODs that reached the phase failed for a job
Jobs Failed Per POD
kube_state_job_status_succeeded

Number of PODs that reached the phase succeeded for a job
Jobs Succeeded Per POD
kube_state_node_cpu_capacity

Total CPU resources of the node
Node Cpu Capacity
kube_state_node_cpu_allocatable

CPU resources of a node that are available for scheduling
Node Cpu Allocatable
kube_state_node_memory_capacity

Total memory resources of the node
Node Memory Capacity
kube_state_node_memory_allocatable

Memory resources of a node that are available for scheduling
Node Memory Allocatable
kube_state_node_pods_allocatable

POD resources of a node that are available for scheduling
Node Pods Allocatable
kube_state_node_pods_capacity

Total POD resources of the node
Node Pods Capacity
kube_state_node_status

Condition of a cluster node. Sum this metric by either status to get the number of nodes in that status
Node Status
kube_state_nodes_by_condition

Sum by `condition` and `status` to get number of nodes in a given condition
Node Status By Condition
kube_state_pod_ready

Describes whether the POD is ready to serve requests. In association with the `condition` tag, whether the POD is ready to serve requests, for example, `condition:true` keeps the pods that are in a ready state
POD Ready
kube_state_pod_scheduled

Describes the status of the scheduling process for the POD
POD Scheduled
kube_state_container_cpu_limit

Limit on CPU cores to be used by a container
Container Cpu Limit
kube_state_container_cpu_requested

Number of requested CPU cores by a container
Container Cpu Requested
kube_state_container_memory_limit

Limit on memory to be used by a container
Container Memory Limitbytes
kube_state_container_memory_requested

Number of requested memory bytes by a container
Container Memory Requested
kube_state_container_ready

Ckeck the readiness of the container
Container Ready
kube_state_container_restarts

Number of restarts per container
Container Restarts
kube_state_container_running

Checks if the container is running
Container Running
kube_state_container_terminated

Checks if the container is currently in terminated state
Container Terminated
kube_state_container_waiting

Checks if the container is currently in waiting state
Container Waiting
kube_state_pdb_pods_desired

Minimum desired number of healthy pods
PDB Desired Healthy Pods
kube_state_pdb_disruptions_allowed

Number of POD disruptions that are currently allowed
PDB Disruptions Allowed
kube_state_pdb_pods_healthy

Current number of healthy pods
PDB Healthy Pods
kube_state_pdb_pods_total

Total number of pods counted by this disruption budget
PDB Pods Total
kube_state_replicaset_fully_labeled_replicas

Number of fully labeled replicas per ReplicaSet
Replicaset Fully Labeled Replicas
kube_state_replicaset_replicas

Number of replicas per ReplicaSet
Replicaset Replicas
kube_state_replicaset_replicas_desired

Number of desired pods for a ReplicaSet
Replicaset Replicas Desired
kube_state_replicaset_replicas_ready

Number of ready replicas per ReplicaSet
Replicaset Replicas Ready
kube_state_replicationcontroller_replicas

Number of replicas per ReplicationController
ReplicationController Replicas
kube_state_replicationcontroller_fully_labeled_replicas

Number of fully labeled replicas per ReplicationController
ReplicationController Fully Labeled
kube_state_replicationcontroller_replicas_ready

Number of ready replicas per ReplicationController
ReplicationController Ready
kube_state_replicationcontroller_replicas_desired

Number of desired pods for a ReplicationController
ReplicationController Desired
kube_state_replicationcontroller_replicas_available

Number of available replicas per ReplicationController
ReplicationController Available
kube_state_statefulset_replicas

Number of replicas per StatefulSet
StatefulSet Replicas
kube_state_statefulset_replicas_desired

Number of desired PODs for a StatefulSet
StatefulSet Desired Pods
kube_state_statefulset_replicas_current

Number of current replicas per StatefulSet
StatefulSet Current Replicas
kube_state_statefulset_replicas_ready

Number of ready replicas per StatefulSet
StatefulSet Ready Replicas
kube_state_statefulset_replicas_updated

Number of updated replicas per StatefulSet
StatefulSet Updated Replicas
kube_state_resourcequota_limits_cpu_limit

Hard limit on the sum of CPU core limits for a resource quota
Resourcequota Limits Cpu Limit
kube_state_resourcequota_limits_cpu_used

Observed sum of limits for CPU cores for a resource quota
Resourcequota Limits Cpu Used
kube_state_resourcequota_limits_memory_limit

Hard limit on the sum of memory bytes limits for a resource quota
Resourcequota Limits Memory Limit
kube_state_resourcequota_limits_memory_used

Observed sum of limits for memory bytes for a resource quota
Resourcequota Limits Memory Used
kube_state_resourcequota_persistentvolumeclaims_limit

Hard limit of the number of PVC for a resource quota
Resourcequota Persistentvolumeclaims Limit
kube_state_resourcequota_persistentvolumeclaims_used

Observed number of persistent volume claims used for a resource quota
Resourcequota Persistentvolumeclaims Used
kube_state_resourcequota_pods_limit

Hard limit of the number of pods for a resource quota
Resourcequota Pods Limit
kube_state_resourcequota_pods_used

Observed number of pods used for a resource quota
Resourcequota Pods Used
kube_state_resourcequota_requests_cpu_limit

Hard limit on the total of CPU core requested for a resource quota
Resourcequota Requests Cpu Limit
kube_state_resourcequota_requests_cpu_used

Observed sum of CPU cores requested for a resource quota
Resourcequota Requests Cpu Used
kube_state_resourcequota_requests_memory_limit

Hard limit on the total of memory bytes requested for a resource quota
Resourcequota Requests Memory Limit
kube_state_resourcequota_requests_memory_used

Observed sum of memory bytes requested for a resource quota
Resourcequota Requests Memory Used
kube_state_resourcequota_requests_storage_limit

Hard limit on the total of storage bytes requested for a resource quota
Resourcequota Requests Storage Limit
kube_state_resourcequota_requests_storage_used

Observed sum of storage bytes requested for a resource quota
Resourcequota Requests Storage Used
kube_state_resourcequota_services_limit

Hard limit of the number of services for a resource quota
Resourcequota Services Limit
kube_state_resourcequota_services_loadbalancers_limit

Hard limit of the number of loadbalancers for a resource quota
Resourcequota Services Loadbalancers Limit
kube_state_resourcequota_services_loadbalancers_used

Observed number of loadbalancers used for a resource quota
Resourcequota Services Loadbalancers Used
kube_state_resourcequota_services_nodeports_limit

Hard limit of the number of node ports for a resource quota
Resourcequota Services Nodeports Limit
kube_state_resourcequota_services_nodeports_used

Observed number of node ports used for a resource quota
Resourcequota Services Nodeports Used
kube_state_resourcequota_services_used

Observed number of services used for a resource quota
Resourcequota Services Used
kube_state_limitrange_cpu_min

Minimum CPU request for this type
LimitRange CPU Min
kube_state_limitrange_cpu_max

Maximum CPU limit for this type
LimitRange CPU Max
kube_state_limitrange_cpu_default

Default CPU limit if not specified
LimitRange CPU Default
kube_state_limitrange_cpu_default_request

Default CPU request if not specified
LimitRange CPU Default Request
kube_state_limitrange_cpu_max_limit_request_ratio

Maximum CPU limit / request ratio
LimitRange CPU Max Limit Request Ratio
kube_state_limitrange_memory_min

Minimum memory request for this type
LimitRange Memory Min
kube_state_limitrange_memory_max

Maximum memory limit for this type
LimitRange Memory Max
kube_state_limitrange_memory_default

Default memory limit if not specified
LimitRange Memory Default
kube_state_limitrange_memory_default_request

Default memory request if not specified
LimitRange Memory Default Request
kube_state_limitrange_memory_max_limit_request_ratio

Maximum memory limit / request ratio
LimitRange Memory Max Limit Request Ratio
kube_state_hpa_min_replicas

Lower limit for the number of pods that can be set by the autoscaler, default 1
HPA Min Replicas
kube_state_hpa_max_replicas

Upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas
HPA Max Replicas
kube_state_hpa_desired_replicas

Desired number of replicas of pods managed by this autoscaler
HPA Desired Replicas
kube_state_hpa_condition

Condition of autoscaler
HPA Condition