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

[经验分享] zabbix 自定义监控

[复制链接]

尚未签到

发表于 2017-12-31 22:05:21 | 显示全部楼层 |阅读模式
  配置自定义监控,我们需要配置监控项的key,和监控项返回的value
  添加自定义监控key的格式,在配置文件中添加
  

UserParameter=KEY_NAME
  • ,COMMOND  

      

    KEY_NAME: 自定义监控的key的名称,
  • 是参数,*表示所有的,在commond后面可以条用key写的参数,commond $1.  COMMOND: 命令,通过执行命令,返回需要的信息,可以写上shell脚本的路径,条用shell脚本。
      

    UserParameter=key
  • ,command
    参数
    描述
    key
    唯一,
  • 表示里面可以传递多个参数,
    command
    需要执行的脚步、命令。key的
  • 参数会一一对应到这命令的$1至$9,$0表示脚本命令  

      

      为了方便管理,把key值文件统一放在一个目录,打开配置文件zabbix_agentd.conf下面配置的注释
      

    #include=/usr/local/zabbix3/etc/zabbix_agentd.conf.d/*.conf  

      这样可以在/usr/local/zabbix3/etc/zabbix_agentd.conf.d/目录下面创建以.conf结尾的文件,把UserParameter=<key>,<command> 写在里面
      

      例子:
      

      一个key可以写在/usr/local/zabbix3/etc/zabbix_agentd.conf配置文件最后
      

    UserParameter=get.os.type,head -l /etc/issue  


      配置好key后需要重启zabbix_agentd。重启完成再测试是否可以根据自定义key获取相应的值。
      

    root@webTestServer01:~# /usr/local/zabbix3/bin/zabbix_get -s 127.0.0.1 -k get.so.type  
    Ubuntu
    14.04.2 LTS \n \l  

      在看看下面的例子:



      ##以逗号,分割$1或$2
      如果你的 UserParameter 包含\ ' ” ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @这些字符,则需要开启下面这个参数
      zabbix_anget.conf配置文件 UnsafeUserParameters=1
      传递参数:
      

    UserParameter=wc
  • ,grep -c "$2" $1  

      这里表示把$2,$1 的传递给 key,测试如下
      

    zabbix_get -s 127.0.0.1 -k wc[/etc/passwd,root]  

      注意,这里的/etc/passwd 为$1,root 为$2,则 key 最终运行的命令为 grep -c root /etc/passwd
      根据上面的例子,我们知道怎么配置一个自定义监控key,和获取返回的内容,现在我们在zabbix的web也没添加item,配置自定义监控和配置图形,告警等配置。
      写一个自定义监控,这里我们监控服务器的各个连接状态的数量
      

    [iyunv@cong-33 zabbix_agentd.conf.d]# pwd  
    /usr/local/zabbix/etc/zabbix_agentd.conf.d
      
    [iyunv@cong-33 zabbix_agentd.conf.d]# cat get_net_status_num.conf
      
    UserParameter=net_status_num
  • , /usr/local/zabbix/etc/zabbix_agentd.conf.d/scripts/net_conne_status_num.sh $1
      
    [iyunv@cong-33 zabbix_agentd.conf.d]#
      

      查看脚本内容:
      

    [iyunv@cong-33 zabbix_agentd.conf.d]# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/scripts/net_conne_status_num.sh  
    #
    !/bin/bash  

      

      

    if [ ${1} = "ESTAB" ]  

    then  ss
    -ta|grep -v "State"|awk '{++S[$1]} END {for (a in S) print a,S[a]}'|awk '/ESTAB/ {print $2}'  
    elif [ ${1} = "LISTEN" ]
      
    then
      ss -ta|grep -v "State"|awk '{++S[$1]} END {for (a in S) print a,S[a]}'|awk '/LISTEN/ {print $2}'
      
    elif [ ${1} = "TIME-WAIT" ]
      
    then
      ss -ta|grep -v "State"|awk '{++S[$1]} END {for (a in S) print a,S[a]}'|awk '/TIME-WAIT/ {print $2}'
      
    elif [ ${1} = "CLOSE-WAIT" ]
      
    then
      ss -ta|grep -v "State"|awk '{++S[$1]} END {for (a in S) print a,S[a]}'|awk '/CLOSE-WAIT/ {print $2}'
      
    fi
      

      
    [iyunv@cong-33 zabbix_agentd.conf.d]#
      

      监控的是 ESTAB,LISTEN,TIME-WAIT,CLOSE-WAIT几个状态的数量,脚本是根据对应脚本的参数来返回对应的状态的数量。
      zabbix的web端配置:
      我把这个监控项添加到linux的模板中,

      添加estab的监控:

      配置完成后点击后面的add保存。
      time-wait的添加配置

      其他几个状态也是一样的配置添加,主要是参数不一样
      监控的item配置配好了,接下来配置告警触发器:

      添加触发器 triggers

      点击add,添加 监控的item和触发器表达式


      然后一个trigger配置就完成了,另外一样的配置,
      配置图形

      添加配置图形


  • 运维网声明 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-430379-1-1.html 上篇帖子: Zabbix监控TCP status 下篇帖子: Zabbix远程执行命令
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

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

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

    扫描微信二维码查看详情

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


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


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


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



    合作伙伴: 青云cloud

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