我正尝试使用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]
) 才能使其正常工作?