1、python支持
yum -y install python-simplejson2、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 redis-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 etc]# python redis_port.py{ "data":[ { "{#REDISPORT}":"6379" } ]}4,zabbix_agent设置
[root@localhost ~]# tail -n 2 /usr/local/zabbix/etc/zabbix_agentd.confUserParameter=redis.discovery,/usr/local/zabbix/etc/redis_port.pyUserParameter=redis_stats[*],redis-cli -h 127.0.0.1 -a redis_passwd -p $1 info|grep $2|cut -d : -f2[root@localhost ~]# chmod a+x /usr/local/zabbix/etc/redis_port.py5,sudo权限
[root@localhost ~]# tail -n 1 /etc/sudoerszabbix ALL=(root) NOPASSWD:/bin/netstat[root@localhost ~]# sed -i 's/^Defaults.*.requiretty/#Defaults requiretty/' /etc/sudoers[root@localhost ~]# grep requiretty /etc/sudoers#Defaults requiretty# changed in order to be able to use sudo without a tty. See requiretty above.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]"07,zabbix web界面导入下载的模板,添加监控项后检查监控图像
转载至:http://www.linuxidc.com/Linux/2015-07/120138.htm