最新消息:

Redis监控汇总(2/2)

IT技术 ipcpu 3184浏览

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)