tomcats
tomcats copied to clipboard
有效的监控tomcat
springboot+shedule实现java监控
开发思路
设置一个schedule定时任务,该定时任务的工作就是每隔一段时间去访问某个接口,如果发现不能访问接口或者发生了4xx和5xx错误,就判断为服务器发生了故障,系统会同时发生邮件和短信给相关人员,其中接口读取异常和4xx错误都会触发重启脚本,若重启该脚本后还是发生访问故障,则停止重启脚本,继续发生邮件
项目功能
- 能够有效实时的监听应用服务器,当应用服务器发生故障时,能在短时间内发现并发生邮件和短信给有关的人员
- 提供重启脚本,可以在系统发生宕机的情况下,自动启动重启脚本
- 提供守护进程启动方式保护监听程序(推荐)
快速启动
-
使用默认配置
搜索栏中输入cmd
输入 java -jar 加 jar包名字 启动
-
使用定制配置
在jar包的同级目录建立一个config文件夹,把application.yml放到其中即可使用定制化配置(yml的有关属性设置请详细看application.yml的有关注释,重启脚本)
-
测试
- 使用自动重启脚本,实现重启tomcat
已知问题
- 若服务器发生500错误,而服务器返回给前端200,这种情况无法判断
- 若监听程序挂了,则无法实现监听(目前想到的就是添加守护进程,更好解决办法正在思考中)
相关说明
- 目前定时任务的执行周期为为分钟执行一次,如果在某个时间段发生了tomcat故障。4xx错误,会发生信息给相关人员,并且在auto值不为0的情况下会执行重启脚本。发生500则只发生信息
- 要同时监听多个端口,请看application.yml中的说明
- 如果只监听tomcat不监听api接口就只需设置为例如port:8080,若要监听接口则需要在端口号后面加上相应的路径 如:port:8080/api/getDay?day=1
- 仅支持jdk1.7及以上版本,推荐使用jdk1.8