2009-09-30 2 views
0

Я только что начал использовать JMX для мониторинга activemq, я включил дистанционный мониторинг. Теперь возникает вопрос: как разрешить доступ только к localhost для JMX API? Или есть способ, которым я могу использовать JMX API, не позволяя удаленный мониторинг.Как ограничить доступ к JMX API ActiveMQ только локальным хостом/интрасети?

ответ

6

После того, как я провел несколько часов своего времени в поисках решения, я столкнулся с этой статьей https://wiki.internet2.edu/confluence/display/CPD/Monitoring+Tomcat+with+JMX, в которой показано, как настроить JMX для tomcat и как открыть JMX над rmi. Параметр «-Djava.rmi.server.hostname = test-idc.internet2.edu» указывает имя хоста, на котором работает tomcat. Если вы не укажете имя хоста, тогда попытка подключения с удаленного компьютера вернет «Ошибка подключения».

Все, что вам нужно сделать, это установить свойство -Djava.rmi.server.hostname = локальный в вашем ActiveMQ сценарии запуска

if [ -z "$SUNJMX" ] ; then 
    #SUNJMX="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" 
    SUNJMX="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=localhost" 
fi 

Thats это ... перезапускать ActiveMQ и у вас есть JMX доступны только вашей локальной машине.

Смежные вопросы