ƘɌỈ*_*ƬƠƑ 1 python java tomcat jmx jolokia
Jolokia对我来说是一个未知的领域,在阅读完文档之后,我仍然不确定它是否适用于我想到的场景.
建立:
可能的问题:
jmxrmi端点.目标:
我想要做的是将Jolokia WAR文件部署到Tomcat服务器上,然后对其进行配置,以便我可以从其他Web应用程序中读取MBean属性.
我会使用Python(版本3)和Requests HTTP库自己编写客户端代码.
我一直在阅读Jolokia文档(再次,我现在是一个完整的新手),但无法弄清楚这是否可行(因为我似乎无法找到进入JMX的位置)/RMI url或身份验证信息).
问题:
首先,Jolokia完全传递了JSR-160连接器,因此不需要任何JMX/RMI身份验证.Jolokia的整个目的是为内部 JMX子系统提供HTTP/JSON桥接.根据代理,您可以非常轻松地保护Jolokia.对于WAR代理,安全性与任何Java EE Web应用程序相同:为tomcat设置一些角色和用户(例如,在tomcat-users.xml)中,并在jolokia.wars 中的安全约束中引用该角色/WEB-INF/web.xml.
对你的问题:
是的你可以.如果您没有任何特定的身份验证需求,只需将jolokia.war放入tomcat的/webapps目录即可.我建议在添加安全性之前先尝试这个.要卸载代理,只需删除战争即可.
作为替代方案,您还可以使用JVM代理,该代理在额外端口上打开自己的HTTP服务器(默认值:8778).有关详细信息,请参阅参考手册
不需要与Web应用程序的专用连接,因为MBean是全局注册的,并且可以从JVM中的任何位置访问.Webapp当然应该仔细选择它所公开的管理信息.因此,不需要额外的步骤,您可以直接访问WEB应用程序的MBean(除非它在Java安全性方面做了一些不寻常的事情,但我不这么认为).
要测试安装,只需使用浏览器和上下文连接到Tomcat /jolokia(例如" http:// localhost:8080/jolokia ").您应该看到有关代理本身的版本信息.
下一步是探索JMX命名空间,使用浏览器(和http:// localhost:8080/jolokia/list中的操作"列表" ,但这很繁琐)或者使用像j4psh或hawt.io这样的客户端.希望您能找到您正在寻找的webapp的MBean.