zabbix监控redis

zbx_redis_template

Zabbix template for Redis (node.js or python)

System requirements

For use node.js version script

For use python version script

Install

You can monitor your redis in zabbix agent mode or through trap-messages.

In zabbix agent mode, zabbix will periodically send request to an agent for every parameter, and agent will answer it.

In trap-message mode, script will be periodically accumulate redis’s parameters and will send it to zabbix as a one message.

If you planning to capture many redis parameters and do it often. I would recomend to use trap-message mode.

Note: trap-message works only with python script

Install in trap-message mode

1) Put zbx_redis_stats.py into your monitoring scripts path (like: /etc/zabbix/script/redis/).

2) Change next section in zbx_redis_stats.py, to your configuration:

zabbix_host = '127.0.0.1'   # Zabbix Server IP
zabbix_port = 10051         # Zabbix Server Port
hostname = 'redis.srv.name' # Name of monitored server, like it shows in zabbix web ui

3) In script path (/etc/zabbix/script/redis/) do:

pip install redis
chmod +x zbx_redis_stats.py

4) Configure cron to run script every one minute with redis server params as arguments

$ sudo crontab -e

*/1 * * * * /etc/zabbix/script/redis/zbx_redis_stats.py localhost -p 6379 -a mypassword

5) Import zbx_redis_trapper_template.xml into zabbix in Tepmplate section web gui.

That is all 🙂

Install in Zabbix Agent mode

1) Put zbx_redis.conf into your zabbix_agentd.conf config subdirectory (like: /etc/zabbix/zabbix_agentd.d/).

2) Change script name in zbx_redis.conf to use zbx_redis_stats.py if need it (by default there is a .js version script). Redis server params can be passed to the python script as arguments e.g.:

zbx_redis_stats.py localhost -p 6379 -a mypassword

3) Change your zabbix_agentd.conf config so it will include this file:

Include=/etc/zabbix/zabbix_agentd.d/

4) Put zbx_redis_stats.js or zbx_redis_stats.py into your zabbix_agentd.conf config subdirectory (like:/etc/zabbix/script/redis/).

5) Change paths in zbx_redis.conf if need it.

6) In working dir (/etc/zabbix/script/redis/) do:

For use node.js verson script:

npm install redis
chmod +x zbx_redis_stats.js

For use python verson script:

pip install redis
pip install argparse
chmod +x zbx_redis_stats.py

7) Import zbx_redis_template.xml into zabbix in Tepmplate section web gui.

 

附件:

zbx_redis_template-master

以上这些是监控标准的redis单机的,但是如果监控的是cluster,除了上面的指标之外,需另加几个:

UserParameter=redis_cluster_status,/usr/local/redis/bin/redis-cli -p 6379 cluster info|grep cluster_state|awk -F ':' '{print $2}'
UserParameter=redis_cluster_pfail,/usr/local/redis/bin/redis-cli -p 6379 cluster info|grep cluster_slots_pfail|awk -F ':' '{print $2}'
UserParameter=redis_cluster_fail,/usr/local/redis/bin/redis-cli -p 6379 cluster info|grep cluster_slots_fail|awk -F ':' '{print $2}'

上面三个,第一个是集群状态,第二个是疑似失败的节点,第三个是失败节点

模板也需增加:

zbx_export_templates

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This blog is kept spam free by WP-SpamFree.