1.首先需要部署一个redis,配置一个redis的exporter,通过redis进行暴露监控
cat redis.yaml
## Service
apiVersionv1
kindService
metadata
namecloud-redis
labels
appredis
spec
selector
appredis
ports
nameredis
port6379
targetPort6379
nameprom
port9121
targetPort9121
---
## Deployment
apiVersionapps/v1
kindDeployment
metadata
namecloud-redis
labels
appredis
spec
replicas1
selector
matchLabels
appredis
template
metadata
annotations
prometheus.io/scrape"true"
prometheus.io/port"9121"
labels
appredis
spec
containers
nameredis-exporter
imageoliver006/redis_exporterlatest
resources
requests
cpu100m
memory100Mi
ports
containerPort9121
nameredis
imageredis5.0.8
ports
containerPort6379
resources
limits
cpu1000m
memory1024Mi
requests
cpu100m
memory100Mi
kubectl apply -f redis.yamlredis 这个 Pod 中包含了两个容器,一个就是 redis 本身的主应用,另外一个容器就是 redis_exporter
由于Redis服务的metrics接口在redis-exporter 9121上,所以我们添加了prometheus.io/port=9121这样的annotation,在prometheus就会自动发现redis了
接下来我们刷新一下Redis的Service配置
[root@root prometheus]# kubectl apply -f redis.yaml
deployment.extensions/redis unchanged
service/redis unchanged在prometheus页面就可以看到redis的Pod信息了
在grafana导入redis的json文件Redis Cluster-1571393212519.json,监控界面如下

