Zabbix(三) : 通过Zabbix官方模板监控微软云Azure上多台Redis实例,zabbixredis


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主机,链接模板,即可实现监控。

 

相关内容