如何配置 Zabbix 通过 JMX 监控 Puppet Server?

如何配置 Zabbix 通过 JMX 监控 Puppet Server?

Zabbix 允许通过 JMX 监控指标。

Puppet 服务器通过 jolokia 提供 JMX 指标https://puppetserver:8140/metrics/v2,并使用自己的 CA 作为证书。

我在 Zabbix 中配置了我的 Puppetserver 主机,其 DNS 名称和端口 8140 上的 JMX 接口。

我已经为该主机配置了一个 Zabbix 监控项,类型为JMX Agent,键为jmx["puppetserver:name=puppetlabs.{HOST.DNS}.jruby.num-free-jrubies",Value]

但是,查询从未找到任何数据并且主机的代理指示器仍然为灰色。

主机之间肯定存在连接,我可以从 Zabbix 主机连接到端口。Puppetserver 上没有自定义身份验证配置,因此可以匿名读取此属性,我已通过主机上的单独脚本对此进行了验证。

问题是由于证书 CA 引起的,还是因为它使用了 https,还是由于特定的端点,或者是其他原因?

如何配置 Zabbix 以通过 JMX 监控 Puppetserver 指标,或者这是否不可能?

答案1

通过在 /etc/default/puppetserver 中添加以下内容,成功实现此操作(zabbix/jxm/puppetserver):

-Djava.net.preferIPv4Stack=true
-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=12345 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false

'preferIPv4Stack' 造成了差异,没有它,jmx 在 zabbix 中保持红色!我知道这不安全,但要开始……

相关内容