2021-04-25

Prometheus+Grafana+Cadvisor 监控容器里的redis服务

或者

Prometheus+Grafana+Redis_exporter 监控容器里的redis服务

原理如下:

方式1:  Cadvisor获取redis-server的数据,Cadvisor通过http接口暴露给prometheus,prometheus获取数据上传到grafana通过图表的方式展现出来


方式2: redis-exporter获取redis-server的数据,redis_exporter通过http接口暴露给prometheus,prometheus获取数据上传到grafana通过图表的方式展现出来





Prometheus安装,可以在宿主机上安装(参考我之前的博客),也可以以容器的方式安装(不推荐在生产环境下,容器不稳定)

Grafana安装,同上!

方式 1:

安装Cadvisor

mkdir -p /var/lib/docker

docker run 

--volume=/:/rootfs:ro

 --volume=/var/run:/var/run:rw 

 --volume=/sys:/sys:ro 

 --volume=/var/lib/docker/:/var/lib/docker:ro 

 --volume=/dev/disk/:/dev/disk:ro 

 --publish=8888:8080 --detach=true --name=cadvisor --privileged=true google/cadvisor:latest


然后docker ps 查看是否成功启动,接着访问IP:8888


然后查看cadvisor曝光给prometheus的接口数据

ip:8888/metrics


然后自己写个yaml配置redis-server,这个有空自己去研究,这里我就不展示了

方式 2:

可以docker运行redis_exporter,但是不推荐这种方式

docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter

或者  docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter:alpine

如果您试图访问在主机节点上运行的Redis实例,则需要添加“-network host”,以便

redis\u exporter容器可以访问它:

docker run -d --name redis_exporter --network host oliver006/redis_exporter

推荐这种方式

安装redis_exporter, 下载地址如下:


因为不支持外部链接,所以图片展示

自己选择版本

wget https://github.com/oliver006/redis_exporter/releases/download/v1.5.3/redis_exporter-v1.5.3.linux-amd64.tar.gz

解压压缩包

tar -zxvf 包名

创建目录 mkdir  

移动文件到新目录

增加系统服务

vi  /etc/systemd/system/redis_exporter.service

内容如下

ExecStart=刚才的安装目录 -redis.addr redis服务器IP:端口  -redis.password 登录密码

其余次要

重新加载daemon

systemctl daemon-reload

启动redis_exporter

systemctl start redis_exporter.service


编辑prometheus.yml文件

在最后面加工作队列名

方式 1:

Cadvisor的IP:端口

方式 2:

redis_exporter的iP:端口

重新启动prometheus,然后查看

有redis_exporter或者Cadvisor即表示成功


常见错误如下:

level=warn ts=2021-04-25T09:03:53.786Z caller=scrape.go:1094 component="scrape manager" scrape_pool=redis target=http://10.0.2.200:8888/metrics msg="Appending scrape report failed" err="out of bounds"

我的解决方法如下,不一定合适你

进入prometheus.yml

scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']

进入SOLR_HOME / contrib / prometheus-exporter

bin/solr-exporter -p 9090 -b http://Ip-solr:8983/solr -f ./conf/solr-exporter-config.xml

然后进入普罗米修斯之家(与prometheus.yml相同)

./prometheus --log.level=debug --web.listen-address="localhost:9854"

重新启动grafana服务

systemctl restart grafana-server

连接到grafana(默认为端口3000)创建数据源prometheus

Name:  Prometheus (default: Yes)URL: http://yourservername:9854Access: ServerSave & Test

进入仪表板->管理为solr导入json文件模板位置为 SOLR_HOME/contrib/prometheus-exporter/conf/grafana-solr-dashboard.json

注意:使用DNS名称代替localhost

如果上述问题解决了,那么只剩下最后一步,添加prometheus数据源,然后在grafana配置上导入模板即可

或者自己有时间也可以写个json模板


刚刚开始只有一点点数据

你可能感兴趣的:(2021-04-25)