Статьи

HawtIO + ActiveMQ

У вас уже был шанс взглянуть на  HawtIO  ? Если нет, то это новая веб-панель для управления и мониторинга сервисов на основе JVM, таких как  Apache ActiveMQApache CamelJBossInfinispanApache Tomcat  и  многих других!  На самом деле, это не только для мониторинга, но вы можете редактировать, отлаживать, профилировать маршруты Camel и использовать его в качестве основы облачной интеграционной платформы (iPaaS) в качестве демонстраций Джеймса Страчана в этом видео:  Представляем открытый исходный код на основе Apache Camel iPaaS . Само собой разумеется, это боярышник :)

На этом фоне давайте сосредоточимся на использовании HawtIO специально с ActiveMQ.

В прошлом я  писал в блоге  о подключении  HawtIO  к автономной версии ActiveMQ — и если вы заинтересованы в совместном использовании консоли управления со встроенной пристанью, поставляемой с ActiveMQ, это круто, и вы должны это проверить. Тем не менее, в этом блоге мы рассмотрим еще пару вещей:

  • HawtIO с ActiveMQ 5.9
  • Подключение к удаленному ActiveMQ (старше 5.9.0)
  • Подключение к JVM на вашем локальном компьютере с HawtIO

Следующая версия Apache ActiveMQ

ActiveMQ 5.9.0 будет (надеюсь) будет выпущен некоторое время этой осенью 2013. Я думаю , поскольку это проект с открытым исходным кодом, это зависит от того, когда у нас есть время для работы на нем  :) Но среди многих новых интересных функций  , которые я планирую говорить Примерно в сентябре на выставке Phoenix JUG одна из самых сексуальных заменяет существующую веб- консоль ActiveMQ на  HawtIO ! Правильно … старая, устаревшая, веб-консоль (ниже) становится вытесненной!

Так почему бы нам немного не намочить руки и не поиграть с  ночной сборкой ? Вы можете посмотреть и получить последнюю версию 5.9-SNAPSHOT. Распакуйте его и запустите ActiveMQ:

$ACTIVEMQ_HOME/bin/activemq console

С загруженной конфигурацией по умолчанию вы должны быть в состоянии перейти по  адресу http: // localhost: 8161 / admin, чтобы увидеть старую консоль администратора (если она запрашивает пароль, «admin» «admin» — это имя пользователя и пароль по умолчанию) :

Старая веб-консоль

КСТАТИ! Фотографии маленькие, я знаю. Нажмите на любой из них, чтобы увидеть в натуральную величину!

Если вы использовали эту веб-консоль в прошлом, вы будете знать, что она дает вам представление о брокере с точки зрения мест назначения, некоторых основных характеристик, подключений и некоторой ограниченной видимости сетевых подключений. Вы также можете создавать очереди и темы:

Создать очередь

Но теперь, если вы перейдете по  адресу http: // localhost: 8161 / hawtio , вы должны увидеть панель инструментов hawtio:

Панель инструментов HawtIO

При первом обращении вы увидите, что HawtIO — это гораздо больше, чем  просто  панель управления ActiveMQ. У него есть плагины для всех видов технологий , и им можно управлять из одного места.

В самом верху пользовательского интерфейса вы увидите вкладку «ActiveMQ». Здесь отображаются вкладки, которые были автоматически обнаружены. Это имеет смысл, поскольку это развертывание HawtIO связано с ActiveMQ. Если вы нажмете на вкладку, вы увидите немного больше информации о брокере:

ActiveMQ Dash

Слева от главного экрана находится дерево, содержащее MJB-компоненты JMX, связанные с этим брокером. На мой взгляд, это довольно мощно: в старой консоли такого браузера MBean не было. MBeans — это ваше окно в то, что делает брокер, предоставляя вам статистику о назначениях, подписках и общем состоянии брокера, использовании ресурсов, сведениях о конфигурации и т. Д.

Есть также некоторые визуальные признаки здоровья брокера (зеленый == хорошо!… Память, ограничения магазина, постановка в очередь / изъятия):

Графики ActiveMQ

У вас также есть доступ к «операциям», которые обычно скрываются под определенными MBean-компонентами, но HawtIO выводит наиболее часто используемые на первый план:

ActiveMQ Операции

А в будущем будут диаграммы о кластерах и топологиях брокеров и, возможно, обновления статистики в реальном времени в диаграммах с обзорами работоспособности. Довольно классная штука!

Подключайтесь удаленно!

HawtIO — это просто веб-приложение, развернутое в контейнере сервлетов в качестве WAR. Таким образом, вы можете развернуть его в Tomcat, JBoss или любом другом контейнере сервлетов. Что произойдет, если вы захотите это сделать, но подключитесь к экземплярам ActiveMQ, развернутым извне? Ну, тебе повезло.

Вы заметите, что на верхней панели экрана HawtIO есть вкладка «Подключение». Нажав на нее, вы можете ввести информацию о хосте / порте / пути и подключиться. HawtIO ожидает подключения к агенту jolokia, поэтому вам нужно убедиться, что служба, к которой вы подключаетесь, поддерживает  доступ Jolokia . В случае ActiveMQ 5.9 jolokia по умолчанию выставляется здесь: http: // localhost: 8161 / hawtio / jolokia

Заполните вашу форму следующим образом:

HawtIO подключить удаленный ActiveMQ 5.9

После нажатия «Подключиться к удаленному серверу» вы должны подключиться и получить новую вкладку / окно браузера (обратите внимание, что в некоторых версиях HawtIO вам может быть предложено диалоговое окно аутентификации), и в этом новом окне браузера теперь будет ActiveMQ Вкладка и доступ к удаленному ActiveMQ:

HawtIO подключить удаленный ActiveMQ 5.9

Как насчет старых версий ActiveMQ?

Так что это хорошо, если вы используете ActiveMQ 5.9, для которого Jolokia настроена для использования сразу после установки, но что если вы используете предыдущую версию ActiveMQ (5.8.0 или 5.7.0)?

Ну, на самом деле Jolokia была включена в версию 5.8.0. Но для 5.7.0 этого не было. Дело в том, что  JVM может предоставить пару точек доступа к точке доступа Jolokia , и пока агент Jolokia доступен, HawtIO должен иметь возможность подключаться. Так, например, в ActiveMQ 5.9.0 и 5.8.0 он поставляется с Jolokia и выставляется с помощью  веб-агента . Тем не менее, если вы отключите встроенную  причину в файле conf / activemq.xml,  лучше всего будет выставить агента JVM. Это можно сделать за 5,7, 5,8 или 5,9.

Я рекомендую следующий подход для добавления в JVM-агент Jolokia

  1. Загрузите дистрибутив ActiveMQ (5.7.0, 5.8.0 или 5.9.0)


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

  1. Используйте команду  create  для создания брокера: из вашего каталога $ ACTIVEMQ_HOME запустите


$ ACTIVEMQ_HOME / bin / activemq create ../brokers/hawtio-broker

Это создаст брокера с именем «hawtio-broker» в каталоге на один уровень выше под «брокерами»

  1. Перейдите к  ../brokers/hwatio-broker  и отредактируйте скрипт bin / hawtio-broker, включив в него:


export ACTIVEMQ_OPTS = ”- javaagent: /path/to/jvmagent/hawtio-broker/lib/jolokia-jvm-1.1.3-agent.jar=port=8160,host=localhost”

This line can go below the other exports that might be in there. Note that the host and port here are what we will set in the HawtIO Connect form when we try to connect remotely.

Пример скрипта

  1. Next, you need to download the JVM agent from the Jolokia website and place that jar under your ../brokers/hawtio-broker/lib folder. lib won’t be there by default, so create it. ActiveMQ will use this directory as an extension location and load up the agent from there based on the JVM args we set earlier.
  2. Follow the same steps as if you were to connect to a remote ActiveMQ, using the host and port specified in the JVM args above:

You should be greeted with a similar screen to before, with the “ActiveMQ” tab at the top:

Мы подключились к ActiveMQ 5.7.0

Upon clicking the ActiveMQ tab, you should see the stats that verify we are connected to a 5.7.0 (or whatever version you’re using) broker:

Мы подключились к ActiveMQ 5.7.0

There you have it. You can now connect remotely to ActiveMQ brokers with confidence.

Connect Locally

So this last section is still in progress… I will update it as I have time :)

I encourage you to try out HawtIO to monitor your ActiveMQ brokers. Your feedback is also highly valued, and can be directed to the HawtIO community. HawtIO is far more than just an ActiveMQ monitor, however, so check out its other features and stay cool!