监控网站可用性超实用脚本

系统监控 jikk345 1136℃ 0评论

脚本功能:

实现对公司网站的url地址检查,把故障通过邮件或者短信的形式报告给管理员,可以同时加入多个监控点,URL地址可以是实际网站地址,也可以是专门的地址,当然,我们也可以结合nagios等软件来实现。

1、脚本内容

[root@nosql01 scripts]# cat chek_url.sh    
#!/bin/bash   
# this script is created by qinglin.   
# e_mail:qinglin@qinglin.net   
# version:1.1    
################################################   
# Qinglin info.         
# QQ 7796755   
# blog:http://www.qinglin.net   
################################################   
#set -x   
RETVAL=0   
SCRIPTS_PATH="/server/scripts"  
MAIL_GROUP="qinglin@qinglin.net 7796755@qq.com"   
## web detection function  
LOG_FILE="/tmp/web_check.log"  
function Get_Url_Status(){   
FAILCOUNT=0   
for (( i=1 ; $i <= 3 ; i++ ))    
 do    
    wget -T 15 --tries=1 --spider http://${1} >/dev/null 2>&1   
    if [ $? -ne 0 ]   
        then  
         let FAILCOUNT+=1;   
    fi   
done   
#if 3 times then send mail.   
if [ $FAILCOUNT -gt 1 ]   
     then    
       RETVAL=1   
       NOW_TIME=`date +"%m-%d %H:%M:%S"`   
       SUBJECT_CONTENT="http://${HOST_NAME} service is error,${NOW_TIME}."  
       echo "send to :$MAIL_USER ,Title:$SUBJECT_CONTENT" >$LOG_FILE   
       for MAIL_USER  in `$MAIL_GROUP`   
       do   
          mail -s "$SUBJECT_CONTENT " $MAIL_USER <$LOG_FILE   
          #sh $SCRIPTS_PATH/sms_send $SUBJECT_CONTENT $MAIL_USER    
       done   
else  
  RETVAL=0   
fi   
return $RETVAL   
}     
#func end.   
[ ! -d "$SCRIPTS_PATH" ] && {   
  mkdir -p $SCRIPTS_PATH   
}   
  
[ ! -f "$SCRIPTS_PATH/domain.list" ] && {   
cat >$SCRIPTS_PATH/domain.list >>EOF
www.qinglin.net
bbs.qinglin.net
EOF
}   
#service check    
for  HOST_NAME in `cat $SCRIPTS_PATH/domain.list`   
   do   
       echo -n "checking $HOST_NAME: "  
       Get_Url_Status $HOST_NAME && echo ok||echo no  
       #Get_Url_Status $HOST_NAME   
done  

2、演示结果

[root@nosql01 scripts]# sh chek_url.sh    
checking www.qinglin.net: ok
checking bbs.etiantian.org: no

3、生产用法

实际工作中,我们可以结合定时任务调用脚本检查,甚至可以稍加改进,在服务的重启过程中进行检查。

转载请注明:清麟博客 » 监控网站可用性超实用脚本

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址