
Agente de acesso JMX via JSON/HTTP com solicitações em lote, políticas de segurança granulares e modo proxy para monitoramento e gerenciamento remoto de MBeanServer.

Jolokia é uma nova forma de acessar MBeans JMX remotamente. É diferente dos conectores JSR-160 por ser uma abordagem baseada em agente que usa JSON sobre HTTP para sua comunicação de maneira no estilo REST.
Vários agentes são fornecidos para diferentes ambientes:
A abordagem baseada em agente tem várias vantagens:
Amigável a firewalls
Como toda a comunicação é via HTTP, o proxy através de firewalls torna-se praticamente um não-problema (em contraste com a comunicação RMI, que é o modo padrão para JSR-160)
Poliglota
Nenhuma instalação Java é necessária no lado do cliente. Por exemplo, o Jmx4Perl fornece uma biblioteca cliente Perl rica e ferramentas baseadas em Perl para acessar os agentes.
Configuração Simples
A configuração é feita por uma simples implantação do agente. Em contraste, exportar JMX via JSR-160 pode ser notavelmente complicado (veja estes posts de blog para configurar Weblogic e JBoss para configuração nativa de exposição remota de JMX)
Além disso, os agentes fornecem recursos extras não disponíveis com conectores JSR-160:
Requisições em lote
Em contraste com o remoting JSR-160, o Jolokia pode processar muitas requisições JMX com uma única ida e volta. Uma única requisição HTTP POST coloca essas requisições em seu payload JSON que é despachado no lado do agente. Essas requisições em lote podem aumentar drasticamente o desempenho, especialmente para soluções de monitoramento. O plugin Nagios check_jmx4perl usa requisições em lote para seu recurso de verificação múltipla.
Segurança de granularidade fina
Além da segurança HTTP padrão (SSL, autenticação HTTP), o Jolokia suporta uma política personalizada com restrições de granularidade fina baseadas em múltiplas propriedades como o endereço IP ou sub-rede do cliente, e os nomes, atributos e operações de MBeans. A política é definida em formato XML com suporte para seções allow/deny e curingas.
Modo proxy
O Jolokia pode operar em um modo sem agente, onde o único requisito na plataforma alvo é a exportação JSR-160 padrão de seu MBeanServer. Um proxy escuta no lado frontal as requisições Jolokia via JSON/HTTP e as propaga para o servidor alvo através de chamadas JMX JSR-160 remotas. Requisições em lote são despachadas em múltiplas requisições JSR-160 no proxy de forma transparente.
Mais informações sobre o Jolokia podem ser encontradas em www.jolokia.org, incluindo um manual de referência completo.
Contribuições em forma de pull requests são altamente apreciadas. Todo o seu trabalho também deve ser doado sob a Apache Public License. Por favor, faça o sign-off do seu trabalho antes de abrir um pull request. O sign-off é uma linha simples no final da descrição do patch, que certifica que você o escreveu ou que, de outra forma, tem o direito de repassá-lo como um patch de código aberto. As regras são muito simples: se você puder certificar o texto abaixo (de 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.
Então, basta adicionar uma linha a cada mensagem de commit git:
Signed-off-by: Max Morlock <[email protected]>
Usando seu nome real (desculpe, nada de pseudônimos ou contribuições anônimas).
Se você definir suas configurações git user.name e user.email, poderá assinar seu commit automaticamente com git commit -s.
Se você corrigir alguma documentação (erros de digitação, formatação, ...) não é necessário fazer o sign-off. É possível assinar seus commits retroativamente, também, caso você tenha esquecido da primeira vez.