监控http脚本

该脚本用于定期检查API服务状态,当状态异常时发送邮件通知,并触发重启脚本。通过curl获取HTTP状态码,结合jps获取Java进程ID,确保服务正常运行。在服务异常时,会统计TCP连接状态并附带详细信息发送邮件。
摘要由CSDN通过智能技术生成
#!/bin/sh
date=`date +"%Y-%m-%d-%H:%M"`
title="api Running state "
contentFail="Abnormal running state:"
contentSuccess="status is ok:"
url="http://192.168.1.87:3399"
status=`curl -m 20 -s -I $url | grep HTTP | awk '{print $2}'`
java_pid=$(jps|grep HshServer|awk '{print $1}')

cd /sh
laststatus=`cat status.log`

if [ "$status" == "200" ]
    then
        if [ "$laststatus" != 200 ]
            then
                echo "200" > status.log
        fi
else
    if [ "$laststatus" == 200 ]
        then
	    /usr/bin/netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' >> /sh/tcplinking
	    echo "主机: XX  服务: api 说明: XX主机api服务已经停止运行....  2分钟后尝试重新启动....." |mail -s "87 api服务停止运行"  XXXX@qq.com
	    cat /sh/tcplinking |mail -s "xx api停止运行" XXXXXXXX@qq.com
            /usr/bin/python /sh/mail.py "$title" "$contentFail $url $date $status"
            echo "$status" > status.log
#           jmap -dump:format=b,file=/sh/dump/hshserver_$date.dump  "$java_pid"
       	/bin/sh /sh/restart.sh
    fi
fi

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值