首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jolokia监控同一Tomcat服务器上webapp的JMX端点

使用Jolokia监控同一Tomcat服务器上webapp的JMX端点
EN

Stack Overflow用户
提问于 2015-03-18 08:11:54
回答 1查看 11.2K关注 0票数 1

对于我来说,乔洛基亚是未知的领域,在阅读了这些文档之后,我仍然不确定它是否能与我设想的场景一起工作。

设置:

  • Tomcat应用服务器(版本范围从6.x到7.x),通常在Windows平台上,偶尔也带有Linux的味道。
  • 部署第三方Java应用程序(SAP BusinessObjects),启用JMX监视(通过RMI访问)。

可能抓到的:

  • 要监视的Java应用程序是商业化的、封闭的源,因此不可能进行修改。唯一可以更改的是JMX端口号。
  • JMX端点是一个自定义端点,因此不是默认的jmxrmi端点。
  • JMX连接需要身份验证。

目标:

我想做的是将Jolokia文件部署到Tomcat服务器上,然后对其进行配置,以便从其他web应用程序中读取MBean属性。

我将使用Python3和请求 HTTP库自己编写客户端代码。

我一直在阅读Jolokia文档(同样,我现在是一个完全的新手),但我不知道这是否可能(因为我似乎找不到输入JMX/RMI url或身份验证信息的位置)。

问题:

  1. 我能用战争特工来完成这个设置吗?
  2. 如果没有,请你解释为什么(这样我就能理解,而不是因为我不相信你)。另外,还有更适合这种情况的代理吗?
  3. 如果是的话,你能指出正确的方向如何配置Jolokia到要连接的web应用程序?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-18 08:35:23

首先,Jolokia完全通过了JSR-160连接器,因此不需要任何JMX/RMI身份验证。Jolokia的全部目的是在HTTP/JSON之上为内部JMX子系统提供一个桥梁。取决于代理,您可以很容易地保护Jolokia。对于WAR代理,安全与任何Java应用程序相同:为tomcat设置一些角色和用户(例如,在tomcat-users.xml中),并在jolokia.war/WEB-INF/web.xml中引用安全控制中的角色。

对你的问题:

  1. 可以,停那儿吧。如果您没有任何特定的身份验证需求,只需将jolokia.war放到tomcat的/webapps目录中即可。我建议在增加安全性之前先尝试一下。要卸载代理,只需删除war即可。
  2. 作为替代,您还可以使用JVM代理,它在额外的端口上打开自己的HTTP服务器(默认值: 8778)。在参考手册中有更多关于这一点的信息。
  3. 由于MBeans是全局注册的,并且可以从JVM的任何地方访问,所以不需要专门连接到web应用程序。当然,webapp应用程序应该仔细选择它所公开的管理信息。因此,不需要额外的步骤,您可以直接访问WEB应用程序的MBeans (除非它在Java方面做了一些不寻常的事情,但我不这么认为)。

要测试安装,只需使用浏览器和上下文/jolokia (例如"http://localhost:8080/jolokia")连接到Tomcat。您应该会看到有关代理本身的版本信息。

下一步将是探索JMX名称空间,要么使用浏览器(以及像http://localhost:8080/jolokia/list那样操作"list“,但这很繁琐),要么使用像j4pshhawt.io这样的客户机。希望您能找到您正在寻找的for应用程序的MBeans。

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

https://stackoverflow.com/questions/29116942

复制
相关文章

相似问题

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