我应该如何监控使用JMX的Tomcat Web应用程序?(How should I monitor

2019-08-01 11:11发布

我想监视使用JMX tomcat下运行的Web应用程序。

我不想只是使用内置的JMX实现的Tomcat,我想要实现的实际Web应用程序的MBean,所以我可以在特定应用程序设置信息和监控。

与Web应用程序和在线监测的问题是,Web应用程序并不总是积极的但“唤醒”,以处理这样监视它们不只是JMX堵漏,我会为一个正常的运行过程中,服务器的请求。

你如何在后台(就像一个Singleton)Tomcat的运行应用程序,这样我就可以在所有的时间连接到它?

有没有办法做到这一点是共同的,我不知道呢?

谢谢!

Answer 1:

您可以创建一个实现类ServletContextListener然后加载监听器在web.xml。

班级:

public class ServerListener implements ServletContextListener {

    public void contextDestroyed(ServletContextEvent pSce) {
    }

    public void contextInitialized(ServletContextEvent pSce) {
        // TODO Register MBean here.
    }
}

在web.xml中:

<listener>
  <listener-class>com.example.ServerListener</listener-class>
</listener>


Answer 2:

在您的应用程序,你需要在应用程序部署MBean服务器注册的MBean。 虽然Web应用程序部署,MBean将被曝光。 我已经使用了Spring框架JMX支持到Tomcat中做到这一点-但也有办法做到这一点没有春天。



Answer 3:

如果你熟悉的Nagios和您的公司正在使用它,这可能是一个更好的选择

这些插件做看起来有用https://exchange.nagios.org/directory/Plugins/Java-Applications-and-Servers/Apache-Tomcat

否则由@teabot说,使用Spring JMX支持。 使得它很容易。



文章来源: How should I monitor a web application on tomcat using JMX?
标签: tomcat jmx