监测的应用接口: 新闻接口、天气接口
处理方法:应用接口不可用时自动重启Tomcat,并发送告警邮件给相关人员
#!/bin/bash #--------------------------------------------------------- # 功能说明: # 监控指定HTTP服务是否可用,如果不可用立即重启Tomcat # # 使用说明: # 1. 将此脚本放置在/home/opentsp/crontab/目录下。 # 2. 修改脚本执行权下为可执行权限。 # 3. 添加到定时任务中,定时执行时间(建议为20分钟) # 4. 修改邮件发送人员信息列表(当服务重启时发邮件给相关人员) # - 周凌飞(2014-08-13) #--------------------------------------------------------- export LC_ALL=zh_CN.UTF-8 #网站地址、参数 SERVER_NAME="趣驾云接口服务" URL_2="http://127.0.0.1/get_rss_news?p=%7b%27chId%27:%27TIYU%27%7d" KeyWorld_2='<title>' URL_3="http://127.0.0.1/get_json_weather?p=%7blon:116.407617,lat:39.993956,date:1%7d" KeyWorld_3='temperature' #邮件发送列表 mail_ary=( [email protected] [email protected] [email protected] ) #接口调用失败的处理方法 function doFail(){ local ipinfo=$(ifconfig |sed -n '2p'|awk '{print substr($2,6)}'); # 发送邮件 for _v in ${mail_ary[*]} ; do echo "[$SERVER_NAME 异常] - [$(date -d "0 min" +"%Y-%m-%d %H:%M:%S")] - [请求地址: $1] - [请求返回码: $2]" | mail -s ${ipinfo}服务异常 ${_v} done # 写入日志 echo "[ERROR] - [$(date -d "0 min" +"%Y-%m-%d %H:%M:%S")] - 返回码[$2] - 重启Tomcat服务" >> detect-http.log # 关闭Tomcat sh /home/opentsp/crontab/ibr-shutdown.sh exit; } #请求超时时间设置 TIME_OUT=40 function doCheck(){ local URL_X=$1; local KeyWorld_X=$2; HTTP_STATUS_CODE=`curl -m $TIME_OUT -o /dev/null -s -w "%{http_code}" "${URL_X}"` if [ $HTTP_STATUS_CODE != 200 ];then #请求失败 echo "-> Fail - 返回码${HTTP_STATUS_CODE}"; doFail ${URL_X} ${HTTP_STATUS_CODE}; else #服务器正常响应,检查返回内容 if curl -m ${TIME_OUT} -s ${URL_X} | grep -q ${KeyWorld_X};then echo "-> SUCCESS"; else echo "->> Fail"; # 返回内容错误处理 doFail ${URL_X} ${HTTP_STATUS_CODE}; fi fi } # #检查 - 新闻 doCheck ${URL_2} ${KeyWorld_2} #检查 - 天气 doCheck ${URL_3} ${KeyWorld_3}
将以上代码放入到Linux的定时任务中即可,定时任务时间建议为20分钟一次。
您可能感兴趣的文章:
- Linux上也有10个流行的Windows应用程序
- 详解Win10 Bash/WSL调试Linux环境下的.NET Core应用程序
- 在Linux操作系统上运行Windows应用程序
- 可怕的万圣节 Linux 命令
- linux 编译安装python3.6的教程详解
- Linux配置和使用i3窗口管理器的教程
- 十个理由告诉你Linux为何越来越受欢迎
- 值得收藏的27个Linux文档编辑命令
- Linux kde中11个你不知道的应用程序
本文由 华域联盟 原创撰写:华域联盟 » Linux中使用Crontab定时监测维护Tomcat应用程序的方法
转载请保留出处和原文链接:https://www.cnhackhy.com/48044.htm