Build precise queries to find exactly what you need
Press ESC to close
Join our next live webinar: “Advanced Nagios Monitoring Techniques” – Register Now
Your review has been submitted and is pending approval.
A Nagios plugin to get memory statistics of a Java application using jstat
Current Version
1.2
Last Release Date
2012-08-23
Owner
Eric Blanchard
Website
http://github.com/Ericbla/check_jstat
Download URL
License
LGPL
Compatible With
The check command
A Nagios plugin to get memory statistics of a Java application using jstat.
The process selection is done either by:
It then call jstat -gc and jstat -gccapacity to catch current and maximum heap and perm sizes. What is called heap here is the edden + old generation space, while perm represents the permanent generation space.
If specified (with -w and -c options) values can be checked with WARNING or CRITICAL thresholds (apply to both heap and perm regions).
This plugin also attach perfomance data to the output: pid=pid heap=heap-size-used;heap-max-size;%ratio;warning-threshold-%ratio;critical-threshold-%ratio perm=perm-size-used;perm-max-size;%ratio;warning-threshold-%ratio;critical-threshold-%ratio
Usage:
chech_jstat.sh -v Print version and exit" chech_jstat.sh -h Print this help nd exit chech_jstat.sh -p [-w <%ratio>] [-c <%ratio>] chech_jstat.sh -s [-w <%ratio>] [-c <%ratio>] chech_jstat.sh -j [-w <%ratio>] [-c <%ratio>] -p the PID of process to monitor -s the service name of process to monitor -j the java app (see jps) process to monitor if this name in blank (-j '') any java app is looked for (as long there is only one) -w <%> the warning threshold ratio current/max in % -c <%> the critical threshold ratio current/max in %
This plugin may require to be run with sudo. In this case add a configuration in /etc/sudoers. For example if nagios is the user that run nagios (or NRPE deamon):
Defaults:nagios !requiretty nagios ALL=(root) NOPASSWD: /opt/nagios/libexec/check_jstat.sh
Hi, This plugin was working nice for me. Yesterday I have upgraded JDK version to JDK 1.8 Update 31 and the plugin responds that 'can't find the process' (and the process exists).
It seems that the performance data is not in the expected 'Nagios plugins' format, which makes it hard(er) to graph these values. The expected format is: 'label'=value[UOM];[warn];[crit];[min];[max] https://nagios-plugins.org/doc/guidelines.html#AEN200 http://docs.icinga.org/latest/en/perfdata.html#formatperfdata
Nice plugin! One thing though - for heap size capacity the script adds the values for EU and OU - but shouldn't it also add S0U?
Hi, i have probe this plugin, and it works only with root user, i have added the config in /etc/sudoers but mi execution with user nagios is the following: -bash-4.1$ cd /srv/nagios/libexec/ -bash-4.1$ ./check_jstat.sh -s tomcat6 Could not attach to 11922 CRITICAL: Can't get GC statistics I think that the problem is in jstat, which don“t have permissions to see all java process (all users). I add permisions to /etc/sudoers: nagios ALL=(root) NOPASSWD: /usr/bin/jstat And modify the plugin included "sudo" in calls to jstat lines: gc=$(sudo jstat -gc $pid | tail -1 | sed -e 's/[ ][ ]*/ /g') gccapacity=$(sudo jstat -gccapacity $pid | tail -1 | sed -e 's/[ ][ ]*/ /g') And works perfectly! If there is any alternative solution may be welcome :) Good work!
The author copied code and forgot to adapt a variable. Line 143 and 147: 'cs' should become 'ws' (otherwise no warning treshhold) For all else this works fine. Jstat is also less intrusive to your JVM than jmap. Be sure to add this plugin to /etc/sudoers or run the test as the same uid as the JVM. Otherwise jstat will get access denied.
Thanks a lot for your review. I have fixed the copy/paste abuse in the version 1.1 and added a sample of sudoers configuration.
You must be logged in to submit a review.
To:
From: