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
例如:
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
相关文章推荐
- 为Nagios定义自定义脚本检测内存状态
- 批量检测Mysql复制状态的shell 脚本
- Fiddle扩展-HttpPing-批量检测web服务器是否正常
- 基于lvs的DR模型搭建高可用的web服务,并部署wordpress,(附有脚本实现健康状态检测的代码) 推荐
- [Shell脚本工具]-01批量检测服务器接口状态码
- shell 脚本批量检测主机存活状态
- 从客户端脚本调用 Web 服务
- 一段批量插表sql脚本的生成扩展存储过程
- 在客户端和服务端检测某个url是否可以访问
- FrontPage 2000 WEB 扩展客户端 安装失败
- 使用客户端脚本完成页面回传,执行服务器事件的同时,按钮呈灰色不可用状态
- ultrawebgrid服务器端变量与客户端JScript脚本变量的互操作
- 数据库知识:带你轻松接触一个检测mysql状态脚本
- 从 PHP 脚本中访问企业应用程序 使用 PHP 5 SOAP 扩展访问 WebSphere Web 服务
- 安装.NET时,出现“FrontPage 2000 web 扩展客户端组件安装失败”的解决方法
- web开发中客户端脚本产生的浏览器缓存问题
- 一个检测MySQL状态的脚本
- 安装.NET时,出现“FrontPage 2000 web 扩展客户端组件安装失败”的解决方法
- 再谈客户端脚本与 WebControl
- 利用PHP脚本检测骨干网络线路状态