Estou tentando obter algum tipo de monitoramento do meu aplicativo SpringBoot com JMX e Zabbix. Eu adicionei ao meu aplicativo
-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
Quando tento executar o agente Zabbix jmx com URL de serviço service:jmx:rmi:///jndi/rmi://hostIP:64355/jmxrmi, tenho um erro
non-jrmp server at remote endpoint
em zabbix_java_gateway.log
Se eu definir hostIP:64355 eu tenho
Service URL must start with service:jmx:
Quando tento me conectar do JConsole, tenho o mesmo erro com service:jmx:rmi:///jndi/rmi://hostIP:64355/jmxrmi como no Zabbix, mas onde coloco hostIP:64355 no campo "Processo Remoto" , está tudo bem
Responder1
O Zabbix não é capaz de lidar com o registro RMI por TLS. A configuração -Dcom.sun.management.jmxremote.registry.ssl=false
e -Dcom.sun.management.jmxremote.ssl=true
deve obter a maior quantidade de criptografia possível com as versões atuais do Zabbix.