我正在设计一个 J2SE 应用程序,并且正在寻找一种用于监视和警报的解决方案。要求是:
- 对象可以报告其状态并在遇到问题时发出警报。
- 在特定对象上调用一些预定义的方法(例如转储它们的状态)。
- 监控 JVM 运行状况,尤其是内存使用情况。
- 最好从远程计算机访问以上所有内容。
什么是最好的解决方案?任何涉及 JMX 的东西?
我正在设计一个 J2SE 应用程序,并且正在寻找一种用于监视和警报的解决方案。要求是:
什么是最好的解决方案?任何涉及 JMX 的东西?
如果您使用 Java 6u10 或更高版本,另请参阅 VisualVM(JDK 中的 jvisualvm.exe),它可以做各种有趣的事情,包括(使用插件)jconsole 可以做的事情。
真的很适合检查。
是的,您描述的几乎都是 JMX 和 MBean。
您可以使用smartinspect在应用程序中记录您想要的任何内容:对象、图片等。您还可以从远程计算机访问它。
请参阅JConsole,它与 Java 安装一起打包。这允许您检查 JMX 可用的统计信息,无论是在本地还是远程机器上。您需要使用适当的选项(在链接的文章中详细说明)启动受监控的 VM,然后只需启动 JConsole 并指向所需的 VM(如果需要,您可以通过身份验证保护)。
JConsole 可以检查所有标准 JMX bean,以及您创建/注册的任何内容。GUI 将允许您调用公开的方法和图表统计信息等。
如果您也想在混合中加入警报,请查看 Jopr ( http://www.jboss.org/jopr/ )
如果您想检查 JMX 数据,请尝试使用 JRockit Mission Control 附带的管理控制台。它是类固醇上的 JConsole/VisualVM。检查数组、地图、集合、compositeData 等非常容易,并将监控的属性添加到图形或刻度盘中。也可以创建触发警报。
你可以在这里免费下载。
如果您需要持续监控解决方案,请考虑Evident ClearStone for Java。有了这个,您可以监控任何自定义 mbean,并将其设置为在超出阈值时向您发送警报。