Подтвердить что ты не робот

Есть ли доступный мост JMX-REST?

Привет, я хотел бы контролировать приложение Java с помощью браузера, но в то же время использовать существующую инфраструктуру JMX.

Я знаю, что JMX предоставляет HTTP-интерфейс, но я думаю, что он предоставляет стандартный веб-интерфейс и его невозможно скомбинировать с существующей системой.

Знаете ли вы о каком-либо интерфейсе REST для JMX?

Мои исследования в google в настоящее время показывают, что существует один проект, который делает что-то подобное. Это единственный вариант?

4b9b3361

Ответ 1

Jolokia - это новый (в настоящее время) агент JMX, который вы можете установить в свою JVM и предоставляет MBeanServer через HTTP в формате JSON.

Ответ 2

Tomcat предоставляет JMX Proxy Servlet в своем приложении-диспетчере. Я не думаю, что это именно REST, но он без гражданства и построен из простых HTTP-запросов, поэтому он должен быть достаточно близко.

Ответ 3

Для потомков я недавно добавил небольшой веб-сервер в свой SimpleJMX. Он предоставляет beans с платформы MBeanServer на HTTP через Jetty, если в пути к классам. Существуют также текстовые версии всех страниц, которые облегчают очистку.

// create a new JMX server listening on a specific port
JmxServer jmxServer = new JmxServer(8000);
jmxServer.start();

// register any beans to jmx as necessary
jmxServer.register(someObj);

// create a web server publisher listening on a specific port
JmxWebServer jmxWebServer = new JmxWebServer(8080);
jmxWebServer.start();

Там есть небольшая тестовая программа, которая показывает ее в действии. Здесь изображение java.lang:type=Memory доступно из браузера. Как вы можете видеть, выход очень простой HTML.

enter image description here

Ответ 4

Возможно, вам стоит взглянуть на jmx4perl. Он поставляется с сервлетом агента, который проксирует запрос REST локальным вызовам JMX и возвращает структуру JSON с ответами. Он поддерживает чтение, запись, exec, список (список mbeans) и операции поиска и знает, как погрузиться в сложные структуры данных с помощью выражения XPath. Подробнее см. Описание протокола.

В предстоящем выпуске можно также обрабатывать запросы с большим количеством (== несколько одновременно) и добавлять возможность отправлять запрос JSON как альтернативу чистому REST GET-запросу.

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

Ответ 5

MX4J - еще одна альтернатива., цитируя ниже на домашней странице -

MX4J - это проект по созданию реализации с открытым исходным кодом для Java (TM) Management Extensions (JMX) и спецификаций JMX Remote API (JSR 160) и для создания инструментов, связанных с JMX.