JMX 経由で Puppet サーバーを監視するように Zabbix を構成する方法を教えてください。

JMX 経由で Puppet サーバーを監視するように Zabbix を構成する方法を教えてください。

Zabbix では、JMX 経由でメトリックを監視できます。

Puppet サーバーはhttps://puppetserver:8140/metrics/v2、証明書に独自の CA を使用して、jolokia 経由で JMX メトリックを提供します。

私は、DNS 名とポート 8140 の JMX インターフェースを使用して、Puppetserver ホストを Zabbix で構成しました。

このホストにZabbix監視アイテムをタイプとして設定しましたJMX Agent。キーはjmx["puppetserver:name=puppetlabs.{HOST.DNS}.jruby.num-free-jrubies",Value]

ただし、クエリではデータが見つからず、ホストのエージェント インジケーターは灰色のままです。

ホスト間の接続は確実に確立されており、Zabbix ホストからポートに接続できます。Puppetserver にはカスタム認証構成がないため、この属性への匿名読み取りアクセスがあり、ホスト上の別のスクリプトで確認しました。

問題は証明書 CA が原因でしょうか、それとも https を使用していることが原因でしょうか、それとも特定のエンドポイントが原因でしょうか、それとも他の何らかの理由でしょうか?

JMX 経由で Puppetserver メトリックを監視するように Zabbix を構成するにはどうすればよいでしょうか。それとも不可能でしょうか。

答え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」が違いを生み出しました。これがないと、zabbix で jmx が RED のままになります。これは安全ではないことはわかっていますが、まずは...

関連情報