您的位置:首页 > 移动开发 > IOS开发

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

2014-07-31 14:14 417 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: