一、操作场景
注意:说明:
注意:如果需要监控的 Redis 是腾讯云 云数据库 Redis,推荐使用集成中心 云监控集成,支持一键采集云产品指标。
二、操作步骤
1. 登录 Prometheus 监控服务控制台。
2. 在实例列表中,选择对应的 Prometheus 实例。
3. 进入实例详情页,选择数据采集 > 集成中心。
4. 在集成中心找到并单击 Redis,即会弹出一个安装窗口,在安装页面填写集成名称和地址等信息,并单击保存即可。
三、配置说明
| 参数 | 说明 |
| 名称 | 集成名称,命名规范如下:名称具有唯一性。名称需要符合下面的正则:'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'。 |
| 地址 | Redis 的连接地址。 |
| 用户名 | Redis 的用户名。不填表示默认账号。 |
| 密码 | Redis 的密码。 |
| 标签 | 给指标添加自定义 Label。 |
| 环境变量 | 具体配置参见 开源文档。 |
注意:云数据库 Redis® 集群架构不支持 SLOWLOG 和 LATENCY 命令,需要添加环境变量取消相关指标采集。
注意:REDIS_EXPORTER_EXCLUDE_SLOWLOG_METRICS: trueREDIS_EXPORTER_EXCLUDE_LATENCY_HISTOGRAM_METRICS: true
四、方式二:自定义安装
注意:说明:
注意:为了方便安装管理 Exporter,推荐使用腾讯云 容器服务 进行统一管理。
五、前提条件
·在 Prometheus 实例对应地域及私有网络 VPC 下,创建 腾讯云容器服务,并为集群创建 命名空间。
·在 Prometheus 监控服务控制台,选择对应的 Prometheus 实例,在数据采集 > 集成容器服务中找到对应容器集群完成关联集群操作。可参见指引 关联集群。
六、操作步骤
步骤1:Exporter 部署
1. 登录 容器服务控制台。
2. 在左侧菜单栏中单击集群。
3. 单击需要获取集群访问凭证的集群 ID/名称,进入该集群的管理页面。
4. 执行以下 使用 Secret 管理 Redis 环境变量 > 部署 Redis Exporter > 验证 步骤完成 Exporter 部署。
使用 Secret 管理 Redis 密码
1. 在左侧菜单中选择工作负载 > Deployment,进入 Deployment 页面。
2. 在页面右上角单击 YAML 创建资源,创建 YAML 配置,配置说明如下。
使用 Kubernetes 的 Secret 来管理 环境变量,YAML 配置示例如下:
apiVersion: v1kind: Secretmetadata: name: redis-secret-test namespace: redis-testtype: OpaquestringData: # key 是环境变量 REDIS_ADDR: ip:port # 对应 Redis 的 ip:port REDIS_PASSWORD: password #对应 Redis 密码
部署 Redis Exporter
在 Deployment 管理页面,单击新建,选择对应的命名空间来进行部署服务。可以通过控制台的方式创建,如下以 YAML 的方式部署 Exporter,YAML 配置示例如下:
注意:说明:
注意:更多 Exporter 详细参数介绍请参见 redis_exporter。
apiVersion: apps/v1kind: Deploymentmetadata: labels: k8s-app: redis-exporter # 根据业务需要调整成对应的名称,建议加上 Redis 实例的信息,如crs-66e112fp-redis-exporter name: redis-exporter # 根据业务需要调整成对应的名称,建议加上 Redis 实例的信息,如crs-66e112fp-redis-exporter namespace: redis-test # 选择一个适合的 namespace 来部署 exporter,如果没有需要新建一个 namespacespec: replicas: 1 selector: matchLabels: k8s-app: redis-exporter # 根据业务需要调整成对应的名称,建议加上 Redis 实例的信息,如crs-66e112fp-redis-exporter template: metadata: labels: k8s-app: redis-exporter # 根据业务需要调整成对应的名称,建议加上 Redis 实例的信息,如crs-66e112fp-redis-exporter spec: containers: – envFrom: # 使用 Secret 添加环境变量 – secretRef: name: redis-secret-test image: ccr.ccs.tencentyun.com/rig-agent/redis-exporter:v1.80.1-options imagePullPolicy: IfNotPresent name: redis-exporter ports: – containerPort: 9121 name: metric-port # 这个名称在配置抓取任务的时候需要 securityContext: privileged: false terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst imagePullSecrets: – name: qcloudregistrykey restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30
七、验证
1. 在 Deployment 页面单击上述步骤创建的 Deployment,进入 Deployment 管理页面。
2. 单击日志页签,可以查看到 Exporter 成功启动并暴露对应的访问地址:
3. 单击 Pod 管理页签,进入 Pod 页面。
4. 在右侧的操作项下单击远程登录 Pod,在命令行窗口中执行以下 curl 命令对应 Exporter 暴露的地址,可以正常得到对应的 Redis 指标。如发现未能得到对应的数据,请检查一下 REDIS_ADDR 和 REDIS_PASSWORD 是否正确。示例如下:
curl http://localhost:9121/metrics
命令执行结果如下:
步骤2:添加采集任务
1. 登录 Prometheus 监控服务控制台,选择对应 Prometheus 实例进入管理页面。
2. 单击数据采集 > 集成容器服务,选择已经关联的集群,通过数据采集配置 > 新建自定义监控 > YAML 编辑来添加采集配置。
3. 通过服务发现添加 PodMonitors 来定义 Prometheus 抓取任务,YAML 配置示例如下:
apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: redis-exporter # 填写一个唯一名称 namespace: cm-prometheus # 按量实例: 集群的 namespace; 包年包月实例(已停止售卖): namespace 固定,不要修改 spec: podMetricsEndpoints: – interval: 30s port: metric-port # 填写pod yaml中Prometheus Exporter对应的Port的Name path: /metrics # 填写Prometheus Exporter对应的Path的值,不填默认/metrics relabelings: – action: replace sourceLabels: – instance regex: (.*) targetLabel: instance replacement: 'crs-xxxxxx' # 调整成对应的 Redis 实例 ID – action: replace sourceLabels: – instance regex: (.*) targetLabel: ip replacement: '1.x.x.x' # 调整成对应的 Redis 实例 IP namespaceSelector: # 选择要监控pod所在的namespace matchNames: – redis-test selector: # 填写要监控pod的Label值,以定位目标pod matchLabels: k8s-app: redis-exporter
注意:说明:
注意:由于 Exporter 和 Redis 部署在不同的服务器上,因此建议通过 Prometheus Relabel 机制将 Redis 实例的信息放到监控指标中,以方便定位问题。
八、前提条件
Prometheus 实例已绑定 Grafana 实例。
九、操作步骤
1. 登录 Prometheus 监控服务控制台,选择对应 Prometheus 实例进入管理页面。
2. 选择数据采集 > 集成中心,进入集成中心页面。找到 Redis 监控,安装对应的 Grafana Dashboard 即可开启 Redis 监控大盘,查看实例相关的监控数据:
十、配置告警
1. 登录 Prometheus 监控服务控制台,选择对应 Prometheus 实例进入管理页面。
2. 选择告警管理 > 告警策略,然后添加相应的告警策略,详情请参见 新建告警策略。