Zabbix 允許透過 JMX 監控指標。
Puppet 伺服器透過 jolokia 提供 JMX 指標https://puppetserver:8140/metrics/v2
,使用自己的 CA 憑證。
我在 Zabbix 中設定了 Puppetserver 主機,並在連接埠 8140 上設定了 DNS 名稱和 JMX 介面。
我已經為此主機配置了一個 Zabbix 監控項,類型為JMX Agent
,帶有 Keyjmx["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 中將保持紅色!我知道這不安全,但首先......