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

  • 相关阅读:
    QTREE6
    洛谷 P4219 [BJOI2014]大融合 解题报告
    洛谷 P1501 [国家集训队]Tree II 解题报告
    斯特林数学习笔记
    洛谷 P4721 【模板】分治 FFT 解题报告
    xpath选择器
    修改树莓派用户名
    修改树莓派用户名
    ssh 不指定用户名登陆
    ssh 不指定用户名登陆
  • 原文地址:https://www.cnblogs.com/wayde-Z/p/6957976.html
Copyright © 2011-2022 走看看