kube-prometheus-stackis deployed by default on the management cluster and attached clusters. This stack deploys the following Prometheus components to expose metrics from nodes, Kubernetes units, and running apps:
prometheus-operator: orchestrates various components in the monitoring pipeline.
prometheus: collects metrics, saves them in a time series database, and serves queries.
alertmanager: handles alerts sent by client applications such as the Prometheus server.
node-exporter: deployed on each node to collect the machine hardware and OS metrics.
kube-state-metrics: simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
grafana: monitors and visualizes metrics.
service monitors: collects internal Kubernetes components.
DKP has a listener on the
metrics.k8s.io/v1beta1/nodes resource, which updates your backend store when that value changes. We then poll that backend store every 5 seconds, so the metrics are updated in realtime every 5-seconds without the need to refresh your view.
A detailed description of the exposed metrics can be found in the kube-state-metrics documentation on GitHub. The
service-monitors collect internal Kubernetes components but can also be extended to monitor customer apps as explained in the section Monitor Applications, on this page below.