diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2013-09-02 13:16:24 +0200 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2013-09-02 13:16:24 +0200 |
commit | b15adb7762b6caaecaa83637abfcf5fdb4802092 (patch) | |
tree | 64eddbe2aa1a7f98a140be0f7973f05d7a781ae0 /contrib/checkciscotemp.pl | |
parent | c4d5882b9e1d07c7b61091062b7d085fa5f00284 (diff) | |
download | monitoring-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/checkciscotemp.pl')
-rw-r--r-- | contrib/checkciscotemp.pl | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/contrib/checkciscotemp.pl b/contrib/checkciscotemp.pl deleted file mode 100644 index 8fdc4294..00000000 --- a/contrib/checkciscotemp.pl +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/perl -wT -# check_ciscotemp.pl -# -# Copyright (C) 2000 Leland E. Vandervort <leland@mmania.com> -# -# 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 -#################################### -# Nagios pluging to check inlet and outlet temperatures on -# Cisco router platforms which support environmental monitoring -# (7200, 7500, GSR12000...) -#################################### -# default temperature thresholds are 30C for inlet, 40C outlet. -# if input or output is less than thresholds, returns OK -# if equal to (the temps don't change that rapidly) returns WARNING -# if greater than threshold, returns CRITICAL -# if undetermined, or cannot access environmental, returns UNKNOWN -# (in accordance with the plugin coding guidelines) -#################################### - -use Net::SNMP; -use Getopt::Long; -&Getopt::Long::config('auto_abbrev'); - -my $status; -my $response = ""; -my $timeout = 10; -my $community = "public"; -my $port = 161; -my $INTAKE_TEMP = "1.3.6.1.4.1.9.9.13.1.3.1.3.1"; -my $OUTLET_TEMP = "1.3.6.1.4.1.9.9.13.1.3.1.3.3"; -my $in_temp; -my $out_temp; -my $inlet_thresh = 30; -my $outlet_thresh = 40; - -my %STATUSCODE = ( 'UNKNOWN' => '-1', - 'OK' => '0', - 'WARNING' => '1', - 'CRITICAL' => '2'); - -my $state = "UNKNOWN"; - - -$SIG{'ALRM'} = sub { - print "ERROR: No snmp response from $hostname (sigALRM)\n"; - exit($STATUSCODE{"UNKNOWN"}); -}; - -Getopt::Long::Configure('bundling'); -$status = GetOptions - ("community=s", \$community, - "C=s", \$community, - "H=s", \$hostname, - "hostname=s", \$hostname, - "port=i", \$port, - "timeout=i", \$timeout, - "c=s", \$critical_vals, - "w=s", \$warning_vals, - "ithresh=i", \$inlet_thresh, - "othresh=i", \$outlet_thresh); - -if($status == 0) { - &show_help; -} - -unless (defined($hostname)) { - $hostname = shift || &show_help; -} - -if (defined($critical_vals)) { - if ($critical_vals =~ m/^([0-9]+)[,:]([0-9]+)$/) { - ($inlet_thresh,$outlet_thresh) = ($1, $2); - } else { - die "Cannot Parse Critical Thresholds\n"; - } -} - -if (defined($warning_vals)) { - if ($warning_vals =~ m/^([0-9]+)[:,]([0-9]+)$/) { - ($inlet_warn,$outlet_warn) = ($1, $2); - } else { - die "Cannot Parse Warning Thresholds\n"; - } -}else{ - $inlet_warn=$inlet_thresh; - $outlet_warn=$outlet_thresh; -} - -alarm($timeout); - -$in_temp = &SNMPGET($INTAKE_TEMP); -$out_temp = &SNMPGET($OUTLET_TEMP); - -if (($in_temp < $inlet_thresh) && ($out_temp < $outlet_thresh)) { - $state = "OK"; -} -elsif (($in_temp == $inlet_thresh) || ($out_temp == $outlet_thresh)) { - if(($in_temp > $inlet_thresh) || ($out_temp > $outlet_thresh)) { - $state = "CRITICAL"; - } - else { - $state = "WARNING"; - } -} -elsif (($in_temp > $inlet_thresh) || ($out_temp > $outlet_thresh)) { - $state = "CRITICAL"; -} -else { - $state = "WARNING"; -} - -print "$state Inlet Temp: $in_temp Outlet Temp: $out_temp\n"; -exit($STATUSCODE{$state}); - -sub show_help { - printf("\nPerl envmon temperature plugin for Nagios\n"); - printf("Usage:\n"); - printf(" - check_ciscotemp [options] <hostname> - Options: - -C snmp-community - -p snmp-port - -i input temperature threshold - -o output temperature threshold - -"); - printf("Copyright (C)2000 Leland E. Vandervort\n"); - printf("check_ciscotemp comes with absolutely NO WARRANTY either implied or explicit\n"); - printf("This program is licensed under the terms of the\n"); - printf("GNU General Public License\n(check source code for details)\n\n\n"); - exit($STATUSCODE{"UNKNOWN"}); -} - -sub SNMPGET { - $OID = shift; - ($session,$error) = Net::SNMP->session( - Hostname => $hostname, - Community => $community, - Port => $port - ); - if(!defined($session)) { - printf("$state %s\n", $error); - exit($STATUSCODE{$state}); - } - if(!defined($response = $session->get_request($OID))) { - printf("$state %s\n", $session->error()); - $session->close(); - exit($STATUSCODE{$state}); - } - $session->close(); - return($response->{$OID}); -} - |