设为首页 收藏本站
查看: 4999|回复: 6

[经验分享] zabbix添加自定义的Discovery rules

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-10-11 09:33:34 | 显示全部楼层 |阅读模式

研究了半天,终于搞定了zabbix添加自定义的“自动发现”。

目前实现了自动获取lvs服务器上的vip以及realserver的当前连接数的监控。我们之前通过ipvsadm的输出,对每个vip和realser的连接数做监控,但是由于这两个都是经常发生变化的,尤其是realserver,经常会出现添加或者修改的事,这样在zabbix上做它们连接数的监控就会消耗人力,每次变更的同时,都要去zabbix上去修改item的配置。

所以,研究了一下zabbix的自动发现。

入正题,ipvsadm的输出如下:

[iyunv@openstack lvs]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.255.253.223:80 wrr
-> 10.255.253.220:80 Route 100 0 0

实际上,我们要做的就是对10.255.253.223:80以及10.255.253.220:80后面的ActiveConn 和InActConn的和做监控(这里都是0)。

首先,你要先抛开“自动发现”,你应该先实现在不使用自动发现的情况下,拿到数据是正常的。于是就有了这个脚本:

[iyunv@openstack lvs]# cat lvs_connections
#!/bin/bash
if [ $# -eq 1 ]
then
VIP_PORT=$1
else
echo “Usage:$0 VIP:VPORT”
exit 1
fi

case ${VIP_PORT} in
all)
ALL_con=`tail -n14 /proc/net/ip_vs|awk ‘{if (($3 == “Route”)){printf $5″+”$6″+”}}’`
echo $((${ALL_con}0))
;;
*)
NOW_con=`tail -n14 /proc/net/ip_vs|awk ‘{if (($1 == “TCP” || $1 == “UDP”)){printf “\n”$2″–”}else{ if (($3 == “Route”)){printf $5″+”$6″+”}}}’`

for VIP_PORT_16 in `tail -n14 /proc/net/ip_vs|awk ‘/^TCP/||/^UDP/ {print $2}’`
do
VIP_10=`echo ${VIP_PORT_16%%:*} | awk ‘{for(i=1;i<=NF;i++) $i=strtonum(“0x”$i);print}’ FIELDWIDTHS=”2 2 2 2″ OFS=”.”`
VPORT_10=`echo $((16#${VIP_PORT_16##*:}))`
VIP_VPORT=`echo ${VIP_10}:${VPORT_10}`
if [ ${VIP_VPORT} = ${VIP_PORT} ]
then
connect=`tail -n14 /proc/net/ip_vs|awk ‘{if (($1 == “TCP” || $1 == “UDP”)){printf “\n”$2″–”}else{ if (($3 == “Route”)){printf $5″+”$6″+”}}}’|grep “${VIP_PORT_16}”|awk -F– ‘{print $2}’`
Connect_num=`echo “${connect}0″`
echo “$((${Connect_num}))”
fi
done
for RIP_PORT_16 in `tail -n14 /proc/net/ip_vs|awk ‘/Route/ {print $2}’`
do
RIP_10=`echo ${RIP_PORT_16%%:*} | awk ‘{for(i=1;i<=NF;i++) $i=strtonum(“0x”$i);print}’ FIELDWIDTHS=”2 2 2 2″ OFS=”.”`
RPORT_10=`echo $((16#${RIP_PORT_16##*:}))`
RIP_RPORT=`echo ${RIP_10}:${RPORT_10}`
if [ ${RIP_RPORT} = ${VIP_PORT} ]
then
connect=`tail -n14 /proc/net/ip_vs|grep ${RIP_PORT_16}|awk ‘{printf $5″+”$6″+”}’`
Connect_num=`echo “${connect}0″`
echo “$((${Connect_num}))”
fi
done
;;
esac

######################

[iyunv@openstack lvs]# ./lvs_connections 10.255.253.223:80
0
[iyunv@openstack lvs]#

这样就能拿到“10.255.253.223:80”的连接数是0,但是由于10.255.253.223:80是不固定的,所以就引入了自动发现。前提是lvs_connections已经融入了zabbix监控。

接下来,我们为自动发现写个脚本,

[iyunv@openstack lvs]# cat lvs_ip_discovery
#!/bin/bash
echo ‘{“data”:[{"{#IP}":"10.255.253.223:80"},{"{#IP}":"10.255.253.220:80"},{"{#IP}":"10.255.253.221:80"}]}’

这里投机了,最终其实是要以上面的输出方式,拿到当前服务器的ipvsadm的相关信息。

同时也要将这个脚本融入zabbix,相关的配置如下:

UserParameter=lvs.connect

  • ,/bin/bash /usr/local/zabbix/etc/script/lvs/lvs_connections $1
    UserParameter=lvs.ip.discovery,/bin/bash /usr/local/zabbix/etc/script/lvs/lvs_ip_discovery

    好了,接下来,就是怎么搞定zabbix前端的配置了。

    首先,进入Template–Discovery rules–Create discovery rules–

    NAME里填discovery IP

    KEY里填lvs.ip.discovery

    Filter的Macro里填{#IP}

    其他可以默认

    好了,规则添加好了,接下来就是怎么让规则和item关联起来了。

    在你刚建好的discovery IP里面的items中新建一个items,

    Name里填connect of $1

    key里填lvs.connect[{#IP}]

    其他的可以默认,好了。完成了。

    =============================

    其实说白了,自动发现是自动发现,与之前添加的item互不影响,只需要一个“{#IP}”把他们关联起来。



  • 运维网声明 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-9745-1-1.html 上篇帖子: 让zabbix图像中文不再是乱码 下篇帖子: zabbix监控dns的可用性

    尚未签到

    发表于 2013-10-12 18:41:58 | 显示全部楼层
    月经不仅仅是女人的痛苦,也是男人的痛苦。

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

    累计签到:2 天
    连续签到:1 天
    发表于 2013-10-16 00:47:04 | 显示全部楼层
    为中华而努力读书!一包中华好多钱啊~~~

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

    尚未签到

    发表于 2013-10-19 22:59:31 | 显示全部楼层
    .其实我是一个天才,可惜天妒英才!

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

    尚未签到

    发表于 2013-10-24 03:26:27 | 显示全部楼层
    比我有才的都没我帅,比我帅的都没我有才!

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

    尚未签到

    发表于 2013-10-30 02:08:59 | 显示全部楼层
    不知该说些什么。。。。。。就是谢谢

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

    尚未签到

    发表于 2013-11-7 16:14:34 | 显示全部楼层
    男人偷腥时的智商仅次于爱因斯坦!

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

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

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

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

    扫描微信二维码查看详情

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


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


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


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



    合作伙伴: 青云cloud

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