0
点赞
收藏
分享

微信扫一扫

linux shell实现监控HTTP服务器的状态


monitor_http.sh

#!/bin/bash

url=http://192.168.10.244

function check_http () 
{
  status_code=$(curl -m 5 -s -o /dev/null -w %{http_code} $url)
}
#-m –max-time
#允许整个操作花费的最大时间(以秒为单位)。
#-s --silent
#静默或静音模式,不显示进度表/条或错误信息
#-o –output
#输出到一个文件,而不是标准输出。
#-w –write-out
#在完成和成功操作后要在stdout上显示什么

while :
do
  check_http
  date=$(date +%Y%m%d-%H:%M:%S)
  if [ $status_code -ne 200 ];then
   echo "当前时间为:$date,$url 服务器异常,状态码为${status_code}.请尽快排查异常." >>/tmp/log/http.log
  else
   echo "$url连接正常" >>/tmp/log/http.log
  fi
  sleep 5
done

验证:

[root@logstash ~]# sh monitor_http.sh 

[root@logstash ~]#
[root@logstash ~]# cat /tmp/log/http.log 
http://192.168.10.244连接正常
http://192.168.10.244连接正常
http://192.168.10.244连接正常
http://192.168.10.244连接正常
http://192.168.10.244连接正常
http://192.168.10.244连接正常
当前时间为:20240620-11:05:09,http://192.168.10.244 服务器异常,状态码为000.请尽快排查异常.
当前时间为:20240620-11:05:14,http://192.168.10.244 服务器异常,状态码为000.请尽快排查异常.
当前时间为:20240620-11:05:19,http://192.168.10.244 服务器异常,状态码为000.请尽快排查异常.
http://192.168.10.244连接正常
[root@logstash ~]#

举报

相关推荐

0 条评论