shell监测Http应用状态

该博客介绍了如何利用Shell脚本监测Http应用的状态。通过获取服务器IP地址和端口号,脚本会循环检查Http服务是否正常运行,并输出连接状态。示例输出显示服务在192.168.50.143:8005上运行良好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取IP地址:

# no param
get_ip() {
        #ifconfig -a| awk -F':' '{ if(NR==2){ print $2 } }'| cut -d' ' -f1
        IP=`ifconfig | grep -w inet | grep -v "127.0.0.1" | awk '{ print $2}'| tr -d "addr"`
        echo ${IP#*:} ## 兼容部分服务器ifconfig输出addr带":"问题
}

获取应用端口号:

# param: /home/wy/www/testtomcat.test.com/conf/server.xml
get_port() {
	[ $# -lt 1 -o "X"$1 == "X" ] && echo "" || echo `sudo sed -n '/<!--/,/-->/!p' $1 | grep -E '<Connect'|sed 's#.*<Connector.*port=\"\([0-9]\+\)\".*#\1#g'`
}

监测Http服务状态:

# param: /home/wy/www/testtomcat.test.com/conf/server.xml
get_http_status() {
        http_addr="http://$(get_ip):$(get_port $1)"
        status_code=`curl -m 5 -s -o /dev/null -w %{http_code} $http_addr`
        [ $status_code -ne 200 ] && echo "[ERROR]: http connection error: $http_addr -1" || echo "[INFO]: http connection is ok: $http_addr 0"
}

循环监测:

while : ;do
        get_http_status /home/wy/www/testtomcat.test.com/conf/server.xml
        sleep 1
done

查看输出结果:

[dev@192-168-50-143 ~]$ ./checkServerStatus.sh
[INFO]: http connection is ok: http://192.168.50.143:8005 0
[INFO]: http connection is ok: http://192.168.50.143:8005 0
[INFO]: http connection is ok: http://192.168.50.143:8005 0
[INFO]: http connection is ok: http://192.168.50.143:8005 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值