Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

345 lines (316 sloc) 15.75 kB
1.05 (2012-04-22)
- Added Time::HiRes as dependency to check_jmx4perl
- Replaced XML::Tidy with XML::Twig and relaxed version number
requirement on Module::Build
- RT#72413: Fixed configuration in threads.cfg
- Updated documentation for 'jmx4perl' (--method and --legacy-escape
- Bundled Module::Build 0.34 in order to improve the installation
- j4psh: Added 'pwd' command
- j4psh: Added options -a (attributes) and -o (operatiosn) to the 'ls'
command which now also supports wildcards for filtering
1.04 (2011-11-27)
- Fixed serious (and stupid) bug for jmx4perl and j4psh when printing
out scalar values.
1.03 (2011-11-23)
- Fixed stupid last minute bug.
1.02 (2011-11-23)
- Fix for threshold with 0 value in check_jmx4perl
- Fix automatic detection of the largest version number for Jolokia
agents in with the format 1.0.1 when downloading with 'jolokia'
- Fixed printing of boolean values for jmx4perl and j4psh for
complex data structures (finally)
- Added option '--option key=val' to jmx4perl and j4psh for tuning the
output format of these tools (known keys: format,booleans,indent)
- Added '--target' to j4psh so that it can operate against a JSR-160
1.01 (2011-10-25)
- Fixed 'jolokia' to load the new renamed jvm agent.
- Fixed issue when printing boolean values with jmx4perl
- Fixed issue with LWP as old as 5.805
- Bumped required version of Module::Build to 0.38 in order to cope
with messed up version number of XML::Tidy.
- j4psh works now with Getopt::Long before 2.38
1.00 (2011-10-3)
- Changed escaping as introduced by Jolokia 1.0. If talking with
Jolokia < 1.0, use the option '--legacy-escape' must be used if
using GET requests with MBeans containing / in the
name. JMX::Jmx4Perl knows this option as well
('legacy-escape'). j4psh does the detection automatically,
jmx4perl, check_jmx4perl and cacti_jmx4perl know about the new
configuration option.
- That's 1.0
0.95 (2011-8-21)
- Fixed Cacti output when labels contains spaces
- Tuned ancient Perl coding style (thanks, datamuc)
- Fixed problem with jolokia and PGP verification in non-english
- Fixed 'search' command which now really returns undef if nothing
is found (and not a ref to an empty array). That will also fix some
detectors when the 'info' command is used.
0.92 (2011-5-9)
- Fixed bug in pack specification (encryption) which is not available for
Perl 5.8 (and which broke Jmx4Perl for Perl 5.8)
0.91 (2011-5-6)
- Added --unknown-is-critical option to map all UNKNOWN to CRITICAL values (RT#67899)
- Added jmx4perl back to the build process, which was forgotten in 0.90
- Fixed bug RT#67815 which was caused by an invalid replacement of placeholder
for certain cases (i.e. is during parent check definition resolving
($0,$1) needs to be replaced by ($1,$2) which ended up falsely as ($2,$2)).
- Implemented --timeout option for check_jmx4perl, which is a pure HTTP timeout
for the communication between the Nagios checks and the Jolokia agent (RT#67821)
- Added a possibility to store encrypted passwords in the configuration file.
Please note, that this is *not* secure and only prevents casual attacks, since
the password needs to be symmetrically decrypted before passing it to the server.
In order to create an encrypted password, use 'jmx4perl encrypt <passwd>'.
- Fixed RT#67772 which prevented the proper count of failed checks for non-relative
checks within multi checks
0.90 (2011-4-11)
- Tuned Build.PL so that scripts can be added conditionally.
- Fixed normalization issue with negative delta check values.
- Support for new JSON serialization style of Jolokia 0.90 added.
(i.e numbers and booleans are not returned as plain strings anymore
but as Long, Double, true/false. Null is returned as JSON-null.
If you have trouble with boolean checks in check_jmx4perl, please
update to this jmx4perl version.
- Added 'jolokia' for downloading and managing Jolokia agents
- Removed jmx4perl Java agent source and agent since jmx4perl now uses
Jolokia as agents (
- Added 'cacti_jmx4perl', a tool for gathering Cacti data (
It is heavily based on 'check_jmx4perl' (without threshold handling).
0.75 (2011-2-4)
- Fixed typo in POD documentation which prevented a successful
build in some situations
0.74 (2011-1-16)
- Fixed problem with multichecks including operation-checks with
arguments. Specifying them in a configuration has been falsely
- Added '--method' command line option and 'Method' check
configuration option to check_jmx4perl for selecting the prefered
HTTP request method.
- Fixed normalization of time values (RT #63545)
- Improved default check_jmx4perl configuration (in hopefully a backward
compatible way)
- Multi check service summary now contains the name of failed services
- Fixed problems with a single '/' argument (RT #62915)
0.73 (2010-11-03)
- Fixed RT #61903 which occurs when the same check is referenced
multiple times (with potentially different parameters) in a
multicheck scenario.
- Fixed RT #62342: Perl warning when using operations and not --name
in check_jmx4perl
- Added --method to jmx4perl, config option 'method' for JMX::Jmx4Perl
in order to allow a default HTTP Method to use.
- Changed request command constant 'VERSION' to 'AGENT_VERSION' in
order to avoid conflicts with the usual versioning conventions for
Perl Modules. This is an API change, so in case you are using requests
with the constant VERSION you should change this to AGENT_VERSION
- Fixed issues when browsing with less in j4psh
- Extended config handling in j4psh to allow includes
0.72 (2010-9-24)
- Fixed problem with quotes in the config when using "Value"
and/or "Base".
- Adapted tomcat.cfg to be more flexible (e.g. replaced 'Catalina'
domain part by a wildcard).
- Fixed bug for merged MBeanServers when using multiple attributes
and/or MBean patterns for a READ request
- Fixed broken --target, --target-user and --target-password for
check_jmx4perl (same for --proxy and co.)
- Tuned output of complex data in j4psh
- Unwrap an MBeanException to use the target exception for an error
- Agent tested with Mule 3.0
0.71 (2010-8-16)
- Added 'ns' as unit (CpuThreadTime returns nano seconds)
- Fixed quoting of performance data in so far to let
Nagios::Plugin the complete control
- Fixed '--color' option and UseColor config directive
(section: <Shell>) to j4psh
- Added detection of a suitable pager for j4psh
- Fixed bug in server configuration when using old style syntax
0.70 (2010-7-10)
- Extended configuration syntax for check_jmx4perl as an alternative to
command line options
+ Parameterized checks
+ Default values for parameters
+ Multichecks (one HTTP request, many JMX requests)
+ Check-Inheritance
+ Predefined checks for certain environments (as sample configuration files)
+ Added null value check, can be tuned with --null
- Added '--value' as a shortcut for --mbean/--attribute/--value
- Better documentation for check_jmx4perl (30 extra pages)
- <Server> sections are now named blocks, taking the server name as block
name (similar to <Check>). The old syntax with an "Name" argument is
still support but must not be mixed with the new syntax.
- Path elements containing '/' can now be escaped with '\/'
- j4p-osgi-bundle including pax-web-bundle so only a single bundle
is needed for deploying (when no OSGi HttpService is installed)
- Relaxed version requirements on core and compendium OSGi classes
for j4p-osgi bundle.
- Changed access restrictions (j4p-access.xml):
+ <allow> and <deny>
+ Wildcards (*) for attribute and operation names
+ WARNING: Semantics of MBean specification has changed. Please
read the comments in j4p-access.xml.template
+ Add logging (level info) for printing out which security policy
is used
- Started to add a java client library
- j4psh beta version added
- Agent:
+ Switched from JUnit to TestNG for testing because of
support of testing groups
+ New servlet init parameter option 'mbeanQualifier' to allow
multiple j4p-servlet in a single application server
0.65 (2010-3-30)
- A JDK 6 java agent added for exporting the j4p protocol via
- Extended READ operation to support MBean patternames and multiple
attributes with a single request
- Renamed 'max_depth', 'max_list_size','max_objects' as processing
configuration parameters to 'maxDepth', 'maxCollectionSize' and
'maxObjects' respectively for consistencies sake.
- Bug fix: POST request respect these parameters as well now
- Added 'ignoreErrors' request option in order to allow a bulk read
to succeed even if single read fails. In this case, the valu will
- 'search' returns properly escaped MBean Names if unsafe characters
are used.
- For GET request, instead of pathinfo a query with parameter 'p'
can be used as alternative. This works around certain issues with
special path handling with certain app-servers (e.g. Tomcat).
- JMX::Jmx4Perl::Request and JMX::Jmx4Perl::Agent hardened in order
to be more smart with unsafe MBean Names and detect automatically
the most convenient HTTP Request method (if not explicitely set)
- Added more unit and integration tests.
- Added VERSION command to JMX::Jmx4Perl to get to agent and
protocol version
- Fixed error handling for bulk requests. Now each request object
will return an associated response object even in the error case.
- Fixed JMX::Jmx4Perl::info for IBM JVMs
- Added JMX::Jmx4Perl->parse_name() for splitting up a given MBean
object name into its parts
0.60 (2009-02-28)
- OSGi bundle (including dependencies) for exposing JSON export via
the OSGi HTTP-Service. It's in agent/modules/j4p-osgi.
- Refined error handling
- Removed legacy JDK 1.4 support. 0.36 is the one and only version
for which the JDK 1.4 backport has been tested to some amount.
- Added support for overloaded JMX operations for 'list' and 'exec'
- 'read' operation can now be used without attribute name in which
case the value of all attributes is returned. This can be used
directly with JMX::Jmx4Perl and the frontend jmx4perl.
- Support for Resin 3.1 added
- 'exec' operation can now deal with simple array arguments. Within
the perl modules, give an array ref for an array argument. This
gets translated to a comma separated list of values in the
string. For string array this works only with simle content
(i.e. no element containing a ',')
0.51 (2009-12-30)
- Quickfix for a badly packaged agent/j4p.war
0.50 (2009-12-24)
- Protocol of j4p.war has been extended to enable proxy mode
- Added '--target' to check_jmx4perl for using proxy mode
- Added '--target' to jmx4perl
- Added Mule agent. Use maven to build it in agent/modules/j4p-mule
- 'get_war' and 'get_mule_agent' as actions for Build.PL for
fetching java artifacts from the maven repository.
- Cleaned up and updated Manual.pod
0.40 (2009-11-14)
- Extended protocol to allow for JSON requests via POST in addition
to pure URL based requests via GET
- Implemented bulk requests: JMX::Jmx4Perl->request() can now take a
list of JMX::Jmx4Perl::Request objects in which case it will
return a list of JMX::Jmx4Perl::Response objects (instead of a
single, scalar, response when used with a single request)
- Support for Glassfish V3 Preview, Jonas 5.1 and Jetty 7.0.0
0.36 (2009-10-30)
- Added <remote> to j4p-access.xml for restricting
access to certain hosts or subnets only.
- Added support for a JDK 1.4 agent war. The feature base for
this agent is frozen. It might even vanish in the future.
You need a JDK 1.4 agent for running within Weblogic 8.1
- Cleaned up j4p agent with help of sonar and associated
metric checkers like PMD, check_style and FindBugs.
- Added support for config files in jmx4perl and JMX::Jmx4Perl
which allows for shortcuts for agent URL as well as storing
user and credentials information.
- Fixed some bugs
0.35 (2009-08-15)
- Added example ''
- Fixed bug when serializing floats and doubles.
- check_jmx4perl:
* Added support for checking string and boolean values
* Escaping performance data
* Include units-of-measurement in the plugin output
* Custom labeling of plugin output
* Perfdata contains always absolute values, even when
used with --base
0.30 (2009-07-31)
- Fixed permission issue while running 'Build dist'
- Fixed URL generation for Websphere
- Added support for generic Bean serialization
- Added 'search' command to jmx4perl
- Fixed bug when using pathes with multiple components
- Added additional parameters 'max_depth', 'max_list_size' and
'max_objects' to restrict the size of the JSON answer. Protocol
has changed as well a bit.
- jmx4perl: URL now as first argument for easier workflow when using
bash history for repeated usage.
- Added support for restricting MBean access via a policy file
0.21 (2009-07-03)
- Added '--proxy' for check_jmx4perl and jmx4perl
- check_jmx4perl:
+ Refactored to work within the embedded Nagios Perl interpreter
+ use relative values in the range from 0 to 100%
(for --critical and --warning) instead of [0..1]
+ Renamed '--base-value' to '--base' since it can take now
absolute values (numbers) or "mbean/alias/path" tuples as an
argument in addition to alias names.
+ Added '--operation' which allows for using return values of
operations as check values
+ Added ~ 50 integration tests
0.20 (2009-06-28)
- Support for writing attributes and executing operations
- Documentation fixes
- Tested for WebLogic 9. New initial support for Websphere 6.1 and
- New "version" command to j4p-agent
- New "search" j4p-agent command for querying for MBean names
- Added '--base-alias' to check_jmx4perl for using relative
- Added '--delta' to check_jmx4perl for using an incremental
- Cleaned up check_jmx4perl perfdata output
- Added own j4p-agent MBean for configuration management
(history tracking and debugging info)
- JMX::Jmx4Perl has new request short-cuts 'set_attribute' and
- Renamed j4p-agent.war to j4p.war
- Started integration test suite below "it/" and "agent/modules/j4p-it"
for installing some test beans
- Cleaned up maven integration for the agent servlet
- Moved repository to git://
- Switched off debugging in agent servlet
- Fixed syntax error when using 'jmx4perl -v attributes'
- Fixed Jetty Handler.
- Aliasing
- Autodetection
- Command line tool "jmx4perl"
* reading of attributes
* listing of all availabel attributes and operations.
* listing of all attribute values
* print server info
* print all available aliases
- Bug Fixes:
* Correct URL encoding for request URL
* Slash '/' needs to be custom encoded, since URI encoding doesn't
work for JBoss 4/5 due to a bug
- Tested to work on JBoss 4 & 5, Oracle WebLogic 10, Jonas 4, Geronimo 2,
Glassfish 2, Tomcat 4-6 and Jetty 5 & 6
- Initial release
- check_jmx4perl
Jump to Line
Something went wrong with that request. Please try again.