Я только начал использовать JMX для мониторинга activemq, я включил удаленный мониторинг. Теперь вопрос: как разрешить только локальному хосту доступ к JMX API? Или есть способ использовать JMX API без включения удаленного мониторинга.
Как ограничить доступ к JMX API ActiveMQ только для локального хоста/интрасета?
Ответы (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