jolokia和jmxtrans有什么区别?何时选择一个而不是另一个?[已关闭]
我正在寻找一个JMX查询工具。我遇到过jolokia和jmxtrans,都支持基于JSON的查询。JMXtrans有监控工具的编写器,我认为这些工具在Jolokia中是缺失的。我用谷歌搜索,但我没有得到太多比较两者的信息。但是我已经阅读了关于这两种工具的积极博客文章。如果有人以前使用过这些,请分享您的经验...
我正在寻找一个JMX查询工具。我遇到过jolokia和jmxtrans,都支持基于JSON的查询。JMXtrans有监控工具的编写器,我认为这些工具在Jolokia中是缺失的。我用谷歌搜索,但我没有得到太多比较两者的信息。但是我已经阅读了关于这两种工具的积极博客文章。如果有人以前使用过这些,请分享您的经验...
我是jmxtrans的作者。在我开发jmxtrans之前,我考虑过Jolokia。我选择使用jmxtrans进行开发,因为我想到了一个不同的用例。
Jolokia在Tomcat作为一场战争运行。它类似于jmxtrans,因为它允许您查询JMX服务器,但这是关于相似性结束的地方。您需要在 Jolokia 之上实现 jmxtrans 的其余部分,以便实现功能奇偶校验。
另一方面,jmxtrans是独立的,对Tomcat没有要求。我的目标受众是 netops/devops 角色。它配置了一个相对简单的基于JSON的结构,因此它不需要工程学位来配置和使用它。
我们的想法是,您使用jmxtrans来持续监控通过jmx公开统计信息的服务。您可以使用jmxtrans将数据从jmx“转换”到您想要的任何输出格式。通常,DevOps人员希望将他们的JVM与某种监视解决方案(如Graphite /Ganglia)集成,因此我为这些工具提供了输出编写器。
jmxtrans在如何对jmx服务器进行查询方面也非常聪明,并且对此进行了一些优化。还有很多工作要做,例如并行化对许多服务器的请求,以便能够扩展jmxtrans以使用单个jmxtrans实例连续查询数百台服务器。
我希望这能澄清一些事情。如果您有任何具体问题,我很乐意回答。
事实上,jmxtrans和Jolokia有不同的关注点。Jmxtrans是一个完整的监控解决方案,带有调度程序,可以定期查询JMX请求并将结果发送到石墨或rdtool等后端。它使用标准的 JSR-160(基于 RMI)通信来查询 JMX 启用的 Java 服务器。
另一方面,Jolokia是一个HTTP / JSON-JMX Adaptor,它允许非Java客户端轻松访问,并添加了一些纯JSR-160实现所不具备的独特功能。为了集成到监控平台中,还需要另一个软件。对于Nagios,有Jmx4Perl,它提供了一个功能齐全的Nagios插件来查询Jolokia代理。
由于我是Jolokia的作者,让我强调一下Jolokia的一些亮点
总而言之,当您需要基于JSR-160远程处理的完整监控解决方案时(但是,您也可以使用Nagios和check_jmx4perl),以及当您需要克服JSR-160限制或可以从其独特功能之一中受益时,我认为您应该使用jmxtrans。人们甚至可以想象将Jolokia集成到jmxtrans中,以便与要监视的服务器进行通信,然后通过JSON / HTTP而不是JSR-160 RMI(也许这也澄清了差异焦点和支持的用例)。