写在前面
之前通过Dokcer部署过使用Prometheus监控MongoDB分片集群的功能,最近项目的Redis有些问题,所以想增加使用Prometheus监控Redis集群的功能,实现集群负载状态的监控。
部署redis_exporter
首先拉取redis_exporter的镜像
docker pull oliver006/redis_exporter
然后启动redis_exporter的容器
docker run -d -e REDIS_ADDR=172.18.66.153:7000 -e REDIS_PASSWORD=password --name redis_exporter -p 9121:9121 oliver006/redis_exporter
#REDIS_ADDR后面写的是你Redis集群的地址,其中一个就可以
#REDIS_PASSWORD后面写的是Redis的连接密码
#redis_exporter默认端口号9121,可以根据实际情况更改
容器启动后可以查看启动日志是否有异常
docker logs -f redis_exporter --tail 30
如果日志没有异常信息,容器就已经启动了,接下来我们修改Prometheus配置文件,增加Redis监控扩展
修改Prometheus配置
因为我之前部署的Prometheus已经将yaml文件挂载出来了,所以直接修改配置文件即可,可以参考我之前最开始部署Prometheus的文章
#在配置文件增加以下内容
- job_name: 'redis_exporter'
static_configs:
- targets: ['172.18.66.178:9121']
- job_name: 'redis_exporter_targets'
static_configs:
- targets:
- redis://172.18.66.153:7000
- redis://172.18.66.167:7001
- redis://172.18.66.168:7002
- redis://172.18.66.153:7003
- redis://172.18.66.167:7004
- redis://172.18.66.168:7005
metrics_path: /scrape
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 172.18.66.178:9121
#redis_exporter_targets才是真正监控redis集群的,里面填写各个节点的地址
配置完成后重启Prometheus容器
docker restart prometheus
启动后查看prometheus的web界面,看看扩展是否已经启用

都启动以后我们就可以去Grafana增加模版,查看数据了
增加Grafana数据模版
进入Grafana后新增数据模版

添加模版代码:11835 ,load以后添加Prometheus为数据源

回到数据界面就可以看到数据了

如果界面没数据,可以多等一会,等待数据刷新,或者通过Grafana自带工具监控
#进入容器
docker exec -it grafana /bin/bash
#增加插件
grafana-cli plugins install redis-datasource

接着重启Grafana容器
docker restart grafana
然后登陆Grafana添加数据源


拉到最下面


添加完成后增加界面

添加完成后就可以看到数据了
