将Prometheus操作符连接到Kubernetes的Redis Enterprise
本文介绍如何配置Prometheus操作员自定义资源,以允许其从Kubernetes的Redis Enterprise导出指标。
要从您的数据库和Redis Enterprise集群(REC)收集指标数据,您可以将您的Prometheus服务器连接到REC上暴露的端点。Redis Enterprise for Kubernetes创建了一个专用服务来暴露prometheus
端口(8070)以进行数据收集。一个名为ServiceMonitor
的自定义资源允许Prometheus operator连接到此端口并从Redis Enterprise收集数据。
先决条件
在将Redis Enterprise连接到Kubernetes集群上的Prometheus之前,请确保您已完成以下操作:
- 为Kubernetes部署Redis Enterprise (版本6.2.10-4或更新)
- 部署 Prometheus 操作符(版本 0.19.0 或更新)
- 创建一个 Redis 企业集群
创建一个ServiceMonitor
自定义资源
下面是一个示例ServiceMonitor
自定义资源文件。通过在selector.matchLabels
部分指定服务标签(app: redis.io/service=prom-metrics
),您可以将Prometheus操作符指向正确的Redis Enterprise服务(
)。
您需要配置以下字段以将Prometheus连接到Redis Enterprise:
部分 | 字段 | 值 |
---|---|---|
spec.endpoints |
port |
暴露端口的名称 (prometheus ) |
spec.namespaceSelector |
matchNames |
您的REC的命名空间 |
spec.selector |
matchLabels |
REC 服务标签 (app: redis.io/service=prom-metrics ) |
在与您的Redis Enterprise集群(REC)相同的命名空间中应用文件。
注意:
如果Redis Enterprise和Prometheus部署在不同的命名空间中,您还需要在Prometheus资源中添加serviceMonitorNamespaceSelector
字段。有关跨命名空间ServiceMonitor
配置的更多详细信息,请参阅Prometheus操作员文档。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
有关配置ServiceMonitor
资源的更多信息,请参阅ServiceMonitorSpec
API文档。
更多信息
- github.com/prometheus-operator
- redis.io/docs