OpenShift Container Platform includes a pre-configured, pre-installed, and self-updating monitoring stack that is based on the Prometheus open source project and its wider eco-system. It provides monitoring of cluster components and includes a set of alerts to immediately notify the cluster administrator about any occurring problems and a set of Grafana dashboards. The cluster monitoring stack is only supported for monitoring OpenShift Container Platform clusters.

To ensure compatibility with future OpenShift Container Platform updates, configuring only the specified monitoring stack options is supported.

Stack components and monitored targets

The monitoring stack includes these components:

Table 1. Monitoring stack components
Component Description

Cluster Monitoring Operator

The OpenShift Container Platform Cluster Monitoring Operator (CMO) is the central component of the stack. It controls the deployed monitoring components and resources and ensures that they are always up to date.

Prometheus Operator

The Prometheus Operator (PO) creates, configures, and manages Prometheus and Alertmanager instances. It also automatically generates monitoring target configurations based on familiar Kubernetes label queries.

Prometheus

The Prometheus is the systems and service monitoring system, around which the monitoring stack is based.

Prometheus Adapter

The Prometheus Adapter exposes cluster resource metrics API for horizontal pod autoscaling. Resource metrics are CPU and memory utilization.

Alertmanager

The Alertmanager service handles alerts sent by Prometheus.

kube-state-metrics

The kube-state-metrics exporter agent converts Kubernetes objects to metrics that Prometheus can use.

node-exporter

node-exporter is an agent deployed on every node to collect metrics about it.

Grafana

The Grafana analytics platform provides dashboards for analyzing and visualizing the metrics. The Grafana instance that is provided with the monitoring stack, along with its dashboards, is read-only.

All the components of the monitoring stack are monitored by the stack and are automatically updated when OpenShift Container Platform is updated.

In addition to the components of the stack itself, the monitoring stack monitors:

  • CoreDNS

  • Elasticsearch (if Logging is installed)

  • Etcd

  • Fluentd (if Logging is installed)

  • HAProxy

  • Image registry

  • Kubelets

  • Kubernetes apiserver

  • Kubernetes controller manager

  • Kubernetes scheduler

  • Metering (if Metering is installed)

  • OpenShift apiserver

  • OpenShift controller manager

  • Operator Lifecycle Manager (OLM)

  • Telemeter client

Each OpenShift Container Platform component is responsible for its monitoring configuration. For problems with a component’s monitoring, open a bug in Bugzilla against that component, not against the general monitoring component.

Other OpenShift Container Platform framework components might be exposing metrics as well. For details, see their respective documentation.