Connect the Prometheus operator to Redis Enterprise for Kubernetes
This article describes how to configure a Prometheus operator custom resource to allow it to export metrics from Redis Enterprise for Kubernetes.
To collect metrics data from your databases and Redis Enterprise cluster (REC), you can connect your Prometheus server to an endpoint exposed on your REC. Redis Enterprise for Kubernetes creates a dedicated service to expose the prometheus
port (8070) for data collection. A custom resource called ServiceMonitor
allows the Prometheus operator to connect to this port and collect data from Redis Enterprise.
Prerequisites
Before connecting Redis Enterprise to Prometheus on your Kubernetes cluster, make sure you've done the following:
- Deploy Redis Enterprise for Kubernetes (version 6.2.10-4 or newer)
- Deploy the Prometheus operator (version 0.19.0 or newer)
- Create a Redis Enterprise cluster
Create a ServiceMonitor
custom resource
Below is an example ServiceMonitor
custom resource file. By specifying the service label (app: redis.io/service=prom-metrics
) in the selector.matchLabels
section, you can point the Prometheus operator to the correct Redis Enterprise service (<rec_name>-prom
).
You'll need to configure the following fields to connect Prometheus to Redis Enterprise:
Section | Field | Value |
---|---|---|
spec.endpoints |
port |
Name of exposed port (prometheus ) |
spec.namespaceSelector |
matchNames |
Namespace for your REC |
spec.selector |
matchLabels |
REC service label (app: redis.io/service=prom-metrics ) |
Apply the file in the same namespace as your Redis Enterprise cluster (REC).
serviceMonitorNamespaceSelector
field to your Prometheus resource. See the Prometheus operator documentation for more details on cross-namespace ServiceMonitor
configuration.apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: redis-enterprise
spec:
endpoints:
- interval: 15s
port: prometheus
scheme: https
tlsConfig:
insecureSkipVerify: true
namespaceSelector:
matchNames:
- <your_REC_namespace>
selector:
matchLabels:
redis.io/service: prom-metrics
For more info about configuring the ServiceMonitor
resource, see the ServiceMonitorSpec
API documentation.
More info
- github.com/prometheus-operator
- redis.io/docs