环境介绍
操作系统:Centos 6.* ( 双核4G、硬盘至少20G)
zabbix_agentd版本:3.0.3
zabbix_server版本:3.2.6
redis版本:3.0.5
Agentd端配置zabbix监控redis
1.安装python依赖包
yum -y install python-simplejson
2.添加redis监控脚本
vim /etc/zabbix/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.给脚本添加执行权限
chmod +x /etc/zabbix/redis_port.py
4.执行脚本
/etc/zabbix/redis_port.py python
显示如下
{
"data":[
{
"{#REDISPORT}":"6379"
}
]
}
5.添加redis键值
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=redis.discovery,/etc/zabbix/redis_port.py
UserParameter=redis_stats[*],/usr/local/redis/src/redis-cli -h 127.0.0.1 -a redis_passwd -p $1 info|grep $2|cut -d : -f2
#UserParameter=redis_stats[*],/usr/local/redis/src/redis-cli -h 127.0.0.1 -a sunshine_redis -p 7002 info|grep $2|cut -d : -f2 #如redis有密码可以添加这条
6.赋予权限
vim /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.
7.重启zabbix_agentd服务
/etc/init.d/zabbix-agent restart
zabbix_server端验证
/usr/local/zabbix/bin/zabbix_get -s 192.168.1.101 -k redis.discovery
zabbix获取agentd端redis数据
/usr/local/zabbix/bin/zabbix_get -s 192.168.1.101 -k redis_stats[6379,used_memory:]
zabbix web端配置
登录地址:http://192.168.1.127
配置->模板->导入
1:选择本地文件
2:找到redis模板
3:选中
4:导入
给主机添加redis模板
redis模板参考地址:http://www.jianshu.com/p/0ae901495acc
1(配置)-> 2(主机)-> 3(agentd主机) -> 4(模板)-> 5(选择redis模板)-> 6(! 添加 !)->7(! 更新 !) 切记添加和更新
因为是自动发现,所以需要点时间,静等。
1(监测中)->2(图形)->3(agentd所在的群组)->4(agentd主机)->5(redis模板所带的图形)->6(以图形的方式显示出来)->7(以数据的方式显示)
图中显示乱码,解决方法可查看:http://www.jianshu.com/p/de4419981f82