zabbix监控TCP状态

  1. 检测脚本如下zabbix_monitor_tcp.sh
#!/bin/bash
#this script is used to get tcp and udp connetion status
#tcp status
metric=$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 $metric in
   closed)
          output=$(awk ‘/CLOSED/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
        ;;
   listen)
          output=$(awk ‘/LISTEN/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
        ;;
    synrecv)
          output=$(awk ‘/SYN_RECV/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
        ;;
    synsent)          output=$(awk ‘/SYN_SENT/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
        ;;
   established)
          output=$(awk ‘/ESTABLISHED/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
        ;;
   timewait)
          output=$(awk ‘/TIME_WAIT/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
        ;;
   closing)
          output=$(awk ‘/CLOSING/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
        ;;
   closewait)          output=$(awk ‘/CLOSE_WAIT/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
        ;;
   lastack)
          output=$(awk ‘/LAST_ACK/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
         ;;
   finwait1)
          output=$(awk ‘/FIN_WAIT1/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
         ;;
   finwait2)
          output=$(awk ‘/FIN_WAIT2/{print $2}‘ $tmp_file)
          if [ "$output" == "" ];then
             echo 0
          else
             echo $output
          fi
         ;;
         *)
         echo -e "\e[033mUsage: sh  $0 [closed|closing|closewait|synrecv|synsent|finwait1|finwait2|listen|established|lastack|timewait]\e[0m"
esac

2.编辑zabbix_agentd.conf

UserParameter=tcp.status[*],/etc/zabbix/scripts/zabbix_monitor_tcp.sh $1

3.编写item

4.或者上传模板

时间: 2024-10-18 23:42:13

zabbix监控TCP状态的相关文章

zabbix 监控tcp状态

1.1 zabbix 客户端配置 [[email protected] zabbix_agentd.d]# cat tcp.conf  UserParameter=tcp[*],/data/sh/zabbix_sh/zabbix_tcp.sh $1 1.2 客户端脚本文件 [[email protected] zabbix_sh]# cat zabbix_tcp.sh  #!/bin/bash Port=80 function SYNRECV()  {          ss -ant | gr

zabbix监控tcp连接数

1.监控tcp状态脚本文件如下 # cat tcp_connections.sh  #!/bin/bash #scripts for tcp status  function SYNRECV {  /usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}' }  function ESTAB {  /usr/sbin/ss -ant | awk '{

Zabbix 监控 Nginx 状态

1.获取 Nginx 状态条件( 需要nginx安装模块) [localhost]#/usr/local/nginx/sbin/nginx -V nginx version: nginx/1.8.0built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_sta

zabbix监控nginx状态

一.zabbix客户端配置 首先修改一下zabbix客户端的配置,习惯上将zabbix的配置文件拷贝到自建的/etc/zabbix/目录,方便管理: [[email protected] ~]# sed -e '/^$/d;/^#/d'  /etc/zabbix/zabbix_agentd.conf PidFile=/tmp/zabbix_agentd.pid LogFile=/tmp/zabbix_agentd.log Server=192.168.199.79 ServerActive=12

Zabbix 监控 Mysql 状态

简介: 如何使用 Zabbix 来监控 Mysql 状态 ? Zabbix 有自带监控 Mysql 的模板,但是却不能直接使用.. 需要我们根据模板提供的 Key 自己写脚本获取数据 1.查看都有哪些 Key > Configuration -> Templates ## 在此模板页中,可以看到 Template App MySQL 模板中有 14 个 Items ,我们需要自己写脚本获取这 14 个值 ## 分别是:Com_select.Com_insert .Com_update .Com

zabbix监控php状态

通过nginx调用php-fpm来查询php的状态信息 首先,在php的配置文件中添加一行 vim /usr/local/php/etc/php-fpm.conf pm.status_path = /phpfpmstatus 保存后重启php-fpm 在nginx配置文件中添加代码 server { listen localhost:80; server_name localhost; location /nginxstatus { stub_status on; access_log off;

利用zabbix监控tcp连接数

一.客户端执行 cd /usr/local/zabbix/conf/ wget http://img006.com/badusoft/zabbix/tcp.sh chmod +x tcp.sh sed -i 's/# UnsafeUserParameters=0/UnsafeUserParameters=1/g' /usr/local/zabbix/conf/zabbix_agentd.conf sed -i '$a UserParameter=tcp[*],sh /usr/local/zabb

zabbix监控mysql状态

之前是cacti监控的mysql,很多参数监控的不是特别明白,想着就找zabbix监控. 写好监控MYSQL的配置文件 UserParameter=mysql.Ping,mysqladmin -uroot -p123456  ping|grep alive|wc -l UserParameter=mysql.Threads,mysqladmin -uroot -p123456  status|cut -f3 -d":"|cut -f1 -d"Q" UserParam

zabbix 监控tcp连接的状态

Tcp的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB:或者是syn_recv值,假如这个值比较大的话我们可以认为是不是受到了攻击,或是是time_wait值比较高的话,我们要考虑看我们内核是否需要调优,太高的time_wait值的话会占用太多端口,要是端口少的话后果不堪设想: 一.我的上一篇已经写了步骤,这里我只是列出脚本: #!/bin/bash #xiaoluo #scripts for tcp status function SYNRECV { /usr/sbin/