zoukankan      html  css  js  c++  java
  • zabbix对tcp状态监控

    1、先编写一个获取tcp状态的脚本文件,脚本放在/usr/lib/zabbix/alertscripts/
    vim /usr/lib/zabbix/alertscripts/tcp_status.sh

    #!/bin/bash
    [ $# -ne 1 ] && echo "Usage:CLOSE-WAIT|CLOSED|CLOSING|ESTAB|FIN-WAIT-1|FIN-WAIT-2|LAST-ACK|LISTEN|SYN-RECV SYN-SENT|TIME-WAIT" && exit 1
    ss_file=/home/zabbix/tmp/ss.txt
    tcp_status_fun(){
    [ $1 == "ESTABLISHED" ] && TCP_STAT="ESTAB" || TCP_STAT=$1
    ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > $ss_file
    TCP_STAT_VALUE=$(grep ${TCP_STAT} $ss_file|awk {'print $NF'})
    if [ -z "$TCP_STAT_VALUE" ];then
    TCP_STAT_VALUE=0
    fi
    echo $TCP_STAT_VALUE
    }
    tcp_status_fun $1

    2、相关目录创建以及权限操作

    mkdir /home/zabbix/tmp/
    chown zabbix:zabbix /home/zabbix/tmp/
    chmod +x /usr/lib/zabbix/alertscripts/tcp_status.sh
    chown zabbix:zabbix /usr/lib/zabbix/alertscripts/tcp_status.sh

    创建一个自定义的key:
    创建一个tcp_status的key
    vim /etc/zabbix/zabbix_agentd.conf.d/tcp_status.conf

    #!/bin/bash
    UserParameter=tcp_status[*],/usr/lib/zabbix/alertscripts/tcp_status.sh $1
    
    chown zabbix:zabbix /etc/zabbix/zabbix_agentd.conf.d/tcp_status.conf 

    重启agent客户端
    /etc/init.d/zabbix_agentd restart

    在proxy端或者服务端做抓取数据测试:
    #因为我都是做的通过proxy代理,然后让客户端主动发送数据的形式,所以我在proxy节点上面抓取数据。
    #/usr/local/zabbix/bin/zabbix_get -s 192.168.217.20 -p 10050 -k tcp_status[LISTEN] #LISTEN就作为$1传参到脚本里面去了

    web界面操作
    创建模板template-->创建item-->创建graph-->创建action

  • 相关阅读:
    ADC推荐:测量Flash的视频消费行为 (转载)
    9.7Go之函数之递归函数
    9.8线性表之单链表
    9.7线性表之顺序表
    9.7顺序表之增、删、改、查
    9.8Go之函数之计算执行时间
    9.8Go之函数之宕机(panic)
    9.9Go语言内存缓存
    9.7Go之函数之处理RuntimeError
    9.7Go之函数之defer(延迟执行语句)
  • 原文地址:https://www.cnblogs.com/wclwcw/p/8329893.html
Copyright © 2011-2022 走看看