使用curl脚本监控web服务状态

使用curl脚本监控web服务状态

webservice,restful常作为分布式系统间通信方式;作为服务端可靠性的保证,往往是在调用方不可用时候,通知服务端做故障排查。下面提供一种系统自动监控的方式(常常用来处理问题单一的情况,比如内存溢出等单纯需要重启即可解决的问题),下面例子是在发现wsdl不可用时,自动重启glassfish服务。

脚本代码

脚本内容代码(web.sh):

server_status_code=`curl -o /dev/null -s -m 10 --connect-timeout 10 -w %{http_code} http://10.10.0.47:17080/govtcheck/GovtCheckServiceService?wsdl`
if [ "$server_status_code" = "200" ]; then
    echo "`date '+%Y-%m-%d %H:%M:%S'` visit http://10.10.0.47:17080/govtcheck/GovtCheckServiceService?wsdl status code 200 OK" >>/home/nb01/glassfish3/web_stat_log.txt
else
    echo "`date '+%Y-%m-%d %H:%M:%S'` visit http://10.10.0.47:17080/govtcheck/GovtCheckServiceService?wsdl error!!! server can't connect at 10s or stop response at 10 s, send alerm sms ..." >>/home/nb01/glassfish3/web_stat_log.txt
    /home/nb01/glassfish3/glassfish/bin/asadmin restart-domain domain8
fi

crontab配置:

shell
*/2 * * * * /home/nb01/glassfish3/web.sh

你可能感兴趣的:(运维)