sdhgf 发表于 2015-7-20 09:59:24

zabbix监控之redis自动发现并监控

zabbix监控之redis自动发现并监控
部分资料来源于网上,这里一并谢过。
系统版本centos5.10
python版本2.4.3
1、python支持
yum -y install python-simplejson
2、discovery脚本
# catredis_port.py


1
2
3
4
5
6
7
8
9
10
#!/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 int.readlines():
      r = os.path.basename(port.strip())
      ports += [{'{#REDISPORT}':r}]
print json.dumps({'data':ports},sort_keys=True,indent=4,separators=(',',':'))




3,、试执行脚本
# python redis_port.py
{
    "data":[
      {
            "{#REDISPORT}":"6379"
      }
    ]
}
4,zabbix_agent设置
# 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
# chmod a+x /usr/local/zabbix/etc/redis_port.py
5,sudo权限
# tail -n 1 /etc/sudoers
zabbix ALL=(root) NOPASSWD:/bin/netstat
# sed -i 's/^Defaults.*.requiretty/#Defaults    requiretty/' /etc/sudoers
# grep requiretty /etc/sudoers
#Defaults    requiretty
# changed in order to be able to use sudo without a tty. See requiretty above.
6,服务端验证
# zabbix_get -s 172.17.2.114 -k redis.discovery
{
    "data":[
      {
            "{#REDISPORT}":"6379"
      }
    ]
}
# zabbix_get -s 172.17.2.114 -k redis_stats
651534360
# zabbix_get -s 172.17.2.114 -k "redis_stats"
0
7,zabbix web界面导入下载的模板,添加监控项后检查监控图像

redis模板见附件
百度云附件:redis监控模板.xml   


页: [1]
查看完整版本: zabbix监控之redis自动发现并监控