nagios 客户端扩展脚本检测批量url web 状态

cat  /shell/moniter/urllist.txt

例如:

http://www.sina.com.cn

http://www.baidu.com

http:/www.yahoo.com

##################################################################

#!/bin/bash
#使用环境变量
###################
. /etc/profile
. ~/.bash_profile
##################

# Using to check dongtai http.
# Made by yuanmx@qq.com, 2014/7/29.
status[0]="OK: "
status[1]="WARNING: "
status[2]="CRITICAL: "
status[3]="UNKNOWN: "


k=0
notice_mail="aaaa@bbbb.com"




for i in `cat /shell/moniter/urllist.txt`;do


        httpcode=`curl -L  -o /dev/null -s -w %{http_code}  "$i"`    # -L 允许坚持跳转后链接   -o /dev/null 不显示输出   -s 静音模式不输出任何东西 -w 输出特定格式结果


        if [ "$httpcode" -eq "200" ];then
                status=0
                echo "OK – $i  $httpcode."
        else
                status=2
                a[$k]="$i $httpcode"                               #将检测故障网页url 和状态放入数组
                echo "Critical – ${a[$k]}"
                k=`expr $k + 1`
        fi


done


if [ "${#a[*]}" -eq "0" ];then                                       #计算数组大小


        echo "所有网页均正常访问"
        exit 0
else
        echo "总共检测 ${#a[*]}个故障网页"      

#将存储故障url和状态代码显示出来并发送到报警邮箱。
        for ((j=0; j<=`expr "${#a[*]}" - 1`;j++)) ;do


        echo "`date +%Y%m%d%H%M%S` ${a[$j]}"                                    
        echo "`date +%Y%m%d%H%M$S` ${a[$j]}"  | mail -s "`date +%Y%m%d%H%M$S` ${a[$j]}" $notice_mail                                 


        done
        exit 2
fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金桔数科

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值