检查tomcat运行与否?

时间:2010-11-04 10:43:41

标签: java apache tomcat

  

可能重复:
  Is Tomcat running?

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

我可以使用批处理文件

来完成这个

由于 穆拉利

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:5)

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

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

我建议采用以下方法:

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

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


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

答案 2 :(得分:1)

如果tomcat正在运行,最简单的方法(平台无关)是将此URL键入任何Web浏览器(假设您的http端口配置为“80”):http://localhost:8080/。您可以将localhost更改为所选的任何主机服务器。这将打开一个Tomcat页面,其中包含以下消息:

  

如果您通过网络浏览器看到此页面,则表示您已设置Tomcat   成功。恭喜!

否则netstat并查看是否有任何东西在端口8080上运行。


PS 我刚刚读到你想要发送电子邮件通知,如果没有运行,最好的方法是创建一个定期的工作1)监听端口8080或2)查找tomcat进程是否是启动并运行。未能满足1)或2)向系统管理员发送电子邮件。

答案 3 :(得分:0)

如果您的tomcat在linux环境中,那么您可以使用netstat命令检查tomcat监听端口8080并使用shell脚本发送邮件