赞
踩
公众号:MCNU云原生,欢迎微信搜索关注,更多干货,及时掌握!
之前我们讲到使用prometheus和grafana可以实现监控平台,本篇我们以监控redis为例展示如何对中间件进行监控配置。
首先,为了演示,本地启动一个redis节点,默认6379端口。
prometheus生态下提供了很多开箱即用的exporter,其中就有redis exporter,提供redis最重要的运行指标数据收集,部署了redis exporter以后,prometheus会通过redis exporter暴露的端口拉取数据。
redis exporter下载地址:redis_exporter,下载解压以后执行redis_exporter,默认暴露9121端口
tar -zxvf redis_exporter-v1.12.1.linux-386.tar.gz
./redis_exporter
INFO[0000] Providing metrics at :9121/metrics
修改prometheus.yml配置文件,添加redis exporter的job,IP和端口就是redis exporter部署所在的IP和端口
scrape_configs:
- job_name: 'redis_exporter'
static_configs:
- targets: ['192.168.56.11:9121']
重新启动prometheus,在Graph页面输入redis,能看到redis所有的指标,以redis_memory_used_bytes为例,点击查询可以看到以下界面,表明已经采集到了redis运行指标
grafana官方和社区提供了很多的开箱即用的dashboard,下载地址:grafana dashboard,这里选择Redis Dashboard for Prometheus Redis Exporter。
下载对应的JSON文件,在grafana界面上选择+号->Import上传JSON文件
成功以后,可以发现dashboard已经引入成功,页面如下:
可以发现已经成功的对redis的各种运行指标进行了监控,其中Memory Usage没有数据,Edit这个指标发现其Metrics表达式为:
100 * (redis_memory_used_bytes{instance=~"$instance"} / redis_memory_max_bytes{instance=~"$instance"} )
到prometheus graph页面查看redis_memory_max_bytes的值,发现值为0,说明没有获取到redis节点的最大内存字节数,可以手动修改为redis节点所指定的最大堆内存的字节数,例如修改为如下:
100 * (redis_memory_used_bytes{instance=~"$instance"} / 104857600)
最终实现监控效果如下图所示:
Redis Dashboard可以提供丰富的监控指标,以下是其中一些常见的指标及其说明:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。