【问题标题】:check the tomcat running or not? [duplicate]检查tomcat是否运行? [复制]
【发布时间】:2011-05-04 23:53:12
【问题描述】:

可能重复:
Is Tomcat running?

你好,

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

我可以通过使用批处理文件来做到这一点

谢谢 壁画

【问题讨论】:

    标签: java apache tomcat


    【解决方案1】:

    对此有多种答案,具体取决于您所说的“跑步”。例如,@dogbane 的答案告诉您是否存在 Tomcat 进程(模数边缘情况),@Prabhakaran 的答案告诉您 Tomcat 是否正在侦听端口 8080(模数不同的边缘情况)。但是这些都不会出现 Tomcat 停止响应请求的情况。

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

    我推荐以下方法:

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

    如果您在 UNIX/Linux 平台上运行,这种事情比在 Windows 上运行更容易,因为您需要实现它的工具应该已经安装,或者使用包管理器很容易安装。


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

    【讨论】:

      【解决方案2】:

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

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

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


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

      【讨论】:

        【解决方案3】:

        您可以运行以下脚本来检查 $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
        

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-03-29
            • 1970-01-01
            • 2011-01-20
            • 2012-10-03
            • 2012-08-23
            • 1970-01-01
            • 1970-01-01
            • 2013-04-04
            相关资源
            最近更新 更多