SpringBoot, JConsole und Zabbix

SpringBoot, JConsole und Zabbix

Ich versuche, meine SpringBoot-App mit JMX und Zabbix zu überwachen. Ich habe meiner App hinzugefügt

-Dcom.sun.management.jmxremote.password.file= path to jmx.password
-Dcom.sun.management.jmxremote.access.file=path to jmx.access
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=host ip
-Dcom.sun.management.jmxremote.port=64355
-Dcom.sun.management.jmxremote.rmi.port=64355
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=true
-Dcom.sun.management.jmxremote.ssl.need.client.auth=true
-Dcom.sun.management.jmxremote.registry.ssl=true
-Djavax.net.ssl.keyStore="path to keystore"
-Djavax.net.ssl.keyStorePassword=keystore password
-Djavax.net.ssl.trustStore="path to truststore"
-Djavax.net.ssl.trustStorePassword=truststore password

Wenn ich versuche, den Zabbix jmx-Agenten mit der Service-URL service:jmx:rmi:///jndi/rmi://hostIP:64355/jmxrmi auszuführen, tritt ein Fehler auf

non-jrmp server at remote endpoint

in zabbix_java_gateway.log

Wenn ich hostIP:64355 einstelle, habe ich

 Service URL must start with service:jmx:

Wenn ich versuche, eine Verbindung von JConsole herzustellen, erhalte ich den gleichen Fehler mit service:jmx:rmi:///jndi/rmi://hostIP:64355/jmxrmi wie in Zabbix, aber wenn ich hostIP:64355 in das Feld „Remote Process“ eingebe, ist alles in Ordnung

Antwort1

Zabbix kann das RMI-Register nicht über TLS verarbeiten. Die Einstellung -Dcom.sun.management.jmxremote.registry.ssl=falsesollte -Dcom.sun.management.jmxremote.ssl=truemit den aktuellen Versionen von Zabbix die größtmögliche Verschlüsselung erreichen.

verwandte Informationen