zabbix監控之redis自動發現並監控

zabbix監控之redis自動發現並監控

部分資料來源於網上,這裏一併謝過。

系統版本centos5.10

python版本2.4.3 

1、python支持

yum -y install python-simplejson

2、discovery腳本

[root@localhost etc]# cat  redis_port.py

#!/usr/bin/env python
import os
#import json
import simplejson as json  #特別要注意的地方
t=os.popen("""sudo netstat -tlpn |grep codis-server|grep 0.0.0.0|awk '{print $4}'|awk -F: '{print $2}' """)
ports = []
for port in  t.readlines():
        r = os.path.basename(port.strip())
        ports += [{'{#REDISPORT}':r}]
print json.dumps({'data':ports},sort_keys=True,indent=4,separators=(',',':'))

3,、試執行腳本

[root@localhost ~]# chmod a+x /usr/local/zabbix/etc/redis_port.py 

[root@localhost etc]# python redis_port.py {     "data":[         {             "{#REDISPORT}":"6379"         }     ] }

4,zabbix_agent設置

[root@localhost ~]# tail -n 2 /usr/local/zabbix/etc/zabbix_agentd.conf UserParameter=redis.discovery,/usr/local/zabbix/etc/redis_port.py UserParameter=redis_stats[*],redis-cli -h 127.0.0.1 -a redis_passwd -p $1 info|grep $2|cut -d : -f2

5,sudo權限

[root@localhost ~]# tail -n 2 /etc/sudoers

Defaults:zabbix   !requiretty 

zabbix ALL=(root) NOPASSWD:/bin/netstat

6,服務端驗證

[root@zabbixserver-nginx ~]# zabbix_get -s 172.17.2.114 -k redis.discovery {     "data":[         {             "{#REDISPORT}":"6379"         }     ] }

[root@zabbixserver-nginx ~]# zabbix_get -s 172.17.2.114 -k redis_stats[6379,used_memory:] 651534360 [root@zabbixserver-nginx ~]# zabbix_get -s 172.17.2.114 -k "redis_stats[6379,blocked_clients]" 0

7,zabbix web界面導入下載的模板,添加監控項後檢查監控圖像

redis模板見附件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章