redis-集成prometheus监控(k8s)
一. 简介:
关于redis的简介和部署,可以参考单独的文章redis-sentinel基础概念及部署-CSDN博客,这里就不细说了。这里只讲讲如何在k8s中部署export并基于prometheus做redis的指标采集。
二. 实现方式:
首先我们需要先部署exporter采集器,提供给prometheus调用 ,这里我们选择在k8s中部署,好处是: k8s有健康检测机制,不需要独立维护exporter的故障问题。这里采用deployment的方式:
# Source: prometheus-redis-exporter/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: redis-exporternamespace: monitoringlabels:app.kubernetes.io/name: redis-exporter
spec:replicas: 1selector:matchLabels:app.kubernetes.io/name: redis-exportertemplate:metadata:labels:app.kubernetes.io/name: redis-exporterspec:serviceAccountName: defaultsecurityContext:{}containers:- name: redisn-exportersecurityContext:{}image: "oliver006/redis_exporter:latest"imagePullPolicy: IfNotPresentargs:- "-redis.password=xxxxx" #这里配置了密码,如没有配置,忽略env:ports:- containerPort: 9121livenessProbe:httpGet:path: /port: 9121readinessProbe:httpGet:path: /port: 9121
配置svc:
---
apiVersion: v1
kind: Service
metadata:name: redis-exporternamespace: monitoringlabels:app.kubernetes.io/name: redis-exporter
spec:type: ClusterIPports:- port: 9121targetPort: 9121protocol: TCPname: redis-exporterselector:app.kubernetes.io/name: redis-exporter
配置prometheus的指标采集:
这里采用了,单exporter采集多redis实例的方式,具体可以根据实际情况,定制:可参考:https://github.com/oliver006/redis_exporter
接下来,就可以验证指标了:
可发现,状态OK
三. grafana中绘制dashboard看板:
也可以通过网络上的开源模版,直接导入:
配置完成!
---------------------------------------------------------------------------------------
深耕运维行业多年,擅长运维体系建设,方案落地。欢迎交流!
“V-x”: ywjw996
《 运维经纬 》