基于命令行的Java Mission Control守护进程?有替代方案吗?

8
我被要求调查Oracle Java Mission Control,以便在特定条件下监控和采取行动(例如发出和记录警报、保存飞行记录)服务器端的Java应用程序。Java Mission Control的触发器系统满足我们的需求,您可以指定条件和操作,但它似乎依赖于GUI应用程序(“Oracle Java Mission Control”)正在运行,这意味着触发器不是受监视的JMX服务器的责任。是这样吗?通常有许多通过终端访问的服务器...

是否有一种方法可以作为守护进程从终端会话中运行Java Mission Control,无人值守,同时保留和遵守任何指定的触发规则(例如从XML文件导入)?

如果没有,请问是否有类似的竞争工具具备类似的触发器系统,能够填补空白?

谢谢!:)

2个回答

4
目前还不能在没有GUI的情况下运行JMC。你不是第一个想这样做的人。
一种选择是在另一台机器上运行JMC,并使其连接到多个服务器,当然需要运行远程JMX代理等。
我们一直在讨论服务器端触发器/规则,但据我所知,它不计划用于任何JDK版本。
可以从代码中转储飞行记录,因此您可以编写自己的小代理程序,使用DiagnosticMBean在同一台机器或远程的另一个JVM上执行此操作。我非常确定这是一些人解决相同问题的方式。还可以在代码中解析和分析飞行记录。如果您对此方法感兴趣,我相信周围有一些示例代码,当然,这比JMC作为守护程序运行要更费力 :/

该死。:( 你知道有没有类似触发系统的竞争工具可以“无痛”地填补这个空白吗?我现在更新了初始问题。 - bernardo.m.luz

0
你可能应该考虑使用 APM 工具来监控,而不是使用 JMC。这个产品非常弱,引入了很多开销(使其不适合生产环境),并且会产生很多问题。此外,还有一些面向开发人员的工具可供选择。
APM:AppDynamics(最深入的工具之一)、New Relic、Ruxit Java 开发工具:Takipi、Fusion Reactor、Javosize

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接