zoukankan      html  css  js  c++  java
  • 服务器端口3次不通报警

     1 #!/bin/bash
     2 
     3 #NginxConfigDir=/opt/nginx/conf
     4 error_log=/home/www/check_port/error_log
     5 
     6 #Host_Port=`find $NginxConfigDir -name "*.conf" | xargs -i  grep server {} | grep -v '#' | egrep -o '([0-9]{1,3}.){3}[0-9]{1,3}:[0-9]{1,5}'  | sort -u | awk -F: '{print $1" "$2 }'`
     7 
     8 #从配置文件读出主机 端口 错误次数 超时时间
     9 while read Host Port Error WaitTime
    10 do
    11     error_num=0
    12     while :
    13     do
    14         DT=`date +%F-%R`
    15         nc -w $WaitTime -n $Host  -z $Port
    16         if [ $? -eq 0 ]
    17         then
    18             #重置错误次数并跳出循环
    19             error_num=0
    20             break
    21         else
    22             #增加错误次数并记录日志
    23             error_num=$(($error_num+1))
    24             echo "$DT Host: $Host Port: $Port error " >> $error_log
    25         fi
    26 
    27         if [ $error_num -eq $Error ]
    28         then
    29             #如果达到报警次数就发报警并跳出循环检查下一个端口
    30             error_message="$DT $Host $Port error,please check"
    31             [发报警]
    32             break
    33         fi
    34     done
    35 done < /home/www/check_port/host.conf

     之前本来是想通过检查nginx的后端机器写的...后来想想如果别的机器也要添加报警....所以就给改成了配置文件格式.

    检测方式使用的是shell命令nc  -w是超时时间...-n是不使用dns解析   -z可以写单个端口也可以写端口范围 比如 21-24

  • 相关阅读:
    文件管理
    权限管理
    用户和用户组
    BZOJ2957: 楼房重建(线段树&LIS)
    BZOJ2938: [Poi2000]病毒(AC自动机)
    BZOJ2935: [Poi1999]原始生物(欧拉回路)
    BZOJ4033: [HAOI2015]树上染色(树形DP)
    LightOJ
    LightOJ
    BZOJ4917: [Lydsy1706月赛]Hash Killer IV(模拟)
  • 原文地址:https://www.cnblogs.com/wayde-Z/p/6957976.html
Copyright © 2011-2022 走看看