Build precise queries to find exactly what you need
Press ESC to close
This plugin is very good in the way that you don’t need the Oracle client. I did change the script to suit my needs: split the checks, add perfdata and variable thresholds.
$host = $ARGV[0]; $port = $ARGV[1]; $sid = $ARGV[2]; $user = $ARGV[3]; $pass = $ARGV[4]; $check = $ARGV[5]; $thresholdw = $ARGV[6]; $thresholdc = $ARGV[7];
$ENV{LD_LIBRARY_PATH} = “/etc/oracle”; $sqlplus = ‘/etc/oracle/sqlplus’;
sub trim($); my %ERRORS=(‘OK’=>0,’WARNING’=>1,’CRITICAL’=>2,’UNKNOWN’=>3);
my %checks = ( ‘dictionary’ => 0, ‘library’ => 1, ‘blockbuffer’ => 2, ‘latch’ => 3, ‘disk’ => 4, ‘rollback’ => 5, ‘dispatcher’ => 6, );
my @param_array = ( [“>”,”Dictionary Cache Hit Ratio”,’SELECT (1 – (Sum(getmisses)/(Sum(gets) + Sum(getmisses)))) * 100 FROM v$rowcache;’], [“>”,”Library Cache Hit Ratio”,’SELECT (1 -(Sum(reloads)/(Sum(pins) + Sum(reloads)))) * 100 FROM v$librarycache;’], [“>”,”DB Block Buffer Cache Hit Ratio”,’SELECT (1 – (phys.value / (db.value + cons.value))) * 100 FROM v$sysstat phys,v$sysstat db,v$sysstat cons WHERE phys.name = ‘physical reads’ AND db.name = ‘db block gets’ AND cons.name = ‘consistent gets’;’], [“>”,”Latch Hit Ratio”,’SELECT (1 – (Sum(misses) / Sum(gets))) * 100 FROM v$latch;’], [” “unless (“.$results.$param_array[$checks{$check}][0].$thresholdw.”) {print””.$param_array[$checks{$check}][1].” on “.$sid.” is WARNING ($results !$param_array[$checks{$check}][0] $thresholdw)\n| $perfcounter”; exit “.$ERRORS{“WARNING”}.”;}”;
print “$param_array[$checks{$check}][1] on $sid is OK ($results $param_array[$checks{$check}][0] $thresholdw)|$perfcounter”; exit $ERRORS{“OK”};
} else {print “Bad check – values are: dictionary,library,blockbuffer,latch,disk,rollback,dispatchern “; exit $ERRORS{“UNKNOWN”};}
We’ve completely redesigned the world’s largest repository of Nagios plugins and monitoring tools. Join thousands of users sharing monitoring solutions for servers, applications, and everything in between.
Due to our redesign, all existing accounts require a password reset to access your account again.
Ready to explore 6,100+ projects and contribute to the community?
Reset Password Create Account
Happy Monitoring!