1.13 (2020-05-12)
- Fixed bug in output for Tomcat 8 check_jmx4perl Nagios check
- Changed CLI interface of 'jmx4perl list' and the possible arguments
for LIST request. Note, that this change is not backwards compatible.
However the fix is trivial: Instead of providing a full path into the
LIST response as single argument (e.g. 'java.lang/type=Memory/HeapMemoryUsage')
you have to provide two arguments for the MBean and the path into MBean's
meta data (e.g. 'java.lang:type=Memory' and'HeapMemoryUsage')
- Fixed Dockerfile
- Add Tomcat 8 specific checks
1.12 (2015-07-28)
- Configuration can be also a directory in wich case <dir>/jmx4perl.cfg is tried
(e.g. ~/.j4p/jmx4perl.cfg)
- Added Docker build
- Fix boolean values to be strings "true"/"false" when deserialized.
- Changed from "Nagios::Plugin" to "Monitoring::Plugin"
1.11 (2014-11-22)
- When within a MultiCheck a single check causes an exception, the
other checks are now still present in the output of check_jmx4perl
and the overall check has the status UNKNWON (#40)
- Minor fixes on the WebSphere Checks
- Fixed issue when calling check_jmx4perl for an operation without argument (RT##98166)
1.10 (2014-06-30)
- Added WebSphere checks
1.08 (2014-06-30)
- Fixed warning when using MBeanName (#31)
- Fixed BaseMBean and formatting
- Fixed relative checks when using MBean patterns
- Added formatter '%q' to include a ratio of value to base without
multiplying by 100 like for '%r'
- Disabled OpenPGPVerifier since it doesn't support the new digest
algorithms used for signing the Jolokia artefacts (#32)
- Don't set ssl_opts if on LWP < 6 (#28)
- Fixed BaseMBean and BaseAttribute config directives (#25)
- Fixed regexp for squeezing trailing slashes (RT#89108)
- Fixed check definition for 'wls_channel_connections (RT#89107)
- Changed check 'memory_gc_time' to be a relative check to measure the
relative amount taken for the GC. If you use this check (or a sub-check of this)
YOU NEED TO UPDATE YOUR THRESHOLDS (and regenerate the pn4p graphics) if you use this
check directly
- Fixed bug when using 0 thresholds in checks using parent checks (#38)
- Added support for '*' wildcard when navigation with cd for j4psh
- Fixed bug with check inheritance and check parameters which contain parantheses
- Added an option "MultiCheckPrefix" for "Checks" in order to specify the prefix
for multi checks
- Added config options "SummaryOk" and "SummaryFailure" for allowing to fine tune
multi check output (#24)
- "Argument" can be used in "Operation" config checks for providing arguments to
Nagios checks which are based on operations (#27)
1.07 (2013-04-16)
- Added more robust timeout for the Jmx4Perl Agent (requires Sys::SigAction)
- SSL Host key verification switched off when connecting via SSL
- Fixed issue with quoting in j4psh (#14)
- 'cat' in j4psh is now caseinsensitive when using wildcards (#18)
- Added BaseMBean, BaseAttribute and BasePath as alternative to Base f
or check_jmx4perl (#16)
- "jolokia" can do 'repack' and 'info' also when not being connected
to the internet (#20)
- Multi-Checks can now reference other Multi-Checks either via <MultiCheck>
or <Check> (#19)
- Added new option '--perfdata true|false' (PerData false in configuration) for
switching of performance data. Also, for string checks performance data is
switched off always. (#22)
- Added %y and %z as placeholder for configured CRITICAL and WARNING thresholds
for the output provided with "Label" in check_jmx4perl (#13)
1.06 (2012-10-13)
- A a scripting mode to check_jmx4perl which allows putting in arbitraty
Perl code for extracting the value to match against
- weblogic specific Nagios checks added
- Added name as optional parameter for Nagios checks in tomcat.cfg (thanks Wolfgang)
- When a multi checks fails, then the name of the check is added instead of its definition
key. This allows for better direct usage of predefined checks in own multi checks.
- If neither a CRITICAL nor a WARNING threshold is provided, then
the check always returns OK. This is especially useful when the
motivation is to only collect performance data.
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
explained)
- Bundled Module::Build 0.34 in order to improve the installation
experience
- 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
proxy
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
environments.
- 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 (www.jolokia.org)
- Added 'cacti_jmx4perl', a tool for gathering Cacti data (www.cacti.net)
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
ignored.
- 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
message
- 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
HTTP/JSON.
- 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 labs.consol.de 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 'threadDump.pl'
- 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
(j4p-access.xml)
0.21 (2009-07-03)
- Added '--proxy' for check_jmx4perl and jmx4perl
- check_jmx4perl:
+ Refactored to work within the embedded Nagios Perl interpreter
(ePN)
+ 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
7.0
- 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
thresholds
- Added '--delta' to check_jmx4perl for using an incremental
mode
- 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
'execute'
- 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://github.com/rhuss/jmx4perl.git
0.16
- Switched off debugging in agent servlet
- Fixed syntax error when using 'jmx4perl -v attributes'
- Fixed Jetty Handler.
0.15
- 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
0.1
- Initial release
- check_jmx4perl