Jolokia is a fresh way for accessing JMX MBeans remotely. It is
different to JSR-160 connectors in so far as it is an agent based
approach which uses JSON over HTTP for its communication in a
REST-stylish way.
Multiple agents are provided for different environments:
The agent approach as several advantages:
Firewall friendly
Since all communication is over HTTP, proxying through firewalls
becomes mostly a none-issue (in contrast to RMI communication, which
is the default mode for JSR-160)
Polyglot
No Java installation is required on the client
side. E.g. Jmx4Perl provides a rich Perl client library and
Perl based tools for accessing the agents.
Simple Setup
The Setup is done by a simple agent deployment. In contrast,
exporting JMX via JSR-160 can be remarkable complicated (see these
blog posts for setting up Weblogic and JBoss for native
remote JMX exposure setup)
Additionally, the agents provide extra features not available with
JSR-160 connectors:
Bulk requests
In contrast to JSR-160 remoting, Jolokia can process many JMX
requests with a single roundtrip. A single HTTP POST request puts
those requests in its JSON payload which gets dispatched on the
agent side. These bulk requests can increase performance drastically
especially for monitoring solutions. The Nagios plugin
check_jmx4perl uses bulk requests for its multi check feature.
Fine grained security
In addition to standard HTTP security (SSL, HTTP-Authentication)
Jolokia supports a custom policy with fine grained restrictions
based on multiple properties like the client’s IP address or subnet,
the MBean names and their attributes and operations. The policy is
defined in an XML format with support for allow/deny sections and
wildcards.
Proxy mode
Jolokia can operate in an agentless mode where the only requirement
on the target platform is the standard JSR-160 export of its
MBeanServer. A proxy listens on the front side for Jolokia requests
via JSON/HTTP and propagates these to the target server through
remote JSR-160 JMX calls. Bulk requests gets dispatched into
multiple JSR-160 requests on the proxy transparently.
More information on jolokia can be found at www.jolokia.org.