
Агентный доступ к JMX через JSON/HTTP с пакетными запросами, детальными политиками безопасности и режимом прокси для удаленного мониторинга и управления MBeanServer.

Jolokia — это новый способ удалённого доступа к JMX MBeans. Он отличается от коннекторов JSR-160 тем, что использует агентный подход с обменом данными через JSON по HTTP в стиле REST.
Для различных сред предоставляются несколько агентов:
Агентный подход имеет несколько преимуществ:
Дружелюбность к брандмауэрам
Поскольку вся связь осуществляется через HTTP, проблемы с проксированием через брандмауэры в основном отсутствуют (в отличие от RMI, который является стандартным режимом для JSR-160).
Многоязычность
На стороне клиента не требуется установка Java. Например, Jmx4Perl предоставляет богатую клиентскую библиотеку на Perl и инструменты на Perl для доступа к агентам.
Простая настройка
Настройка выполняется простым развёртыванием агента. В отличие от этого, экспорт JMX через JSR-160 может быть весьма сложным (см. эти посты в блогах по настройке Weblogic и JBoss для нативного удалённого доступа к JMX).
Кроме того, агенты предоставляют дополнительные возможности, недоступные в коннекторах JSR-160:
Пакетные запросы
В отличие от удалённого доступа JSR-160, Jolokia может обрабатывать множество JMX-запросов за один обход. Один HTTP POST-запрос помещает эти запросы в свой JSON-полезный груз, который диспетчеризуется на стороне агента. Такие пакетные запросы могут значительно повысить производительность, особенно для решений мониторинга. Плагин Nagios check_jmx4perl использует пакетные запросы для своей функции множественной проверки.
Тонкая настройка безопасности
В дополнение к стандартной безопасности HTTP (SSL, HTTP-аутентификация) Jolokia поддерживает пользовательскую политику с тонкими ограничениями, основанными на нескольких свойствах, таких как IP-адрес или подсеть клиента, имена MBean, атрибуты и операции. Политика определяется в формате XML с поддержкой секций allow/deny и масок.
Режим прокси
Jolokia может работать в безагентном режиме, когда единственным требованием на целевой платформе является стандартный экспорт JSR-160 её MBeanServer. Прокси на фронтальной стороне принимает запросы Jolokia в формате JSON/HTTP и передаёт их целевому серверу через удалённые JSR-160 вызовы JMX. Пакетные запросы прозрачно диспетчеризуются в несколько JSR-160 запросов на прокси.
Ещё больше информации о Jolokia можно найти на www.jolokia.org, включая полное справочное руководство.
Вклады в виде pull request'ов высоко ценятся. Вся ваша работа также должна быть передана под лицензию Apache Public License. Пожалуйста, подписывайте свою работу перед отправкой pull request. Подпись — это простая строка в конце описания патча, которая подтверждает, что вы его написали или иным образом имеете право передать его как патч с открытым исходным кодом. Правила очень просты: если вы можете подтвердить нижеследующее (из developercertificate.org):
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
Затем просто добавьте строку в каждое сообщение коммита git:
Signed-off-by: Max Morlock <[email protected]>
Используя ваше настоящее имя (извините, никаких псевдонимов или анонимных вкладов.)
Если вы установили user.name и user.email в конфигурации git, вы можете подписывать коммиты автоматически с помощью git commit -s.
Если вы исправляете документацию (опечатки, форматирование и т.д.), подпись не требуется. Также возможно подписать коммиты задним числом, тоже, если вы забыли это сделать в первый раз.