Monitor Deployment Using Metrics
This topic outlines the use of standards-based metrics to monitor activity and performance of DX container deployments.
Prometheus metrics and Grafana
The Digital Experience 9.5 Helm deployment supports monitoring the deployment activity with advanced metrics and visualization, by exposing standards-based Prometheus-compatible metrics. Prometheus metrics components can scrape
the metrics of most of the DX 9.5 container applications. The collected data is queried from Prometheus and are visualized in operations dashboard solutions, such as Grafana. The following information can advise administrators which Digital Experience 9.5 applications can use these tools with some usage examples.
Digital Experience 9.5 applications and Prometheus metrics
The following Digital Experience 9.5 applications expose metrics that can be tracked with Prometheus metrics.
Application | Port | Route |
---|---|---|
Core | 10038 | /metrics |
Remote Search | 9060 | /metrics |
Content Composer | 3000 | /probe/metrics |
Digital Asset Management | 3000 | /probe/metrics |
Image Processor | 3000 | /probe/metrics |
Ring API | 3000 | /probe/metrics |
DAM Persistence | 9187 | /metrics |
HAProxy | 8404 | /metrics |
Important
HCL Digital Experience 9.5 does not include a deployment of Prometheus or Grafana. The metrics are enabled by default for the DX 9.5 Helm chart. This exposes Prometheus-compatible metrics, which can be consumed by any common Prometheus installation.
HCL DX 9.5 metrics are compatible with the following deployment and discovery types of Prometheus in Kubernetes environments:
- Prometheus - Discovers metrics by evaluating the
annotation
of the services - Prometheus Operator - Discovers metrics using the
ServiceMonitor
custom resources
Administrators can configure the HCL DX 9.5 metrics depending on their specific Prometheus deployment, as outlined in the following sections.
Configure Prometheus metrics
Metrics for the Digital Experience 9.5 applications in the DX 9.5 Helm chart are enabled by default, with prometheusDiscoveryType
set to annotations
. The metrics are configured independently for each DX 9.5 application. The parameter to disable metrics is included in the example configurations.
Parameter | Description | Default value |
---|---|---|
metrics.<application>.scrape |
Determines if the metrics of this application are scraped by Prometheus. | true |
metrics.<application>.prometheusDiscoveryType |
Determines how Prometheus discovers the metrics of a service. Accepts "annotation" and "serviceMonitor" . The"serviceMonitor" setting requires that the ServiceMonitor CRD (which comes with the Prometheus Operator), is installed in the cluster. |
"annotation" |
Example:
-
Default configuration: Metrics are enabled for Core with the appropriate
annotation
for Prometheus:metrics: core: scrape: true prometheusDiscoveryType: "annotation"
-
Create a
ServiceMonitor
for Prometheus Operator:metrics: core: scrape: true prometheusDiscoveryType: "serviceMonitor"
-
Disable the metrics for Core:
metrics: core: scrape: false
Grafana dashboards
The exposed DX 9.5 applications metrics are compatible with a set of existing Grafana operations dashboards that are available from the Grafana dashboard page, as well as a set of Grafana-supported custom dashboards provided in JSON format. See following examples, which can be imported directly into Grafana.
Publicly available operations dashboards
You can directly download or import the following dashboards from the Grafana community page using the IDs or links.
ID | Dashboard | Applications |
---|---|---|
14151 | WebSphere Application Server PMI metrics dashboard | Core, Remote Search |
11159 | NodeJS application dashboard | Content Composer, Digital Asset Management, Image Processor, Experience API |
9628 | PostgreSQL database | DAM Persistence |
12693 | HAProxy dashboard | HAProxy |
HCL Digital Experience custom dashboards
The following dashboards are provided by HCL Software for use with HCL Digital Experience 9.5 deployments. These examples expose custom metrics for DX applications or provide enhanced features for existing dashboards. They are available in the publicĀ HCL Software GitHub repository.
Dashboard | Application(s) |
---|---|
dam_dashboard.json | Digital Asset Management |
References to Prometheus and Grafana installations
Important
The resources outline here are optional deployment examples. HCL Software does not provide direct support for any issues related to the Prometheus metrics or the Grafana visualization tools.
To leverage the full potential of the Digital Experience 9.5 applications metrics, an existing Prometheus and Grafana deployment can be used. Following is a list of additional metrics tracking and visualization services (non-exhaustive) that you can consider when developing solutions according to your deployment needs:
-
kube-prometheus-stack
Helm chart that includes:- The Prometheus Operator
- Highly available Prometheus
- Highly available Alertmanager
- Prometheus node-exporter
- Prometheus adapter for Kubernetes metrics APIs
- kube-state-metrics
-
Note
The
kube-prometheus-stack
Helm chart is based on thekube-prometheus
repository, and comes with a set of tools to monitor the Kubernetes cluster, as well as pre-installed Grafana dashboards for visualization. -
prometheus
andgrafana
are provided as independent Helm charts.