bin/check-java-permgen.rb in sensu-plugins-java-1.0.0 vs bin/check-java-permgen.rb in sensu-plugins-java-1.1.0
- old
+ new
@@ -34,29 +34,31 @@
class CheckJavaPermGen < Sensu::Plugin::Check::CLI
check_name 'Java PermGen'
option :warn, short: '-w WARNLEVEL', default: '85'
option :crit, short: '-c CRITLEVEL', default: '95'
+ option :as_sudo, short: '-s', description: 'Run as sudo', boolean: true, required: false
def run
warn_procs = []
crit_procs = []
java_pids = []
+ sudo = config[:as_sudo] ? 'sudo ' : ''
- IO.popen('jps -q') do |cmd|
+ IO.popen("#{sudo}jps -q") do |cmd|
java_pids = cmd.read.split
end
java_pids.each do |java_proc|
pgcmx = nil
pu = nil
- IO.popen("jstat -gcpermcapacity #{java_proc} 1 1 2>&1") do |cmd|
+ IO.popen("#{sudo}jstat -gcpermcapacity #{java_proc} 1 1 2>&1") do |cmd|
pgcmx = cmd.read.split[9]
end
exit_code = $CHILD_STATUS.exitstatus
next if exit_code != 0
- IO.popen("jstat -gcold #{java_proc} 1 1 2>&1") do |cmd|
+ IO.popen("#{sudo}jstat -gcold #{java_proc} 1 1 2>&1") do |cmd|
pu = cmd.read.split[9]
end
exit_code = $CHILD_STATUS.exitstatus
next if exit_code != 0