Назад | Перейти на главную страницу

Подключение jconsole с помощью SOCKS к Amazon EC2

Я пытаюсь использовать jconsole для просмотра статистики на экземпляре EC2, используя прокси-сервер socks, созданный SSH. Я пробовал различные сценарии, упомянутые в приведенных ниже ссылках, но безрезультатно:

http://simplygenius.com/2010/08/jconsole-via-socks-ssh-tunnel.html

http://gabrielcain.com/blog/2010/11/02/using-ssh-proxying-to-connect-jconsole-to-remote-cassandra-instances/

я бегу ssh -f -ND 8123 myuser@mymachine и проверил, что по крайней мере Firefox проходит через него как прокси.

Я тогда бегу

jconsole -J-DsocksProxyHost=localhost -J-DsocksProxyPort=8123 service:jmx:rmi:///jndi/rmi://ec2-XX-XX-XXX-XXX.compute-1.amazonaws.com:8080/jmxrmi

Я запускаю netstat -n в своем экземпляре EC2 и вижу соединение, созданное моей машиной. Однако соединение в конечном итоге пропадает, и я получаю сообщение «канал 2: сбой открытия: сбой подключения: истекло время операции» из моего туннеля ssh.

Я открыл порт jmx через группу безопасности и проверил порт на экземпляре EC2, чтобы убедиться, что он открыт (подключившись к нему по Telnet).

Я не уверен, где искать дальше. Есть ли какие-то свойства в sshd_config или ssh_config, которые мне нужно включить для туннелирования? Или что-нибудь в Mac OS X?

Я чувствую себя серьезным новичком, но системное администрирование - не моя сильная сторона. Я провел несколько часов и не могу заставить это работать.

На своем узле Cassandra (v0.8.5) найдите следующие строки в $CASSANDRA_HOME/bin/conf/cassandra-env.sh:

# add this if you're having trouble connecting:
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"

Убедитесь, что вторая строка не прокомментирована и установлена ​​на публичное DNS-имя вашего экземпляра ec2.