shell 实现监控Web服务状态

使用shell 实现监控Web服务状态

原理:下载网站,并把输出写入 /dev/null,如果该命令执行结果成功(返回0)打印成功提示,如果下       载失败,这再下载一次,如果还是失败,就打印失败

脚本如下

[[email protected] ~]# cat checkurl.sh 
#!/bin/bash
CheckUrl(){
timeout=5
fails=0
success=0
while true
  do
    wget --timeout=$timeout --tries=1 http://www.baid1u.com -q -O /dev/null
    if [ $? -ne 0 ]
      then
        let fails=fails+1
    else
        let success+=1
    fi
    if [ $success -ge 1 ];then
        echo success
        exit 0
    fi
    if [ $fails -ge 2 ];then
        echo fail
        exit 2
    fi
done
}
CheckUrl

测试,故意百度的网址写错

[[email protected] ~]# sh checkurl.sh 
fail
时间: 2024-10-12 19:05:53

shell 实现监控Web服务状态的相关文章

Shell脚本——监控web服务

1.监控端口 #!/bin/bash ############################################################## # File Name: web.sh # Version: V7.4 # Author: feng yu # Organization: http://blog.51cto.com/13520761 # Created Time : 2018-03-27 15:05:09 # Description: ###############

Shell脚本监控WEB服务是否正常

Step1.安装sendmail来发邮件 # yum -y install sendmail # /etc/init.d/sendmail start # chkconfig sendmail on Step2.安装mutt邮件客户端,并设置相关信息 # yum -y install mutt # vim /etc/Muttrc set charset="utf-8"           #设置发邮件编码 set envelope_from=yes set rfc2047_parame

Linux下shell脚本监控Tomcat的状态并实现自动启动

最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤. 1.编写Shell脚本monitor.sh #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作# author:EagleHao# date:2018-04-08# DEFINE # 获取tomcat进程ID(其中[grep

System Center 2012 R2 POC部署之Orchestrator设计监控DHCP服务状态流程

System Center 2012 R2 POC部署之Orchestrator设计监控DHCP服务状态流程 本文介绍如何设计流程以监控DHCP服务状态,当服务停止时触发流程自动启动DHCP服务. 打开Runbook Designer,右键Runbook---新建---文件夹 输入文件夹名称Monitor 右键Monitor---新建----Runbook 输入Runbook名称 Monitor DHCP 从右侧窗口中,找到SC 2012 Operations Manager中的Monitor

生产环境监控mysql服务状态

在生产环境中,如果某个重要的服务关闭了,可能会产生不可预料的结果,这时候,我们要作一个脚本,这个脚本可以监控服务状态,在服务关闭的时候,可以自动打开服务,确保用户的利益. 下面我自己写了一个监控Mysql服务的脚本,目前还没有发现bug,如果有大神发现bug的话可以和我说一下哈,本人QQ:1090139534,我也是刚刚学习的,大家可以加我和我交流. #3306是mysqld服务的端口,看看是否是LISTEN状态. stat="`netstat -lnt|grep 3306 |grep  LIS

go 运维,检测 web 服务状态

延续前面的代码,在运维的时候经常需要检测 web 服务的状态,可以在 web 中专门设置一个测试页面(可以查询下数据库,返回一个指定的值) package main //使用的包 import ( "flag" "fmt" "io/ioutil" "log" "net" "net/http" "regexp" ) //定义脚本的版本 const VERSION = &

shell监控web服务的多种方案

1.端口 本地:ss.netstat,lsof 远程:telnet,nmap.nc 2.本地进程数 3.header(http,curl),模拟用户的方式 4.URL(wget,curl).模拟用户的方式 5.php,java写监控的程序,模拟用户的方式(让开发提供) 范例判断条件 [[email protected] ~]# lsof -i :80|wc -l    #本地端口   2 [[email protected] ~]# nmap 127.0.0.1 -p 80    #远程端口 S

linux运维学习shell脚本监控nginx服务

菜鸟学习shell脚本后,动手练手简单小实验,使用shell脚本判断nginx是否正常运行,如果没有运行将nginx服务启动起来. 一.基于进程判断 1.获取nginx进程来判断该服务是否正常启动. ps -ef | grep nginx | grep -v grep | wc -l    输出进程行数 然后判断是否为2 如果不是说明该服务没有启动. grep -v grep  用来排除掉您所使用grep产生的进程. 2.shell 脚本编写 先定义一个变量Web #!/bin/bash Web

Zabbix使用Pycurl模块监控web页面状态

由于网络的问题,zabbix自带web模块用不了,后台研发2b,老是更新正式环境安装包,导致一直出问题,老是给他们擦屁股,早说过这事,他们不配合,现在出问题了,挺爽,这锅我表示不背,就找了pycurl这个模块写个监控. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 c = pycurl.Curl()    #创建一个curl对象  c.setopt(pycurl.CONNECTTIMEOUT, 5)