tomcats icon indicating copy to clipboard operation
tomcats copied to clipboard

有效的监控tomcat

springboot+shedule实现java监控

开发思路

​ 设置一个schedule定时任务,该定时任务的工作就是每隔一段时间去访问某个接口,如果发现不能访问接口或者发生了4xx和5xx错误,就判断为服务器发生了故障,系统会同时发生邮件和短信给相关人员,其中接口读取异常和4xx错误都会触发重启脚本,若重启该脚本后还是发生访问故障,则停止重启脚本,继续发生邮件

项目功能

  • 能够有效实时的监听应用服务器,当应用服务器发生故障时,能在短时间内发现并发生邮件和短信给有关的人员
  • 提供重启脚本,可以在系统发生宕机的情况下,自动启动重启脚本
  • 提供守护进程启动方式保护监听程序(推荐)

快速启动

  • 使用默认配置

    搜索栏中输入cmd

    输入 java -jar 加 jar包名字 启动

    • 使用定制配置

      在jar包的同级目录建立一个config文件夹,把application.yml放到其中即可使用定制化配置(yml的有关属性设置请详细看application.yml的有关注释,重启脚本)

      1572427660225

    1572427640032

测试

  • 使用自动重启脚本,实现重启tomcat

已知问题

  • 若服务器发生500错误,而服务器返回给前端200,这种情况无法判断
  • 若监听程序挂了,则无法实现监听(目前想到的就是添加守护进程,更好解决办法正在思考中)

1572487080795

相关说明

  • 目前定时任务的执行周期为为分钟执行一次,如果在某个时间段发生了tomcat故障。4xx错误,会发生信息给相关人员,并且在auto值不为0的情况下会执行重启脚本。发生500则只发生信息
  • 要同时监听多个端口,请看application.yml中的说明
  • 如果只监听tomcat不监听api接口就只需设置为例如port:8080,若要监听接口则需要在端口号后面加上相应的路径 如:port:8080/api/getDay?day=1
  • 仅支持jdk1.7及以上版本,推荐使用jdk1.8