0

我正在使用 AppDynamics 的 ActiveMQ 扩展。这是很好的开始。使用 JMXRemote(在 artemis.profile 中启用)就可以了。但是,我想要它来自本地主机。默认情况下,为 AMQ 的 localhost 启用 JMX。AMQ 管理控制台在内部使用 jmx,它在没有启用 JMXRemote 的情况下工作。jolokia 在内部使用什么服务 URL 来使用来自 localhost 的 JMX 进行连接?我尝试使用以下网址:

serviceUrl: "服务:jmx:rmi:///jndi/rmi://:1099/jmxrmi"

4

1 回答 1

0

第一步是在 etc/users.properties 文件中添加用户名和密码。在大多数情况下,可以只使用开箱即用的默认设置。为此,只需取消注释以下行:

admin=admin,admin,manager,viewer,Operator, Maintainer, Deployer, Auditor, Administrator, SuperUser

然后,您必须通过将 BrokeViewMBean 添加到白名单 ACL 配置来绕过对 BrokeViewMBean 的凭据检查。您可以通过替换此行来做到这一点:

org.apache.activemq.Broker;getBrokerVersion=bypass

有了这个:

org.apache.activemq.Broker=bypass

除了是正确的方法之外,它还可以通过更改代理 etc 目录中的文件 org.apache.karaf.management.cfg 来启用几个不同的配置选项(例如:端口、监听地址等)。

请记住,在这种情况下,JMX 访问是通过不同的 JMX 连接器根进行的:它使用karaf-root而不是jmxrmi之前在旧方法中使用的。它还默认使用端口 1099,而不是 1616。

因此,uri应该是

service:jmx:rmi:///jndi/rmi://<host>:<port>/karaf-root
于 2018-05-10T10:22:05.167 回答