我正在设计一个J2SE应用程序,并寻找监控和警报的解决方案。要求是:

  1. 对象可以报告其状态,并在遇到问题时发出警报。
  2. 在特定对象上调用一些预定义的方法(例如,转储其状态)。
  3. 监控JVM运行状况,尤其是内存使用情况。
  4. 最好从远程计算机访问上述所有内容。
  5. 最佳解决方案是什么?涉及JMX的任何事情?

有帮助吗?

解决方案

是的,你几乎都在描述JMX和MBeans。

其他提示

如果您使用Java 6u10或更高版本,还可以看到VisualVM(JDK中的jvisualvm.exe)可以执行各种有趣的事情,包括(使用插件)jconsole可以使用的相同内容。

检查真的很棒。

请参阅 JConsole ,它随Java安装一起提供。这使您可以检查JMX可用的统计信息,无论是在本地计算机还是远程计算机上。您需要使用适当的选项(在链接文章中详细说明)启动受监视的VM,然后只需启动JConsole并指向所需的VM(如果需要,可以通过身份验证进行保护)。

JConsole可以检查所有标准JMX bean,以及您创建/注册的任何bean。 GUI将允许您调用公开的方法和图表统计等。

您可以使用 smartinspect 在您的应用中记录您想要的内容:对象,您也可以从远程计算机访问它。

如果您想将警报投入混音中,请查看Jopr( http:// www .jboss.org / JOPR /

如果要检查JMX数据,请尝试JRockit Mission Control附带的管理控制台。这是类固醇上的JConsole / VisualVM。检查数组,映射,集合,compositeData等非常容易,并将监视的属性添加到图形或拨号盘中。也可以创建触发警报。

您可以免费下载此处

alt text http ://www.oracle.com/technology/products/jrockit/missioncontrol/new_and_noteworthy/3.1.0/images/console/mbean_drilling.png

如果您需要持续监控解决方案,请考虑 Evident ClearStone for Java 。通过这种方式,您可以监控任何自定义mbeans,并将其设置为在违反阈值时向您发送警报。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top