#!/usr/local/bin/perl $PIDFILE="/var/run/slurpd.pid"; if (!-f $PIDFILE) { print "Slurpd disabled - OK.\n"; exit(0); } $PID=`cat $PIDFILE`; if ( $PID == "" ) { print "Slurpd disabled - OK.\n"; exit(0); } if (-f "/etc/noservice") { print "Slurpd disabled - OK\n."; exit(0); } if (-f "/etc/noldap") { print "Slurpd disabled - OK\n."; exit(0); } if (-f "/etc/noslurpd") { print "Slurpd disbabled - OK\n."; exit(0); } chomp($PID); @results=`/usr/bin/ps -lyp $PID -orss -ovsz`; ($res, $virtual) = split / /, $results[1], 2; chomp($virtual); $res/=1024; $virtual/=1024; if ($res > 30 && $virtual > 30) { print "CRITICAL: slurpd memory is exceeding all limits\n"; exit(2); } elsif ($res > 30) { print "WARNING: slurpd resident memory is over 30 MB in size.\n"; exit(1); } elsif ($virtual > 30) { print "WARNING: slurpd virtual memory is over 30MB in size.\n"; exit(1); } else { print "slurpd memory OK: Resident $res MB - Virtual $virtual MB.\n"; exit (0); }