检查tomcat运行与否?

kri*_*hna 2 java apache tomcat

可能重复:
Tomcat是否正在运行?

我在虚拟机中安装了tomcat服务器.我想每天检查tomcat服务器,它是否正在运行.如果它正在运行,它将发送邮件到我的邮件ID.我是如何实现的?

我可以使用批处理文件来完成这个

谢谢Murali

dog*_*ane 5

您可以使用以下脚本来检查$ CATALINA_PID文件中存在的tomcat pid的状态.如果pid已死,则会发送一封电子邮件.

kill -0 `cat $CATALINA_PID` > /dev/null 2>&1
if [ $? -gt 0 ]
then
    echo "Check tomcat" | mailx -s "Tomcat not running" support@dom.com
fi
Run Code Online (Sandbox Code Playgroud)


Ste*_*n C 5

根据"跑步"的含义,有多种答案.例如,@ dogbane的答案告诉你Tomcat进程是否存在(模边缘情况),@ Prabhakaran的答案告诉你Tomcat是否正在侦听端口8080(模数不同的边缘情况).但这些都不会解决Tomcat停止响应请求的情况.

@ Elite的答案会告诉您默认(例如ROOT)servlet是否正在运行,但这可能还不够.

我建议采用以下方法:

  • 选择一些您关心的webapp页面.理想情况下,这些应包括依赖于后端服务/数据库的页面.
  • 创建请求URL以获取页面,执行查询或其他/
  • 使用curlwget发送请求网址.
  • 使用某种模式匹配来确保您获得良好的结果而不是错误页面.
  • 如果您收到超时,意外的响应代码或错误页面,请发送邮件1.

如果您在UNIX/Linux平台上运行而不是在Windows上运行,那么这样做更容易,因为您需要实现它的工具应该已经安装,或者使用包管理器轻松安装.


1 - 实际上,这是自己发送垃圾邮件的方法.更好的想法是部署一个事件监控系统,该系统了解系统状态,重复抑制等等.