0

我需要使用 JMX 插件收集数据。我想使用相同的指标名称,但从单个主机上的不同 JMX 端口收集数据。但是,我需要一种方法来区分 JMX 从哪个进程收集这些数据。在我的连接中,我指定了以下连接块(配置了不同的端口)。有没有办法配置 JMX 以打印出端口或其他一些独特的信息来告诉我它从哪里收集内存池数据?为每个使用不同的 Mbean 不是一种选择。我想使用某种形式的标记,以便进程 ID 或端口号作为来自 Collectd 的标记发送出去。提前感谢您的时间

<Connection>
      Host "localhost"
      ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi"
      Collect "memory_pool"
    </Connection>

<Connection>
      Host "localhost"
      ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:9095/jmxrmi"
      Collect "memory_pool"
    </Connection>
4

1 回答 1

0

从插件的 5.0 版开始,您可以将 InstancePrefix 部分放入 Connection 块中

<Connection>
        Host "localhost"
        ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi"
        Collect "memory_pool"
        InstancePrefix "port17264"
</Connection>

在连接块部分下详细说明:https ://collectd.org/wiki/index.php/Plugin:GenericJMX

于 2016-07-12T01:31:43.663 回答