我正在尝试监视在Windows docker容器中运行的springboot应用程序。
概述:
基本上,我正在启用SSL的情况下运行应用程序(使用JKS类型的密钥库),并将应用程序暴露在端口8081上。Netscaler配置为侦听此Docker主机上的端口8081,可通过https://ournetscalerurl/myapp访问该应用程序
我的docker组成如下。
java -Xms256m -Xmx1024m -jar C:\$env:ARCH_NAME-$env:RELEASE.jar --security.require-ssl=true --server.port=${SERVER_PORT} --server.ssl.key-store=${SERVER_SSL_KEY_STORE} --server.ssl.key-store-password=${SERVER_KEYSTORE_PASSWORD} --server.ssl.key-store-type=${SERVER_SSL_KEY_STORE_TYPE} --server.ssl.key-password=${SSL_KEY_PASSWORD}
我的命令是
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.rmi.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.ssl.need.client.auth=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=dockerhostIP
-Dcom.sun.management.jmxremote.local.only=false
上面的命令还提供了用于启用JVM监视的其他JVM参数。
{{1}}
应用程序已启动并正在运行。现在,我试图通过jconsole以hostname:port格式进行访问,并出现错误,如下面的屏幕快照所示。
我的Jconsole命令是Jconsole dockerhostIP:9999
我遵循了这个https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html#jconsole_remote
请让我知道怎么了。通过jconsole监视启用SSL的应用程序是否需要其他参数。
谢谢。