设为首页 收藏本站
查看: 1346|回复: 0

[经验分享] zabbix自动发现redis端口并监控redis性能

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-3 09:16:33 | 显示全部楼层 |阅读模式
   不得不说,我在监控redis 这里卡了有一天半的时间,zabbix_get也可以获取到数据,就是没有自动生成监控项和监控图像,后来干脆把别人的模板抛弃,自己重新建立模板和监控项,就都出来了。真是无语的很。大概因为是zabbix的版本号不一样导致的吧

一:客户端配置
1.自动发现redis端口的脚本,脚本要给755权限,属主是zabbix
chmod 755  /etc/zabbix/alertscripts/zabbix_discovery_redis.sh
chown zabbix.zabbix /etc/zabbix/alertscripts/zabbix_discovery_redis.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash
#Fucation:mysql low-level discovery
#Script_name zabbix_discovery_redis.sh
redis() {
            port=($(sudo netstat -tpln | awk -F "[ :]+" '/redis/ && /0.0.0.0/ {print $5}'))
            printf '{\n'
            printf '\t"data":[\n'
               for key in ${!port[@]}
                   do
                       if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then
              socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`
                          printf '\t {\n'
                          printf "\t\t\t\"{#REDISPORT}\":\"${port[${key}]}\"},\n"
                     else [[ "${key}" -eq "((${#port[@]}-1))" ]]
              socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`
                          printf '\t {\n'
                          printf "\t\t\t\"{#REDISPORT}\":\"${port[${key}]}\"}\n"
                       fi
               done
                          printf '\t ]\n'
                          printf '}\n'
}
$1



因为要在模板里面套用redis端口。所以脚本检测出来的端口格式必须是json
wKioL1gZpyuyttEPAAAR6gws7xI000.jpg
其他问题:
zabbix_agentd是zabbix用户启动的,默认不能执行netstat -p等命令,因此可以配置sudo解决,也可以使用chmod +s /bin/netstat进行解决。
这里我使用了sudo
1
2
3
4
vim /etc/sudoers
#Defaults    requiretty
Defaults:zabbix    !requiretty
zabbix  ALL=(root)      NOPASSWD:/bin/netstat



2.添加zabbix_agent配置文件
1
2
3
[iyunv@test zabbix_agentd.conf.d]# cat /etc/zabbix/zabbix_agentd.conf.d/check_redis.conf
UserParameter=redis.discovery,/etc/zabbix/alertscripts/zabbix_discovery_redis.sh $1
UserParameter=redis_stats,(echo info; sleep 1) | telnet 127.0.0.1 $1 2>&1 |grep $2|cut -d : -f2



测试zabbix_get是否能获取到redis数据
1
2
[iyunv@test alertscripts]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k redis_stats[6379,connected_clients]
1




3.重启zabbix_agent
service zabbix_agentd restart

二.服务器端配置
1、创建模板
模板名称: Template_Redis_Monitor,创建应用check_redis
wKiom1gZp8yQNL-bAABx2u1pCZE867.jpg

2、创建自动发现规则
给已创建好的模板Template_Redis_Monitor添加自动发现规则。

wKioL1gZqJqyuPipAABhpmB3N3M828.jpg

创建自动发现监控项

wKiom1gZqCajQJq6AACbFfHvhew318.jpg

3.配置正则


wKioL1gZqMDSRNxtAABDwoyI5YY995.jpg
wKioL1gZqNWC5qCHAABNkuFkQ1k613.jpg

4、添加监控项原型

wKiom1gZqQLhGHbWAACRPfUQeM4791.jpg

5.再来看看主机关联模板后的监控项:

wKiom1gZqR7hraXFAACWt4xrgmg479.jpg

6.查看监控数据图

wKioL1gZqTXiWopXAAC4yH9f4nc357.jpg



perl-Data-Dumper.zip

44.96 KB, 下载次数: 0


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-294964-1-1.html 上篇帖子: zabbix3.0.4监控MySQL主从 下篇帖子: zabbix邮件报警 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表