

Jolokia è un modo innovativo per accedere remotamente agli MBean JMX. È diverso dai connettori JSR-160 in quanto si basa su un approccio basato su agenti che usa JSON su HTTP per la comunicazione in stile REST.
Sono disponibili diversi agenti per ambienti differenti:
L'approccio basato su agenti presenta diversi vantaggi:
Amichevole verso i firewall
Poiché tutta la comunicazione avviene su HTTP, l'attraversamento dei firewall diventa per lo più un non-problema (a differenza della comunicazione RMI, che è la modalità predefinita per JSR-160)
Poliglotta
Non è richiesta alcuna installazione di Java sul lato client. Ad esempio, Jmx4Perl fornisce una ricca libreria client Perl e strumenti basati su Perl per accedere agli agenti.
Configurazione semplice
La configurazione avviene tramite un semplice deployment dell'agente. Al contrario, esportare JMX tramite JSR-160 può essere notevolmente complicato (vedere questi post del blog per configurare Weblogic e JBoss per l'esposizione JMX remota nativa)
Inoltre, gli agenti offrono funzionalità aggiuntive non disponibili con i connettori JSR-160:
Richieste bulk
A differenza del remoting JSR-160, Jolokia può elaborare molte richieste JMX con una singola round trip. Una singola richiesta HTTP POST inserisce queste richieste nel proprio payload JSON, che viene smistato sul lato agente. Queste richieste bulk possono aumentare drasticamente le prestazioni, specialmente per le soluzioni di monitoraggio. Il plugin Nagios check_jmx4perl usa le richieste bulk per la sua funzione multi-check.
Sicurezza granulare
Oltre alla sicurezza HTTP standard (SSL, HTTP-Authentication), Jolokia supporta una policy personalizzata con restrizioni granulari basate su molteplici proprietà come l'indirizzo IP del client o la subnet, e i nomi, gli attributi e le operazioni degli MBean. La policy è definita in formato XML con supporto per sezioni allow/deny e wildcard.
Modalità proxy
Jolokia può operare in modalità senza agente, dove l'unico requisito sulla piattaforma di destinazione è l'esportazione JSR-160 standard del suo MBeanServer. Un proxy ascolta sul lato frontale le richieste Jolokia tramite JSON/HTTP e le propaga al server di destinazione attraverso chiamate JMX JSR-160 remote. Le richieste bulk vengono smistate in più richieste JSR-160 sul proxy in modo trasparente.
Ulteriori informazioni su Jolokia sono disponibili su www.jolokia.org, incluso un manuale di riferimento completo.
I contributi sotto forma di pull request sono molto apprezzati. Tutto il tuo lavoro deve essere concesso anche sotto la Apache Public License. Si prega di apporre il proprio sign-off al lavoro prima di fare una pull request. Il sign-off è una semplice riga alla fine della descrizione della patch, che certifica che hai scritto tu il codice o che hai comunque il diritto di distribuirlo come patch open-source. Le regole sono molto semplici: se puoi certificare quanto segue (da 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.
Poi devi solo aggiungere una riga a ogni messaggio di commit git:
Signed-off-by: Max Morlock <[email protected]>
Usando il tuo nome reale (spiacenti, niente pseudonimi o contributi anonimi).
Se imposti le configurazioni git user.name e user.email, puoi firmare il tuo
commit automaticamente con git commit -s.
Se correggi della documentazione (refusi, formattazione, ...) non sei tenuto a firmare. È possibile firmare i propri commit retroattivamente, anche se la prima volta te ne sei dimenticato.