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:
方式 2:
重新启动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模板
刚刚开始只有一点点数据