gpt4 book ai didi

java - 在 Tomcat 中监控 webapp -(不是 tomcat 监控)

转载 作者:行者123 更新时间:2023-11-28 21:57:15 24 4
gpt4 key购买 nike

我正在寻找有关如何最好地监视在 Tomcat 中运行的应用程序的想法。我指的不是 Tomcat 监控,而是检查“Web 应用程序”是否处于 Activity/实时状态。

我知道有几种工具可以监控 Tomcat(lamdbaprobe、Nagios 等),但我想监控在 Tomcat 中运行的实际应用程序。这是因为有几种情况Tomcat可以运行但是应用程序不可用

我正在考虑的一个解决方案是编写一个工具来尝试访问该应用程序。例如编写一个 java 工具来发送和 HTTP 请求并监视响应。

最好的方法是什么?我听说过很多人提到 JMX,但我不太了解它。它可以用来做上面的事情吗?您是否知道可以执行此操作的任何其他现有工具,或者您是否知道更好的方法?

最佳答案

JMX 是你应该选择的。

最简单的形式就是编写一个接口(interface),用于访问信息的相应类,然后将此实例部署在 MBeanServer 中。轻而易举 - 使用一点谷歌,您应该会在一小时内找到解决方案。

使用此方法,您可以无缝集成例如 Tomcat 本身。 Tomcat 还使用 JMX 发布其信息。

通信基于一个标准,周围有很多工具都说“基于 RMI 的 JMX”,例如 jconsole 或 jvisualVM。大多数监控软件都有 JMX 插件(Nagios 和其他 - 我们使用 Hyperic)。

编辑

好吧,让我们反过来看。编写一个类来收集您要发布的信息。可以肯定的是,信息必须在某个地方公开......

class MyInfo {
public int getCurrentValue() {
// lookup this value wherever yoy want
return 42;
}
}

写一个接口(interface)

interface MyInfoMBean {
public int getCurrentValue();
}

编写一个 ContextListener,在 Web 应用程序启动时注册此 MBean。

因此,如果您需要以任何方式更改您的应用程序,则取决于您要发布的信息是否容易获得。

关于java - 在 Tomcat 中监控 webapp -(不是 tomcat 监控),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4556574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com