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 서비스: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에서와 마찬가지로 service:jmx:rmi:///jndi/rmi://hostIP:64355/jmxrmi와 동일한 오류가 발생하지만 "원격 프로세스" 필드에 호스트 IP:64355를 입력했습니다. , 다 괜찮아

답변1

Zabbix는 TLS를 통해 RMI 레지스트리를 처리할 수 없습니다. 현재 버전의 Zabbix에서 가능한 최대량의 암호화를 설정 -Dcom.sun.management.jmxremote.registry.ssl=false해야 합니다.-Dcom.sun.management.jmxremote.ssl=true

관련 정보