Chapter 10. Setting Up Monitoring
Collect JMX metrics with the Prometheus Operator to monitor events and get statistics for Data Grid clusters.
From a high-level, you set up monitoring capabilities as follows:
-
Configure Data Grid with the
AB_PROMETHEUS_ENABLE
environment variable set totrue
. - Install the Prometheus Operator and expose the Prometheus web UI.
- Export Data Grid metrics to Prometheus.
- Enable Prometheus to monitor Data Grid for metrics.
10.1. Deploying the Prometheus Operator
To install the Prometheus Operator, you should refer to the following documentation:
Tip
10.2. Exposing Data Grid Metrics to Prometheus
Add a service that exposes JMX metrics from Data Grid to Prometheus.
Create a
service-metrics.yaml
file that defines a metrics service.apiVersion: v1 kind: Service metadata: annotations: description: Expose Data Grid metrics to Prometheus. labels: app: datagrid-service application: datagrid-service template: datagrid-service metrics: datagrid name: datagrid-app-metrics spec: ClusterIP: None ports: # Set the port name where Data Grid publishes metrics. # You add the port name to service-monitor.yaml. - name: web port: 8080 protocol: TCP targetPort: 9779 selector: deploymentConfig: datagrid-service sessionAffinity: None
Apply
service-metrics.yaml
.$ oc apply -f service-metrics.yaml
10.3. Enabling Prometheus to Monitor Data Grid
A service monitor lets Prometheus connect to the Data Grid metrics service.
Create a
service-monitor.yaml
file that holds the definition for aServiceMonitor
object.apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: datagrid-service-monitor labels: team: frontend spec: selector: matchLabels: metrics: datagrid endpoints: # Set the name of the port where Data Grid publishes metrics. # You create this port in service-metrics.yaml. - port: web
Apply
service-monitor.yaml
.$ oc apply -f service-monitor.yaml