Wie konfiguriere ich Zabbix, um Puppet Server über JMX zu überwachen?

Wie konfiguriere ich Zabbix, um Puppet Server über JMX zu überwachen?

Zabbix ermöglicht die Überwachung von Metriken über JMX.

Der Puppet-Server stellt JMX-Metriken über Jolokia bereit https://puppetserver:8140/metrics/v2und verwendet dabei seine eigene CA für das Zertifikat.

Ich habe meinen Puppetserver-Host in Zabbix mit einem DNS-Namen und einer JMX-Schnittstelle auf Port 8140 konfiguriert.

Ich habe für diesen Host ein Zabbix-Überwachungselement vom Typ JMX Agentmit dem Schlüssel konfiguriertjmx["puppetserver:name=puppetlabs.{HOST.DNS}.jruby.num-free-jrubies",Value]

Die Abfrage findet jedoch nie Daten und der Agentenindikator für den Host ist immer noch grau.

Es besteht definitiv eine Verbindung zwischen den Hosts, und ich kann mich vom Zabbix-Host aus mit dem Port verbinden. Auf dem Puppetserver gibt es keine benutzerdefinierte Authentifizierungskonfiguration, daher besteht anonymer Lesezugriff auf dieses Attribut, was ich durch ein separates Skript auf dem Host überprüft habe.

Liegt das Problem an der Zertifikatszertifizierungsstelle, an der Verwendung von https, am jeweiligen Endpunkt oder an einem anderen Grund?

Wie konfiguriere ich Zabbix, um die Puppetserver-Metriken über JMX zu überwachen, oder ist das unmöglich?

Antwort1

habe es geschafft, dies zum Laufen zu bringen (zabbix/jxm/puppetserver), indem ich Folgendes zu /etc/default/puppetserver hinzugefügt habe:

-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

Der „preferIPv4Stack“ hat den Unterschied gemacht, ohne ihn bleibt der JMX in Zabbix ROT! Ich weiß, dass das nicht sicher ist, aber um anzufangen …

verwandte Informationen