Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 docker java jmx  [new]
hurryup
Member

Откуда:
Сообщений: 10
Добрый день.

У кого-то получилось запустить мониторинг java jmx в докере?
Запускаю java так :

java -Dsun.management.jmxremote.level=FINEST \
 -Dsun.management.jmxremote.handlers=java.util.logging.ConsoleHandler \
 -Djava.util.logging.ConsoleHandler.level=FINEST \
 -Dcom.sun.management.jmxremote.local.only=false \
 -Dcom.sun.management.jmxremote.ssl=false \
 -Dcom.sun.management.jmxremote.authenticate=false \
 -Dcom.sun.management.jmxremote.port=5566 \
 -Dcom.sun.management.jmxremote.rmi.port=5566 \
 -Dcom.sun.management.jmxremote.host=0.0.0.0 \
 -Djava.rmi.server.hostname=0.0.0.0 \
 -jar /app/app.war


Порт 5566 expose есть и publish

Не подключается jconsole

Смотрю tcpdump там есть такой кусок
03:31:56.587234 IP myip.52557 > 172.17.0.2.5566: Flags [P.], seq 222:229, ack 2, win 2058, options [nop,nop,TS val 779564309 ecr 1004735435], length 7
03:31:56.587235 IP myip.52557 > 172.17.0.2.5566: Flags [P.], seq 222:229, ack 2, win 2058, options [nop,nop,TS val 779564309 ecr 1004735435], length 7
03:31:56.587310 IP 172.17.0.2.5566 > myip.52557: Flags [R], seq 1630123487, win 0, length 0
03:31:56.587312 IP 172.17.0.2.5566 > myip.52557: Flags [R], seq 1630123487, win 0, length 0


Почему-то обратно RESET получаю. Ну и консоль не подключается.
31 янв 19, 11:34    [21798565]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
hurryup, самый просто способ - это коннектится из другого докер контейнера из той же сети. По хорошему, надо expose`ить порты наружу, чтобы к ним подключаться.
31 янв 19, 11:40    [21798572]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
hurryup, а логи что-нить отображают по поводу того, что
автор
JMX Connector ready at
?
31 янв 19, 11:52    [21798584]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
hurryup
Member

Откуда:
Сообщений: 10
Озверин, Спасибо за ответ.

Нет что-то ничего не вижу по JMX Connector ready at, но у меня есть JMX без docker, и там все работает а этого сообщения там тоже нет.

А из другого контейнера как удаленный мониторинг прикрутить ?
31 янв 19, 12:42    [21798674]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
hurryup, я хз, если честно. Не использовал докеризацию gui приложений.
Тут что-то похожее есть: https://medium.com/@learnwell/how-to-dockerize-a-java-gui-application-bce560abf62a

Но в вашем случае, надо изучать проблему. Логи же подключения есть? Что не удалось? Какая ошибка?
31 янв 19, 14:09    [21798786]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
Попробуйте отсюда заказать, запустить и проверить, работает ли из коробки: https://github.com/cstroe/java-jmx-in-docker-sample-app
31 янв 19, 14:12    [21798789]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
hurryup
Member

Откуда:
Сообщений: 10
Озверин,

Пробовал эту штуку , не работает у меня. Не работает с тем же самым симптомом.
в логах ничего не вижу. я не знаю можно ли как-то для jmx включить дебаг. А tcpdump показывается что какое-то общение по порту 5566 начинается , но потом идет два пакета RESET и у меня появляется диалоговое окно что связь установить не удалось.


Ok. спасибо, попробую дальше разбираться.
31 янв 19, 14:57    [21798849]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 4785
hurryup, запустите jconsole -debug для начала, посмотрите полный лог ошибки.
31 янв 19, 15:07    [21798861]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
hurryup
Member

Откуда:
Сообщений: 10
Озверин,

```java.rmi.ConnectException: Connection refused to host: 0.0.0.0; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:130)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
at com.sun.proxy.$Proxy0.newClient(Unknown Source)
at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2432)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:308)
at sun.tools.jconsole.ProxyClient.tryConnect(ProxyClient.java:355)
at sun.tools.jconsole.ProxyClient.connect(ProxyClient.java:313)
at sun.tools.jconsole.VMPanel$2.run(VMPanel.java:294)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:204)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 11 more
```
Странно, оно пытается коннектится на 0.0.0.0 ?

Сейчас заработало когда я указал
-Djava.rmi.server.hostname=[external server ip]

Только это не подойдет в случае докера, деплоить будет неудобно если внутрь контейнера надо передавать ip железного сервера.
31 янв 19, 17:47    [21799050]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 7387
А что такое 0.0.0.0 ?

У localhost вроде другой адрес.
31 янв 19, 18:16    [21799074]     Ответить | Цитировать Сообщить модератору
 Re: docker java jmx  [new]
mayton
Member

Откуда: loopback
Сообщений: 38770
Пора поднимать форум девопсов.
31 янв 19, 18:18    [21799076]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить