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

[经验分享] zabbix中常用key值、自定义key值和Items、Triggers、Graphs创建

[复制链接]

尚未签到

发表于 2019-1-21 07:19:34 | 显示全部楼层 |阅读模式
  zabbix中常用key值

  •   监控端口的key值:net.tcp.port[,port_number]

[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k net.tcp.port[,21]
1           
[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k net.tcp.port[,1433]
0
[root@Zabbix_Server ~]#  返回1为10.10.2.32的端口21存在,0为端口1433不存在。

  •   监控进程的key值:proc.num[process_name]

[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k proc.num[WinRAR.exe]
1
[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k proc.num[WinRAR1.exe]
0
[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k proc.num[]
59
[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.2.131 -k proc.num[mysqld]
1
[root@Zabbix_Server ~]#  proc.num[WinRAR.exe]返回值为10.10.2.32中WinRAR.exe的进程数量; proc.num[]返回值为10.10.2.32中所有的进程数量。



  •   查看CPU核数的key值:system.cpu.num 返回值为服务器CPU的核数

[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k system.cpu.num
16
[root@Zabbix_Server ~]#

  •   查看系统的系统启动时间和当前时间的key值:system.boottime、system.localtime
  返回值为系统启动时间和当前时间,为时间戳格式

  


  •   查看系统的简单信息的key值:system.uname
[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.2.32 -k system.uname
Windows WGQ-DBF 6.1.7601 Microsoft Windows Server 2008 R2 Enterprise Edition Service Pack 1 x64
[root@Zabbix_Server ~]#

  •   查看磁盘容量息的key值:vfs.fs.size[/,pfree]

[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.2.83 -k vfs.fs.size[/,pfree]
70.659044
[root@Zabbix_Server ~]#  vfs.fs.size[/,pfree]:取/领域的剩余空间率。p是percentage,
  vfs.fs.size[/,free]:取/领域的剩余空间。对应的单位就是B(这里的意思是Byte)
  vfs.fs.size[/,pused]:取/领域的使用空间率。
  vfs.fs.size[/,used]:取/领域的使用空间。
  如果要创建触发器表达式可以使用{ZABBIX-CC:vfs.fs.size[/,pfree].last(0)}type C:\zabbix_zgent\conf\zabbix_agentd.win.conf
# Mandatory: no
# Default:
# EnableRemoteCommands=0
EnableRemoteCommands=1
# Mandatory: no
# Range: 0-1
# Default:
# UnsafeUserParameters=0
UnsafeUserParameters=1
UserParameter=tcp.timewait,C:\zabbix_zgent\bat\net-time-wait.bat  

  Client:10.15.44.161

[root@localhost alertscripts]# cat /usr/local/zabbix/alertscripts/uptime.sh
#!/bin/bash
up_time=`uptime|cut -d ' ' -f 3-6|cut -d',' -f 1,2`
echo $up_time
[root@localhost alertscripts]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
# Mandatory: no
# Range: 0-1
# Default:
UnsafeUserParameters=1
UserParameter=uptime,/usr/local/zabbix/alertscripts/uptime.sh
[root@localhost alertscripts]# service zabbix_agentd restart  Server:
[root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.15.44.161 -k uptime
up 2 days, 22:03
[root@Zabbix_Server ~]#  自定义key时提示:NOT Supported by zabbix agent
  1、zabbix在自定义的Item时N提示ot Supported,Zabbix Agent默认的超时时间是3秒,自定义的Item由于各种原因返回时间会比较长。
[root@FTP_Server ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3
Timeout=10
[root@FTP_Server ~]# service zabbix_agentd restart  2、取到的值和key的类型不符。在相应主机的监控项中进行查看。
  3、zabbix_server取不到监控项的值:在server上使用命令zabbix_get获取当前key
  添加自定义监控项
  上面配置自定义key值后我们需要把他应用到监控里,作为监控项应用到主机。

  以使用zabbix监控TCP连接状态为例:
[root@localhost ~]# /bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}'
TIME_WAIT 1956
CLOSE_WAIT 95
SYN_SENT 40
ESTABLISHED 738
FIN_WAIT2 25
LISTEN 35
[root@localhost ~]#  
  LISTEN:侦听来自远方的TCP端口的连接请求
  SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)
  SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood***了)
  ESTABLISHED:代表一个打开的连接/当前并发连接数
  FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
  FIN-WAIT-2:从远程TCP等待连接中断请求
  CLOSE-WAIT:等待从本地用户发来的连接中断请求
  CLOSING:等待远程TCP对连接中断的确认
  LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被***)
  TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
  CLOSED:没有任何连接状态。
  被监控端:
[root@localhost etc]# cat Tcp_Connection_Status.sh
#!/bin/bash
#This script is used to get tcp and udp connection status!
#by Justin Peng
#2016-10-26
Tcp_Status=$1
Tmp_File=/tmp/Tcp_Status.txt
/bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' > $Tmp_File
case $Tcp_Status in
     TIME_WAIT)
              num=`awk '/TIME_WAIT/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     CLOSE_WAIT)
              num=`awk '/CLOSE_WAIT/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     SYN_SENT)
              num=`awk '/SYN_SENT/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     ESTABLISHED)
              num=`awk '/ESTABLISHED/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     FIN_WAIT2)
              num=`awk '/FIN_WAIT2/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     LISTEN)
              num=`awk '/LISTEN/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     SYN-RECEIVED)
              num=`awk '/SYN-RECEIVED/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     FIN-WAIT-1)
              num=`awk '/FIN-WAIT-1/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     CLOSING)
              num=`awk '/CLOSING/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     LAST-ACK)
              num=`awk '/LAST-ACK/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     CLOSED)
              num=`awk '/CLOSED/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
     UNKNOWN)
              num=`awk '/UNKNOWN/ {print $NF}' $Tmp_File`
              if [ -z $num ];then
                 echo 0
              else
                 echo $num
              fi
              ;;
           *)
             echo -e "\033[31m Usage:$0 [TIME_WAIT|CLOSE_WAIT|SYN_SENT|ESTABLISHED|FIN_WAIT2|LISTEN|SYN-RECEIVED|FIN-WAIT-1|CLOSING|LAST-ACK|CLOSED|UNKNOWN]\033[0m"
            ;;
esac
[root@localhost etc]# vim ../etc/zabbix_agentd.conf
# Mandatory: no
# Range: 0-1
# Default:
UnsafeUserParameters=1
UserParameter=tcp.status
  • ,/usr/local/zabbix/etc/Tcp_Connection_Status.sh $1
    [root@localhost etc]# service zabbix_agentd restart  Zabbix端
      命令行测试
    [root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.55.41 -k tcp.status[TIME_WAIT]
    1727
    [root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.55.41 -k tcp.status[ESTABLISHED]
    738
    [root@Zabbix_Server ~]# /app/zabbix/bin/zabbix_get -s 10.10.55.41 -k tcp.status[CLOSE_WAIT]
    105
    [root@Zabbix_Server ~]#  web端配置
      添加zabbix监控模板
       Configuration--Templates --Create template
      
      添加监控项
       Configuration--Templates --TCP连接状态模版中的Items--Create item
      

    键值就是上面自定义的键值tcp.status,这里监控的是TIME_WAIT,查看键值就是根据命令返回结果展示的状态,如果是监控服务状态可以选择service state,具体展示状态和返回值关系可以点击后面的展示值映射查看。

    名称中可以使用变量$1、$2...,直接调用键值的第一、二...个参数,如:Name填写Free disk space on $1 (percentage),key填写vfs.fs.size[/,pfree],name就会显示Free disk space on / (percentage)。
      应用集类似分类,根据自己需求添加,也可以不填写。
      这里查看值保持不变,
      数据更新间隔(秒)根据实际情况填写。
      以此类推添加其他状态的监控项。
      
      至此,tcp连接状态项添加完成,
      添加图形
       Configuration--Templates --TCP连接状态模版中的Graphs--Create Graph-添加-全选,或者选择你要添加图形展示的项目

      添加触发器

       Configuration--Templates --TCP连接状态模版中的Triggers --Create trigger

      当TIME_WAIT连接数大于1700触发,这里是用作测试的,具体数值更具实际情况设置。
      以此类推添加其他的触发器,我这里指添加了2个
      
      至此监控tcp连接数添加完成,后面就是应用到主机中。





  • 运维网声明 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-665749-1-1.html 上篇帖子: Zabbix 3.0 监控交换机(3)--CPU、内存监控及配置Trigger 下篇帖子: zabbix监控特定进程
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

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

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

    扫描微信二维码查看详情

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


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


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


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



    合作伙伴: 青云cloud

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