This topic describes the CDM’s monitoring architecture. It also covers common customizations you might perform to change the way monitoring, reporting, and sending alerts works in your environment.
The CDM uses Prometheus to monitor ForgeRock Identity Platform components and Kubernetes objects, Prometheus Alertmanager to send alert notifications, and Grafana to analyze metrics using dashboards.
Prometheus and Grafana are deployed when you run the
script. This script installs Helm charts from the
project into the
monitoring namespace of a CDM cluster. These Helm
charts deploy Kubernetes pods that run the Prometheus and Grafana services.
The following Prometheus and Grafana pods from the
run in the
Handles Prometheus alerts by grouping them together, filtering them, and then routing them to a receiver, such as a Slack channel.
Generates Prometheus metrics for cluster node resources, such as CPU, memory, and disk usage. One pod is deployed for each CDM node.
Generates Prometheus metrics for Kubernetes API objects, such as deployments and nodes.
Provides the Grafana service.
Provides the Prometheus service.
See the prometheus-operator Helm chart README file for more information about the pods in the preceding table.
In addition to the pods from the
prometheus-operator project, the
import-dashboards-... pod from the
forgeops project runs after Grafana
starts up. This pod imports Grafana dashboards from the ForgeRock Identity Platform and
terminates after importing has completed.
To access CDM monitoring dashboards, see CDM Monitoring.
The CDM uses Prometheus and Grafana for monitoring, reporting, and sending alerts. If you prefer to use different tools, deploy infrastructure in Kubernetes to support those tools.
Prometheus and Grafana are evolving technologies. Descriptions of these technologies were accurate at the time of this writing, but might differ when you deploy them.
The CDM includes a set of Grafana dashboards. You can customize, export and import Grafana dashboards using the Grafana UI or HTTP API.
The CDM’s monitoring framework is based on the Prometheus Operator for Kubernetes project. The Prometheus Operator project provides monitoring definitions for Kubernetes services and deployment, and management of Prometheus instances.
When deployed, the Prometheus Operator watches for ServiceMonitor
CRDs—Kubernetes Custom Resource Definitions. CRDs are Kubernetes class
types that you can manage with the
kubectl command. The
ServiceMonitor CRDs define targets to be scraped.