Redis监控汇总二.md
好了,说完系统自带的,我们来看看开源redis监控都有哪些吧
首先推荐的是Facebook家的小工具,redis-faina
三、redis-faina
redis-faina是一个通过解析redis的MONITOR命令,从而对redis实例进行性能诊断的工具。python编写,只有一个文件,短小精悍。比较实用,是一款排错时使用的良品。使用方法如下:
$ redis-cli -p 6379 MONITOR > m.log
$ ./redis-faina.py ./m.log
命令输出如下
[root@Ali-BJ-OL-99 ~]# cat m.log |./redis-faina.py
Overall Stats
========================================
Lines Processed 10824 ##@@处理的数据条数
Commands/Sec 943.17 ##@@QPS
Top Prefixes ##@@前缀最多的数据
========================================
lock_ 998 (9.22%)
Top Keys ##@@访问次数最多的key
========================================
lock_:ACCESS_LIMIT 591 (5.46%)
ACCESS_COUNT 120 (1.11%)
activeValue_201802 50 (0.46%)
Widget_Filter_7ad45c1f3798c3e785e442f8fa243d00 42 (0.39%)
Widget_Filter_10d14b3b04883ecfd10a8444319cf9d3 26 (0.24%)
Widget_Filter_7c2b71218180c309f6dc59f55a08b5e9 22 (0.20%)
Widget_Filter_a8ab1c0edeece7b32694bec2b7b22afc 18 (0.17%)
push_pctype_RESCUER R720-15IKBN 18 (0.17%)
Top Commands ##@@使用的最多的命令
========================================
SETNX 3523 (32.55%)
GET 1488 (13.75%)
SADD 1253 (11.58%)
PING 1142 (10.55%)
PEXPIRE 878 (8.11%)
SMEMBERS 654 (6.04%)
SETEX 415 (3.83%)
SREM 406 (3.75%)
Command Time (microsecs) ##@@请求的响应时间分布
========================================
Median 661.75
75% 1353.0
90% 2485.25
99% 6192.0
Heaviest Commands (microsecs) ##@@总体耗时最多的命令
========================================
SETNX 4366803.25
PING 1799698.5
GET 1507729.75
SADD 1055130.25
PEXPIRE 791175.0
SMEMBERS 594467.5
SETEX 460230.25
SREM 294952.5
Slowest Calls ##@@慢请求列表
========================================
10216.0 "PING"
10212.25 "PING"
10209.75 "PING"
10205.0 "PING"
10202.25 "PING"
10201.75 "PING"
10200.75 "PING"
10188.0 "PING"
接下来,我们看两个比较流行但是华而不实的产品。
四、Redis-stat
这是一个ruby编写的软件,作者也提供了java封装版本。它可以实时查看redis服务器的CPU占用、内存占用、QPS、KEY数量、命中率情况、KEY过期和逐出情况。同时该软件可以监听HTTP端口,提供页面服务。命令行使用方法和效果截图如下:
java -jar redis-stat-0.4.14.jar
部分指标说明:
cl 连接客户端数量,bcl 阻塞客户端数量(如BLPOP),exp/s 每秒过期key数量,evt/s 每秒淘汰key数量,aofcs AOF日志当前大小
我们看到,此款软件功能上与redis-cli --stat 类似,监控项目也更加全面,但是不如系统自动的工具来得快。
五、RedisLive
RedisLive是由python编写的并且开源的图形化监控工具,非常轻量级,核心服务部分只包含一个web服务和一个基于redis自带的info命令以及monitor命令的监控服务。
除了图形化,没有比的优势,并且monitor命令很耗资源,不宜长期开启。
除了与redis-stat类似的监控指标外,还有top command和top keys的图表。但是安装比较复杂。
六、总结
看了一圈redis的监控方案,是不是觉着没有一款万能的产品,开源软件就是这样。
如果为了zabbix监控,建议使用python或者shell编写脚本,使用redis-cli来获取各种数据。
如果是为了排查问题,monitor+redis-faina 是个不错的选择。
参考资料
http://www.zmonster.me/2015/12/16/redis-performance-analysis.html
https://github.com/facebookarchive/redis-faina
https://github.com/junegunn/redis-stat
http://blog.csdn.net/cjfeii/article/details/77069778
https://www.objectrocket.com/blog/how-to/top-10-redis-cli-commands
https://juejin.im/entry/57c673912e958a006990f6e9
转载请注明:IPCPU-网络之路 » Redis监控汇总(2/2)