Jak połączyć się z instancjami Java działającymi na EC2 przy użyciu JMX

Mamy problem z połączeniem z naszymi aplikacjami Java działającymi w klastrze Amazon EC2. Z pewnością zezwoliliśmy zarówno na „port JMX” (który jest zwykle portem rejestru RMI)i port serwera (który wykonuje większość pracy) do grupy zabezpieczeń dla omawianych instancji. Jconsole łączy się, ale wydaje się zawiesić i nigdy nie wyświetla żadnych informacji.

Używamy naszej Java z następującymi elementami:

java -server -jar foo.jar other parameters here > java.log 2>&1

Próbowaliśmy:

Telnety do portówpołączyć ale żadne informacje nie są wyświetlane.Możemy biegaćjconsole na samej instancji za pomocą remote-X11 na ssh i łączy i pokazuje informacje. Więc JREjest eksportować lokalnie.Otwieranie wszystkich portów w grupie zabezpieczeń. Weeee.Za pomocątcpdump aby upewnić się, że ruch nie trafia do innych portów.Symulowanie go lokalnie. Zawsze możemy połączyć się z naszymi lokalnymi JRE lub tymi działającymi w innym miejscu w naszej sieci, używając tych samych parametrów aplikacji.

java -version wyjścia:

OpenJDK Runtime Environment (IcedTea6 1.11.5) (amazon-53.1.11.5.47.amzn1-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

Na marginesie używamy mojegoProsty JMX pakiet, który pozwala nam ustawićobie rejestr RMI i porty serwerów, które są zazwyczaj wybierane losowo przez rejestr RMI. Możesz także wymusić to za pomocą następującego URI JMX:

service:jmx:rmi://localhost:" + serverPort + "/jndi/rmi://:" + registryPort + "/jmxrmi"

Obecnie używamy tego samego portu zarówno dla serwera, jak i rejestru. W przeszłości używaliśmyX jako port rejestru iX+1 aby port serwera sprawił, że reguły grupy zabezpieczeń będą łatwe. Połącz się z portem rejestru wjconsole lub jakikolwiek klient JMX, którego używasz.

questionAnswers(4)

yourAnswerToTheQuestion