本地(非TCP)连接的JMX服务URL是什么?

5
我正尝试使用collectd连接运行在同一台机器上的JVM进程。如果JVM启用了远程JMX访问,则可以通过ServiceURL配置GenericJMX collectd插件,这很好。但是,是否可以在未启用远程JMX访问的情况下实现这一点呢? 这篇详细的回答解释了(自Java 6以来),即使未使用-Dcom.sun.management.jmxremote启动JVM,仍然可以通过“在/tmp/hsperfdata_[user]中找到的内存映射文件”公开JMX访问。这就是JConsole访问的方式。但我能否让collectd使用此连接方法?是否有本地JMX服务URL?还是说我必须启用RMI注册表端口 (-Dcom.sun.management.jmxremote.port=[rmiregistryport]) 才能使其正常工作?
1个回答

2
请查看我的jmxlocal GitHub。它提供了JMX远程实现,以便与同一主机上的in-vm MBeanServers和JVMs进行透明连接。
示例:
- 连接到默认的in-vm MBeanServer:service:jmx:local:/// - 使用域名连接到不同的in-vm MBeanServer:service:jmx:local:///jboss - 通过pid连接到本地JVM:service:jmx:attach://23474 - 通过显示名称正则表达式连接到本地JVM:service:jmx:attach:///[GroovyStarter.*]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接