aboutsummaryrefslogtreecommitdiff
path: root/contrib/check_mem.pl
diff options
context:
space:
mode:
authorGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2013-09-02 13:16:24 +0200
committerGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2013-09-02 13:16:24 +0200
commitb15adb7762b6caaecaa83637abfcf5fdb4802092 (patch)
tree64eddbe2aa1a7f98a140be0f7973f05d7a781ae0 /contrib/check_mem.pl
parentc4d5882b9e1d07c7b61091062b7d085fa5f00284 (diff)
downloadmonitoring-plugins-b15adb7762b6caaecaa83637abfcf5fdb4802092.tar.gz
Remove "contrib" plugins
These days, sites such as "Nagios Exchange" are a much better place for publishing plugins not maintained by the Plugins Development Team.
Diffstat (limited to 'contrib/check_mem.pl')
-rw-r--r--contrib/check_mem.pl146
1 files changed, 0 insertions, 146 deletions
diff --git a/contrib/check_mem.pl b/contrib/check_mem.pl
deleted file mode 100644
index 3227ce24..00000000
--- a/contrib/check_mem.pl
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/perl -w
-# $Id: check_mem.pl 2 2002-02-28 06:42:51Z egalstad $
-
-# check_mem.pl Copyright (C) 2000 Dan Larsson <dl@tyfon.net>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# you should have received a copy of the GNU General Public License
-# along with this program (or with Nagios); if not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA
-
-# Tell Perl what we need to use
-use strict;
-use Getopt::Std;
-
-use vars qw($opt_c $opt_f $opt_u $opt_w
- $free_memory $used_memory $total_memory
- $crit_level $warn_level
- %exit_codes @memlist
- $percent $fmt_pct
- $verb_err $command_line);
-
-# Predefined exit codes for Nagios
-%exit_codes = ('UNKNOWN' ,-1,
- 'OK' , 0,
- 'WARNING' , 1,
- 'CRITICAL', 2,);
-
-# Turn this to 1 to see reason for parameter errors (if any)
-$verb_err = 0;
-
-# This the unix command string that brings Perl the data
-$command_line = `vmstat | tail -1 | awk '{print \$4,\$5}'`;
-
-chomp $command_line;
-@memlist = split(/ /, $command_line);
-
-# Define the calculating scalars
-$used_memory = $memlist[0];
-$free_memory = $memlist[1];
-$total_memory = $used_memory + $free_memory;
-
-# Get the options
-if ($#ARGV le 0)
-{
- &usage;
-}
-else
-{
- getopts('c:fuw:');
-}
-
-# Shortcircuit the switches
-if (!$opt_w or $opt_w == 0 or !$opt_c or $opt_c == 0)
-{
- print "*** You must define WARN and CRITICAL levels!" if ($verb_err);
- &usage;
-}
-elsif (!$opt_f and !$opt_u)
-{
- print "*** You must select to monitor either USED or FREE memory!" if ($verb_err);
- &usage;
-}
-
-# Check if levels are sane
-if ($opt_w <= $opt_c and $opt_f)
-{
- print "*** WARN level must not be less than CRITICAL when checking FREE memory!" if ($verb_err);
- &usage;
-}
-elsif ($opt_w >= $opt_c and $opt_u)
-{
- print "*** WARN level must not be greater than CRITICAL when checking USED memory!" if ($verb_err);
- &usage;
-}
-
-$warn_level = $opt_w;
-$crit_level = $opt_c;
-
-if ($opt_f)
-{
- $percent = $free_memory / $total_memory * 100;
- $fmt_pct = sprintf "%.1f", $percent;
- if ($percent <= $crit_level)
- {
- print "Memory CRITICAL - $fmt_pct% ($free_memory kB) free\n";
- exit $exit_codes{'CRITICAL'};
- }
- elsif ($percent <= $warn_level)
- {
- print "Memory WARNING - $fmt_pct% ($free_memory kB) free\n";
- exit $exit_codes{'WARNING'};
- }
- else
- {
- print "Memory OK - $fmt_pct% ($free_memory kB) free\n";
- exit $exit_codes{'OK'};
- }
-}
-elsif ($opt_u)
-{
- $percent = $used_memory / $total_memory * 100;
- $fmt_pct = sprintf "%.1f", $percent;
- if ($percent >= $crit_level)
- {
- print "Memory CRITICAL - $fmt_pct% ($used_memory kB) used\n";
- exit $exit_codes{'CRITICAL'};
- }
- elsif ($percent >= $warn_level)
- {
- print "Memory WARNING - $fmt_pct% ($used_memory kB) used\n";
- exit $exit_codes{'WARNING'};
- }
- else
- {
- print "Memory OK - $fmt_pct% ($used_memory kB) used\n";
- exit $exit_codes{'OK'};
- }
-}
-
-# Show usage
-sub usage()
-{
- print "\ncheck_mem.pl v1.0 - Nagios Plugin\n\n";
- print "usage:\n";
- print " check_mem.pl -<f|u> -w <warnlevel> -c <critlevel>\n\n";
- print "options:\n";
- print " -f Check FREE memory\n";
- print " -u Check USED memory\n";
- print " -w PERCENT Percent free/used when to warn\n";
- print " -c PERCENT Percent free/used when critical\n";
- print "\nCopyright (C) 2000 Dan Larsson <dl\@tyfon.net>\n";
- print "check_mem.pl comes with absolutely NO WARRANTY either implied or explicit\n";
- print "This program is licensed under the terms of the\n";
- print "GNU General Public License (check source code for details)\n";
- exit $exit_codes{'UNKNOWN'};
-}