Как ограничить доступ к JMX API ActiveMQ только для локального хоста/интрасета?

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


person Sudheer    schedule 30.09.2009    source источник


Ответы (1)


Потратив несколько часов на поиск решения в Google, я наткнулся на эту статью 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=localhost в сценарии запуска 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

Вот и все... перезапустите activemq, и вы получите jmx, доступный только с вашего локального компьютера.

person Sudheer    schedule 01.10.2009