2010-11-04 233 views
2

可能重复:
Is Tomcat running?检查tomcat是否运行?

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

我可以做这一个通过使用批处理文件

感谢 穆拉利

回答

0

如果你的Tomcat是在Linux环境中,那么你可以使用netstat命令来检查tomcat的监听端口8080和使用shell发送邮件脚本

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" [email protected] 
fi 
1

如果Tomcat运行,最简单的方法(独立平台)是这个网址键入任何Web浏览器(假设你的HTTP端口配置为“80”):http://localhost:8080/。您可以将localhost更改为所选主机服务器。这将打开一个Tomcat页面以下消息:

如果您看到了通过Web浏览这个页面,这意味着你已经安装Tomcat的 成功。恭喜!

否则的netstat并查看是否有在端口8080上运行


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

5

这有很多答案,这取决于你的意思是“跑步”。例如,@ dogbane的回答告诉你Tomcat进程是否存在(模边情况),并且@Prabhakaran的回答告诉你Tomcat是否在端口8080上进行监听(以不同的边缘情况为模)。但是这些都不会在Tomcat停止响应请求的情况下发生。

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

我推荐以下方法:

  • 挑选一个你所关心的一些Web应用程序页面。理想情况下,这些应该包括依赖于后端服务/数据库的页面。
  • 创建请求URL来获取页面,执行查询或任何/
  • 使用curlwget发送请求URL。
  • 使用某种模式匹配来确保您获得良好的结果而不是错误页面。
  • 如果您收到超时,意外的响应代码或错误页面,请发送邮件。

这种事情是比较容易,如果你是一个UNIX/Linux平台比在Windows上运行,因为这些工具,你需要实现它应该已经或者安装,或容易使用的软件包管理器安装做。


1 - 其实,这是对滥发自己的食谱。更好的办法是部署一个了解系统状态,重复抑制等的事件监控系统。