Skip to content

Files

Latest commit

Mar 16, 2023
cef8c1f · Mar 16, 2023

History

History
This branch is 660 commits behind kubernetes/kube-state-metrics:main.

docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Feb 20, 2019
Dec 21, 2022
Mar 16, 2023
Aug 15, 2021
Jan 23, 2023
Jun 30, 2022
Aug 9, 2022
Sep 21, 2021
May 16, 2022
Mar 16, 2023
Aug 15, 2021
Aug 31, 2022
Aug 23, 2022
Nov 26, 2022
May 4, 2022
Dec 15, 2021
Nov 23, 2022
Aug 15, 2021
Oct 12, 2022
Aug 5, 2019
Feb 27, 2020
Aug 15, 2021
Apr 29, 2021
Jan 3, 2023
Aug 24, 2022
Dec 3, 2022
Mar 13, 2023
Oct 26, 2021
Aug 15, 2021
Feb 18, 2020
Aug 5, 2019
Jun 30, 2022
Aug 9, 2022
Aug 15, 2021
Feb 19, 2022
Sep 19, 2022
Mar 13, 2023
Aug 15, 2021
Feb 27, 2020
Apr 8, 2020

README.md

Documentation

This documentation is intended to be a complete reflection of the current state of the exposed metrics of kube-state-metrics.

Any contribution to improving this documentation or adding sample usages will be appreciated.

Table of Contents

Metrics Stages

Stages about metrics are grouped into three categories:

Stage Description
EXPERIMENTAL Metrics which normally correspond to the Kubernetes API object alpha status or spec fields and can be changed at any time.
STABLE Metrics which should have very few backwards-incompatible changes outside of major version updates.
DEPRECATED Metrics which will be removed once the deprecation timeline is met.

Opt-in Metrics

As of v2.3.0, kube-state-metrics supports additional opt-in metrics via the CLI flag --metric-opt-in-list. See the metric documentation to identify which metrics need to be specified.

Exposed Metrics

Per group of metrics there is one file for each metrics. See each file for specific documentation about the exposed metrics:

Default Resources

Optional Resources

Join Metrics

When an additional, not provided by default label is needed, a Prometheus matching operator can be used to extend single metrics output.

This example adds label_release to the set of default labels of the kube_pod_status_ready metric and allows you select or group the metrics by Helm release label:

kube_pod_status_ready * on (namespace, pod) group_left(label_release) kube_pod_labels

Another useful example would be to query the memory usage of pods by its phase, such as Running:

sum(kube_pod_container_resource_requests{resource="memory"}) by (namespace, pod, node)
  * on (namespace, pod) group_left() (sum(kube_pod_status_phase{phase="Running"}) by (pod, namespace) == 1)

Metrics from Custom Resources

See Custom Resource State Metrics for experimental support for custom resources.

CLI Arguments

Additionally, options for kube-state-metrics can be passed when executing as a CLI, or in a kubernetes / openshift environment. More information can be found here: CLI Arguments