本文算是一篇how to文档,介绍如何利用zabbix监控redis(正好有同学问我,顺手写一篇)。 大致的过程是:
在zabbix创建redis host组以及对应的template 利用zabbix agent 收集并上传监控数据到zabbix server.
在路径/opt/zabbix/etc/zabbix_agentd.conf.d/(不同公司配置可能不同),配置文件 redis.conf
UserParameter=redis.port.discovery,/opt/zabbix/share/zabbix/scripts/redis.port.discovery.py
UserParameter=redis.collect[*],/usr/local/bin/redis-cli -h 127.0.0.1 -p $1 info |grep $2|cut -d : -f2
或者使用具体的脚本来收集redis的统计信息。
UserParameter=redis.port.discovery,/opt/zabbix/share/zabbix/scripts/redis.port.discovery.py
UserParameter=redis[*],(/opt/zabbix/share/zabbix/scripts/redis_stat.sh $1 > /dev/null; echo $?)
Note
其实我们可以自己编写脚本来收集redis相关的信息,计算内存命中率,get,set次数。 redis.port.discovery是发现规则,需要在模板里面用的。
自己写了一个redis工具集放在github上面。
https://github.com/yangql/redis-tools
里面有redis监控模板和收集redis的统计信息脚本,有兴趣的朋友可以看看。
https://github.com/yangql/redis-tools/blob/master/zbx_redis_template.xml
https://github.com/yangql/redis-tools/blob/master/redis_stat.sh
上一篇文章 MySQL 事件调度器
相关阅读 Redis 删除1.2亿指定前缀的key