监控服务器80端口是否可用,不可用则发短信

经过mutt发邮件到139邮箱实现短信报警html

监控web服务器80端口是否可用,有2种方法:web

1. 经过访问web服务器的某个固定URL,查看返回的http状态是否为200;bash

2. 经过扫描web服务器的 80端口是否已开启;服务器

建议这2种方式都用上curl

 

#!/bin/bashide

weblog=/root/monitor/websitemon.logurl

URL="http://www.ff-bb.cn/logs/216232462.html"code

URL2="http://www.ff-bb.cn/logs/215480720.html"htm

HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${URL}"`blog

HTTP_CODE2=`curl -o /dev/null -s -w "%{http_code}" "${URL2}"`

time_stamp=`date "+%Y/%m/%d %T"`

subject="ff-bb.cn不能访问! @`date +%T`"

echo "==========webpage check====">>$weblog

 

echo "$time_stamp  http_status= $HTTP_CODE ">>$weblog

 

#检测2个URL,只有所有失败时才会发短信

if [ $HTTP_CODE != '200' ];then

#check it again

        if [ $HTTP_CODE2 != '200' ];then

echo "ff-bb down from monitor1"| mutt -s "${subject}" 135456789@139.com

fi

fi

 

###如下经过nmap 扫描80端口是否可用,-P0当web服务器禁ping的状况下使用 -p80是指只扫描80端口 增快速度和以防被防火墙放入黑名单 

echo "========== web1 80 check====">>$weblog

nmap -P0 -p80 -sS -vv 1.2.3.4 |grep 80 |tail -n1>/tmp/nmap.txt

rr80=`cat /tmp/nmap.txt|awk '{print $2}'`

if [ "$rr80" != "open" ]; then

        body="1.2.3.4 port80链接错误"

        subject="web1 port80 down,check it now!@from monitor `date +%T`"

        echo "${body}"| mutt -s "${subject}" 135456789@139.com

fi

相关文章
相关标签/搜索