Zabbix(三) : 通过Zabbix官方模板监控微软云Azure上多台Redis实例
1. 运行环境:
OS:CentOS 7.3 / Python: 2.7.3/ Pip: 9.0.1 / Zabbix:3.2.8 / Redis:微软云Redis 3.2.7
Zabbix官方提供的监控模板。
项目地址:https://github.com/blacked/zbx_redis_template
官方提供Python和Nodejs两种版本的监控脚本,本文使用Python脚本。
Zabbix所有官方模板:http://www.zabbix.org/wiki/Zabbix_Templates
2. 部署
官方提供的监控脚本支持两种部署方式:zabbix agent部署以及trap-messages部署。
zabbix agent方式:zabbix每隔一段时间向agent请求redis的参数,agent去redis获取并交给zabbix。
trap-messages方式:脚本自动获取redis的参数,并且汇集成一条消息主动发送给zabbix。
如果要经常获取大量redis数据,官方建议使用trap-messages方式,并且trap-messages方式只支持python脚本。
我们这里就使用trap-messages方式来部署。
1> 安装Python依赖
# yum -y install python-pip # pip install argparse # pip install redis
2> 将zbx_redis_stats.py放到zabbix服务器上某路径下,如/etc/zabbix/script/redis/。
3> 修改脚本中zabbix参数:
zabbix_host = '127.0.0.1' # Zabbix Server IP zabbix_port = 10051 # Zabbix Server Port
4> 由于我这里微软云上的redis只开放了SSL连接,因此脚本添加redis SSL连接参数:
client = redis.StrictRedis(host=redis_hostname, port=args.redis_port, password=args.redis_pass, ssl=True)
5> 测试脚本是否可以正常连接到微软云上redis并获取参数:
/etc/zabbix/script/redis/zbx_redis_stats.py -a redispassword -p 6380 test.redis.cache.chinacloudapi.cn list_key_space_db
6> 添加crontab,定期执行脚本发送数据给zabbix,注意若密码中含有%需要用 \ 进行转义 (\%)。
若要监控多台redis,则添加多个crontab:
*/1 * * * * /etc/zabbix/script/redis/zbx_redis_stats.py -a redispassword -p 6380 test.redis.cache.chinacloudapi.cn
7> 将zbx_redis_trapper_template.xml导入zabbix模板。
8> 使用redis hostname创建zabbix主机,链接模板,即可实现监控。