我是一名计算机科学专业的学生,目前正在实习。我的老板让我编写一个简单的工具来监控 Tomcat 服务器。我刚刚开始这个项目,所以我基本上只是在玩弄看看事情是如何运作的。我想创建一个简单的 jsp 页面来显示一些基本 JMX 查询的结果。我正在使用 Eclipse IDE。有人可以给我一些入门提示吗?
问问题
8192 次
2 回答
6
在这里,您绝对不必重新发明轮子。您可以从jconsole
JDK 附带的 开始:只需运行jconsole [pid]
并将jconsole
连接到(本地)正在运行的进程,并让您通过 JMX 观察一切。
如果您想远程访问 JMX 公开的信息,您可以使用 Tomcat 的manager
webapp 以及包含的jmxproxy
servlet,它允许您远程执行简单的查询来获取(和设置)JMX 属性。
还有其他功能更齐全的项目,例如 Jolokia ( http://www.jolokia.org/ ),它们可以做类似的事情。
假设您使用像 Nagios 之类的东西来自动观察您的 Tomcat 实例,那么您肯定不想这样做,它会启动 JVM 并建立远程(甚至本地)JMX 连接来检查单个 JMX 属性(然后这样做 5 次以观察 5 种不同的特性,然后每 5 分钟或 1 分钟或其他方式进行这 5 个样本)。相反,您可能希望使用上述代理。
我们已经成功地将 Nagios 与 Tomcat 管理器的jmxproxy
servlet 结合起来。它可能会在很长一段时间内满足您的需求。
于 2012-06-15T20:50:45.817 回答
1
在以编程方式使用 JMX 方面,有许多客户端类。这是我的SimpleJMX 项目。有了它,您可以使用该JmxClient
对象连接和询问远程 JVM:
JmxClient client = new JmxClient("remote.sever.name", remotePortNumber);
Set<ObjectName> objectNameSet = client.getBeanNames();
...
于 2012-06-15T19:50:31.747 回答