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 ~]#