首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jolokia和jmxtrans的区别是什么?什么时候选择一个而不是另一个?

jolokia和jmxtrans的区别是什么?什么时候选择一个而不是另一个?
EN

Stack Overflow用户
提问于 2012-04-14 14:21:59
回答 3查看 6.9K关注 0票数 14

我正在寻找一个JMX查询工具。我遇到过jolokia和jmxtrans,它们都支持基于JSON的查询。JMXtrans提供了一些我认为Jolokia所缺少的监控工具的作者。我用谷歌搜索了一下,但我没有得到太多比较这两者的信息。但我在wrt和wrt这两个工具上读到了积极的博客文章。如果有人以前用过这些,请分享你的经验…

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-21 13:58:25

我是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实例连续查询数百个服务器。

我希望这能澄清一些事情。如果你有任何具体的问题,我很乐意回答。

票数 20
EN

Stack Overflow用户

发布于 2012-06-04 17:03:20

事实上,jmxtrans和Jolokia有不同的侧重点。Jmxtrans是一个完整的监控解决方案,带有一个调度器,它周期性地查询JMX请求,并将结果发送到后端,如石墨或rrdtool。它使用标准JSR-160 (基于RMI)通信来查询JMX标记的Java服务器

另一方面,Jolokia是一个HTTP/JSON-JMX Adaptor,它允许非Java客户端轻松访问,并添加了一些纯JSR160实现所不具备的独特功能。为了集成到监控平台中,还需要另一款软件。对于Nagios,有一个Jmx4Perl,它提供了一个全功能的Nagios插件来查询Jolokia代理。

因为我是Jolokia的作者,所以让我来强调一下Jolokia的一些亮点

  • 可以将多个请求作为单个批量请求一次发送。这样一来,只需一次HTTP转换,就可以查询数百个属性。这真的对HTTP的使用产生了巨大的影响Jolokia允许跨越防火墙边界的简单查询(这是一个噩梦,当使用标准的JMX时,通过使用一个普通的connectors)
  • Fine策略文件很容易实现粒度授权通过使用一个普通的XML策略文件,
  • 代理不仅可用于Tomcat或任何其他Java容器,而且还可用于任何Java6应用程序(例如,ActiveMQ或Camel)
  • 一套很好的命令行工具(例如,具有上下文相关命令完成的基于readline的JMX shell )附带来自Perl、Javascript、Python、..。是否为available.
  • ....欲了解更多信息,请访问www.jolokia.org

总之,我认为当您需要一个基于JSR-160远程处理的完整监控解决方案时(但是,您也可以使用Nagios和check_jmx4perl )和Jolokia,当您需要克服JSR-160的限制或者可以利用它的一个独特特性时,您应该使用jmxtrans。人们甚至可以想象将Jolokia集成到jmxtrans中,以便与要监控的服务器进行通信,然后将通过JSON/HTTP而不是JSR-160 RMI (也许这也澄清了不同的焦点和支持的用例)。

票数 18
EN

Stack Overflow用户

发布于 2012-09-26 05:07:40

让我在表中再放一个项目- https://github.com/dimovelev/metrics-sampler,它使用正则表达式和变量替换查询JMX数据,还支持JDBC查询作为度量源(主要用于监控我们的oracle db统计数据)和apache mod_qos内容的mod_qos。我们只需要石墨作为输出,这是它目前支持的唯一输出。

顺便说一下,由于hotspot在启动时随机选择了一个临时端口,所以JMX端口在防火墙上会出现问题。使用jrockit,可以使用标准jvm选项指定它(到与注册表相同的端口)。要在热点上做到这一点,你需要自己编写代码(或者重用代码,例如来自tomcat jmx连接器的代码)。好的方面是,可以将两个端口设置为相同的值,因此只需要一个防火墙规则。

干杯迪莫

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10151536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档