Jconsole для мониторинга jvm в контейнере Docker: соединение отказано - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь отслеживать приложение Springboot, работающее в контейнере Docker Windows.

Обзор :

В основном я запускаю приложение с включенным SSL (используяХранилище ключей типа JKS) и отображение приложения на порте 8081. Netscaler настроен на прослушивание порта 8081 на этом хосте докера, и приложение доступно через https://ournetscalerurl/myapp.

. У меня есть окно настройки, как показано ниже.

 version: '2'

    services:

      myapp-web-backend:
        image: privaterepo/myapp-web-backend--ssl:1.0.0
        environment:
          SPRING_PROFILES_ACTIVE: ${spring_profile}
          DB_IP: ${db_ip}
          DB_PORT: ${db_port}
          DB_NAME: dash
          DB_USER: ${db_user}
          DB_PASS: ${db_pass}
          myapp_NAS: 'P:'
          PROXY_HOST: proxy
          PROXY_PORT: 8080
          PROXY_USER: svc-app
          PROXY_PASS: password
        ports:
          - "8081:8080/tcp"
          - "9999:9999/tcp"
        stdin_open: tr

Моя команда:
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}

Дополнительные аргументы JVM для включения мониторинга JVM также предоставляются вместе с вышеуказанной командой.

-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 

Приложение запущено и работает.Теперь я пытаюсь получить доступ через jconsole в формате hostname: port и получаю сообщение об ошибке, как показано на снимке экрана ниже.
Моя команда Jconsole была dockerhostIP Jconsole: 9999

JConsole error

Я следовал этому https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html#jconsole_remote

Пожалуйста, дайте мне знать, что идет не так.Существуют ли какие-либо дополнительные параметры, необходимые для мониторинга приложения с поддержкой SSL через jconsole.

Спасибо.

...