Overview
Jolokia is an HTTP/JSON bridge for remote JMX access. It
is an alternative to standard JSR 160 connectors, using
an agent based approach. The client communicates with
the agent over HTTP (GET or POST) with the request and
response payload represented in JSON. It transparently
bridges to the JMX world, talking to clients on the
frontend via a REST-like protocol and to a JMX
MBeanServer on the backend.
More …
JMX Proxy
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 get
dispatched into multiple JSR-160 requests on the proxy
transparently. More …
Fast
Jolokia before version 2.1.0 uses the super fast JSON serialization library
json-simple
for parsing requests and creating responses.
With version 2.1.0 we provide our own JSON library
that uses a lexer genreated by JFlex.
Although the binary protocols (JRMP or IIOP) used by the standard JSR-160 connectors are naturally much more compact than a textual representation like JSON and although they have some performance advantages, Jolokia balances this for many use cases with advanced features like bulk requests and low startup times. More …
Firewall friendly
The usage of HTTP as transport protocol makes Jolokia a
perfect choice for firewall setups. It can seemlessly
operate over multiple HTTP-Proxy hops. More …
Bulk-Requests
Jolokia can process many JMX requests within a single
network roundtrip. A HTTP POST request can encapsulate
multiple Jolokia requests in its JSON payload which gets
dispatched on the agent side. These bulk requests can
increase performance drastically especially for
monitoring use cases where many different JMX parameters
are observed at once. The Nagios plugin
check_jmx4perl
uses bulk requests for its
multi check feature. More …
Secure
In addition to standard HTTP security 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.
More …
Simple
It’s simple. The agent is easy to install, often easier
than setting up a standard JSR-160 RMI
connector. Jolokia agents can be accessed with a Web
browser for simple request. A custom, REST-like URL
encoding enables easy access from any client
platform. The client libraries' API are designed for a
simple, typeless usage, using a request-response
paradigma. They are not harder to use than any other
HTTP library. More …
Polyglot
Thanks to the widely adopted standards HTTP and JSON,
Jolokia is able to effortlessly bridge the Java centric
technology JMX to non-Java platforms.
Java,
Perl and
JavaScript client
libraries are available.
More …