SpringBoot、JConsole 和 Zabbix

SpringBoot、JConsole 和 Zabbix

我正在尝试使用 JMX 和 Zabbix 对我的 SpringBoot 应用程序进行某种监控。我已将其添加到我的应用程序

-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

当我尝试使用服务 URL service:jmx:rmi:///jndi/rmi://hostIP:64355/jmxrmi 运行 Zabbix jmx 代理时出现错误

non-jrmp server at remote endpoint

在 zabbix_java_gateway.log 中

如果我设置 hostIP:64355 我有

 Service URL must start with service:jmx:

当我尝试从 JConsole 连接时,我遇到了与 Zabbix 中相同的服务:jmx:rmi:///jndi/rmi://hostIP:64355/jmxrmi 错误,但当我将 hostIP:64355 放入“远程进程”字段时,一切正常

答案1

Zabbix 无法通过 TLS 处理 RMI 注册表。设置-Dcom.sun.management.jmxremote.registry.ssl=false-Dcom.sun.management.jmxremote.ssl=true应使用当前版本的 Zabbix 获得尽可能多的加密。

相关内容