我正在尝试使用colectd连接到运行在同一台机器上的JVM进程。GenericJMX colectd插件是通过ServiceURL配置的,如果JVM启用了远程JMX访问,这一切都很好。但是,如果不启用远程JMX访问,是否可以做到这一点?
这个详细的答案解释了(从Java6开始)即使JVM不是以-Dcom.sun.management. jmxRemote
开始的,仍然通过"在/tmp/hsperfdata_[user]
中找到的内存映射文件"公开JMX访问。这就是JConsole访问的工作方式。但是我可以让Collectd使用这种连接方法吗?有没有“本地”JMX服务URL之类的东西?或者我必须启用一个RMI注册表端口(Dcom.sun.management.jmxRemote.port=[rmicheckstryport])才能工作?
看看我的jmxlocal GitHub。它提供JMX远程处理实现以透明地连接到同一主机上的in-vm MBeanServers和JVM。
例子: