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

StackOverflow https://stackoverflow.com/questions/1495882

  •  18-09-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Потратив несколько часов на поиск решения в 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 будет доступен только с вашего локального компьютера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top