企业生产实践:监控web服务器是不是正常的

范例10-6:使用while守护进程的方式监控网站,每隔10秒确定一次网站是否正确。

#!/bin/bash

export LANG="zh_CN.UTF-8"

if [ $# -ne 1 ]; then
  echo "usage $0 url"
  exit 1
fi

wget -o /dev/null -T 5 --tries=1 $1  --spider    #--spider不下载任何文件
a=$?
echo "这个url没问题"
if [ $a -ne 0 ]
  then
    echo "这是一个有问题的url:$1"
else
  while true
  do
      sleep 10
      wget -o /dev/null -T 5 --tries=1 $1
      echo "这个网站是正常的"
  done
fi

另一种方式是使用curl测试:

curl -o /dev/null   --connect-timeout 5  -s  -w "%{http_code}\n" www.baidu.com:返回网页请求的状态码
-o:把输出写入到文件中
--connect-timeout:连接超时5s
-s:静默状态,不输出什么
和-w组合起来可以获得网页的请求的状态码

shell curl 取得HTTP返回的状态码
curl -I -m 10 -o /dev/null -s -w %{http_code} www.baidu.com
-I 仅测试HTTP头
-m 10 最多查询10s
-o /dev/null 屏蔽原有输出信息
-s silent
-w %{http_code} 控制额外输出
[[email protected] ~]# curl -o /dev/null --connect-timeout 5 -s -w %{http_code} www.baidu.com | egrep  "200|301|302" | wc -l #如果这个等于1,说明这个网站是正常的。

范例:10-7 使用while守护进程的方式监控网站,每隔10s确定一次网站是否正常。

参考答案1:引入函数库并且采用模拟用户访问的方式并引入邮件报警

#!/bin/bash

source /etc/init.d/functions

while true
do
  if [ "`curl -o /dev/null --connect-timeout 5 -s -w "%{http_code}\n" "$1" | egrep "200|301|302" | wc -l`" -eq 1 ]; then
    action "this is URL:$1 is ok"      /bin/true
  else
    action  "this is URL:$1 is bad"    /bin/false
    echo "this URL $1 is bad:`date +%F-%T`" | mail -s "URL test" ***@163.com
    break
  fi
  sleep 10
done

参考答案2:采用shell数组的方法,同时检测多个URL是否正常,并给出专业的展示效果,这是实际的工作所用的脚本。

#!/bin/bash

export LANG="zh_CN.UTF-8"

source /etc/init.d/functions

url=(
www.baidu.com
www.jd.comm
www.taobao.com
)
ss() {
i=2
while ((i>0))
do
  echo -n "."
  sleep 1
  ((i--))
done
printf ".\n"
}

aa() {
printf "测试准备中,请稍后"
ss

for ((a=0;a<3;a++))
do
  wget -o /dev/null -T 5 --tries=1 ${url[a]}
  b=$?
  if [ $b -eq 0 ]
    then
      action "this URL ${url[a]} is ok"  /bin/true
  else
    action "this URL ${url[a]} is bad"  /bin/false
    echo "这个URL是有问题的,请及时处理,时间定格在:"`date +%F-%T`"" | mail -s "URL test" [email protected]

  fi
done
}

while true
do
  aa
  sleep 10
done

原文地址:http://blog.51cto.com/11726212/2069698

时间: 2024-11-06 02:08:06

企业生产实践:监控web服务器是不是正常的的相关文章

Haproxy做LB负载均衡集群的搭建和配置,可以通过web页面监控web服务器的运行状态

HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理. 实验(一) 实验目的:使用Haproxy做负载均衡集群(七层) 实验环境准备: 客户端  IP地址:1.1.1.1 主机名waiwang web1   IP地址:1.1.1.10 主机名:localhost web2   IP地址:1.1.1.20 主机名:localhost 配置HA

脚本监控web服务器,工作不正常发邮件提醒

背景介绍公司有多个web网站,没有配置监控服务,每天都需要定时检查服务器是否工作正常.低效耗时. 代码片段 #!/bin/bash # Author Jerry.huang (Email:[email protected]) # Check web Server if [[ -z `curl -I -s "http://www.baidu.com" | grep "200 OK"` ]]; then echo "www.baidu.com server s

监控web服务器是否正常

写一个监控网站的脚本.发现不正常发邮件告警.每分钟检测一次.提示: 使用curl命令检测,根据结果判断. #!/bin/bash url=http://www.apelearn.com/bbs/forum.php ip1=1.1.1.1 ip2=2.2.2.2 ip3=3.3.3.3 cop="--connect-timeout 3 -I" check() {     curl $cop -x $1:80 $url 2>/dev/null > /tmp/curl.log  

Atitit.Gui控件and面板----web server区----- web服务器监控面板and控制台条目

Atitit.Gui控件and面板----web server区----- web服务器监控面板and控制台条目 1. Resin4.0.22 1 2. 查看http连接数::Summary>>tables 1 2.1.1. Open Connections 1 2.2. TCP ports? 1 3. 查看app::confgi?>>webapps 2 3.1. Host http://localhost:80 2 3.1.1. WebApps 2 4. 查看app2:::   

Cacti监控一台Web服务器上多个Tomcat端口的实现

因为一台web应用服务器上面安装了多台tomcat,有多个端口,比如默认的8080,还有后续追加的9100,9300,9500等等.一个cacti_host_template_tomcat_server.xml模板只能指定监控一个tomcat服务端口. 因此如果想要监控一台web服务器上的多个tomcat服务器,那么就必须另外想办法,按照一个host上面一个模板监控一个tomcat服务来说的话,要想在一个host上面监控多个tomcat服务就需要构建多个模板xml文件.目前想到2种方法: (1)

web 服务器监控状态模块权限控制不严格,导致信息泄露

Apache  服务器状态监控模块开启默认是禁止外网访问,如果更改了权限,可能导致信息泄露 ExtendedStatus On <Location /server-status> SetHandler server-status Order deny,allow #   Deny from all Allow from .example.com </Location> 默认访问地址 http://site/server-status nginx  服务器状态监控模块开启需要配置lo

【安富莱专题教程第3期】开发板搭建Web服务器,利用花生壳让电脑和手机可以外网远程监控

说明:1.  开发板Web服务器的设计可以看我们之前发布的史诗级网络教程:链接.2.  需要复杂些的Web设计模板,可以使用我们V6开发板发布的综合Demo:链接.3.  教程中使用的是花生壳免费版,免费版仅支持电信用户,每个月1GB的流量,实际测试几天,稳定性还行.收费版没有这些限制.4.  现在已经用了快两年的花生壳收费版,比较稳定,基本没有死机现象.5.  不管是免费版本的花生壳还是收费版的,有时候会提示需要实名认证,可以不用管.现在还没有强制必须执行.如果长期使用的话,建议做一下认证,认

轻量级web服务器--tomcat一

tomcat简介 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前

Linux服务器集群架构部署搭建(四)WEB服务器LNMP/LAMP搭建部署及站点产品安装(1)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想. 作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第一章 集群WEB服务器LNMP生产应用 1.1 Nginx的应用场合:根据功能来进行应用 ①静态服务器(图片,视频服务)国内使用的只有两款,另一个是lighttpd.百度贴吧.豆瓣.html.js.css.flv等. ②动态服务:nginx+fastcgi的方式运行php.jsp.动态的并发很少(根据优化达到500-1500),