shell脚本:监控HTTP服务的状态(测试返回码)

简介:

#定义函数check_http: 

#使用curl命令检查http服务器的状态 #-m设置curl不管访问成功或失败,最大消耗的时间为5秒,5秒连接服务为相应则视为无法连接

#-s设置静默连接,不显示连接时的连接速度、时间消耗等信息 

#-o将curl下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容) 

#-w设置curl命令需要显示的内容%{http_code},指定curl返回服务器的状态码


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
27
28
29
30
31
32
#!/bin/bash
#Author:丁丁历险(Jacob)
#设置变量,url为你需要检测的目标网站的网址(IP或域名)
url=http: //192 .168.4.5 /index .html
  
#定义函数check_http:
#使用curl命令检查http服务器的状态
#-m设置curl不管访问成功或失败,最大消耗的时间为5秒,5秒连接服务为相应则视为无法连接
#-s设置静默连接,不显示连接时的连接速度、时间消耗等信息
#-o将curl下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容)
#-w设置curl命令需要显示的内容%{http_code},指定curl返回服务器的状态码
check_http(){
status_code=$(curl -m 5 -s-o  /dev/null  -w %{http_code} $url)
}
  
while  :
do
        check_http
        date =$( date  +%Y%m%d-%H:%M:%S) 
#生成报警邮件的内容
        echo  "当前时间为:$ date
        $url服务器异常,状态码为${status_code}.
        请尽快排查异常." >  /tmp/http $$.pid
        
#指定测试服务器状态的函数,并根据返回码决定是发送邮件报警还是将正常信息写入日志
        if  [ $status_code - ne  200 ]; then
               mail -s Warning root <  /tmp/http $$.pid
        else
               echo  "$url连接正常"  >>  /var/log/http .log
        fi
        sleep  5
done



















本文转自丁丁历险51CTO博客,原文链接:http://blog.51cto.com/manual/1977834,如需转载请自行联系原作者

相关文章
|
2天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
23 3
|
5天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
24 0
|
6天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
7天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
23 1
|
11天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
11天前
|
存储 弹性计算 Shell
ecs服务器shell常用脚本练习(十)
【4月更文挑战第11天】shell代码训练(十)
140 0
|
11天前
|
弹性计算 Shell Go
ecs服务器shell常用脚本练习(九)
【4月更文挑战第10天】shell代码训练(八)
133 0
|
15天前
|
弹性计算 Shell Linux
ecs服务器shell常用脚本练习(六)
【4月更文挑战第4天】shell代码训练(六)
108 0
|
20天前
|
弹性计算 Shell 应用服务中间件
ecs服务器shell常用脚本练习(四)
【4月更文挑战第4天】shell代码训练(四)
96 0
|
22天前
|
Shell
【shell】实时查看网卡流量脚本
【shell】实时查看网卡流量脚本