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/check_rrd_data.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/check_rrd_data.pl')
-rw-r--r-- | contrib/check_rrd_data.pl | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/contrib/check_rrd_data.pl b/contrib/check_rrd_data.pl deleted file mode 100644 index 0ff8750b..00000000 --- a/contrib/check_rrd_data.pl +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/perl -wT - -# check_rrd_data plugin for nagios -# -# usage: -# check_rrd machine_id perlexp_warn perlexp_crit perlexp_default [ds] -# -# Checks data from a RRD file. machine_id is normally an IP address, that has -# to be mapped to a RRD file, by means of the config file (by default -# /var/spool/nagios/rrd-files, a file with pairs of (machine_id,rrd_file), -# separated by whitespace). It can be a RRD file, too. -# -# The Perl expressions are expressions to be evaluated in the following cases: -# -# - perlexp_crit. The first one, to check if there is a critical situation. If -# it returns other than "", it will be a critical message. -# - perlexp_warn. The second one to be evaluated. If returns other than "", a -# warning will be issued to Nagios. -# - perlexp_default. If both of the above return "", it will be evaluated, and -# wathever returns this expression will be returned by the script. NOTE that -# this is different from the other two cases, to allow the user issue a -# warning or critical failure even if the other two don't return it. -# -# Use these hosts.cfg entries as examples -# -# command[check_ping]=$USER1$/check_rrd_data.pl $HOSTADDRESS$ \ -# 'return "CHECK_CRICKET_PING: Warning\n" if ($value > 10);' 'return \ -# "CHECK_CRICKET_PING: Critical\n" if ($value > 100);' 'printf \ -# "PING OK - RTA = %.2fms\n", $value; return 0;' 1 -# service[machine]=PING;0;24x7;3;5;1;router-admins;240;24x7;1;1;1;;check_ping -# -# initial version: 28 Nov 2000 by Esteban Manchado Velázquez -# current status: 0.1 -# -# Copyright Notice: GPL -# - -# Doesn't work! Why? -# BEGIN { - # my $runtimedir = substr($0,0,rindex($0,'/')); - # require "$runtimedir/utils.pm"; -# } - -require '/usr/libexec/nagios/plugins/utils.pm'; -use RRD::File; -# use strict; # RRD:File and utils.pm don't like this - -my $configfilepath = "/var/spool/nagios/rrd-files"; # Change if needed -my %hostfile; # For storing config -my $rrdfile; # RRD file to open - -$ENV{'PATH'} = "/bin:/usr/bin"; -$ENV{'ENV'} = ""; - -if (scalar @ARGV != 4 && scalar @ARGV != 5) { - print STDERR join "' '", @ARGV, "\n"; - my $foo = 'check_rrd_data'; - print STDERR $foo, " <file.rrd> <perl_exp_warn> <perl_exp_crit> <perl_exp_default> [<ds>]\n\n"; - print STDERR "<perl_exp_*> is an expression that gets evaluated with \$_ at the current\n"; - print STDERR "value of the data source. If it returns something other than \"\", there\n"; - print STDERR "will be a warning or a critical failure. Else, the expression\n"; - print STDERR "<perl_exp_default> will be evaluated\n"; - exit; -} - -# Check configuration file -open F, $configfilepath or do { - print "Can't open config file $configfilepath\n"; - return $ERRORS{'UNKNOWN'}; -}; -while (<F>) { - next unless /(.+)\s+(.+)/; - $hostfile{$1} = $2; -} -close F; - -# Default -my $ds = defined $ARGV[4]?$ARGV[4]:0; - # print "\$ds = " . $ds . ":"; - # print "\$ARGV[4] = " . $ARGV[4] . ":"; -$ds =~ s/\$//g; # Sometimes Nagios gives 1$ as the last parameter - -# Guess which RRD file have to be opened -$rrdfile = $ARGV[0] if (-r $ARGV[0]); # First the parameter -$rrdfile = $hostfile{$ARGV[0]} unless $rrdfile; # Second, the config file - # print "$ARGV[0]:"; - -if (! $rrdfile) { - print "Can't open data file for $ARGV[0]\n"; # Aaaargh! - return $ERRORS{'UNKNOWN'}; # Unknown -} - - # print "Opening file $rrdfile:"; -my $rrd = new RRD::File ( -file => $rrdfile ); -$rrd->open(); -if (! $rrd->loadHeader()) { - print "Couldn't read header from $rrdfile\n"; - exit $ERRORS{'UNKNOWN'}; # Unknown -} -my $value = $rrd->getDSCurrentValue($ds); -$rrd->close(); - -# Perl expressions to evaluate -my ($perl_exp_warn, $perl_exp_crit, $perl_exp_default) = - ($ARGV[1], $ARGV[2], $ARGV[3]); -my $result; # Result of the expressions (will be printed) -my @data; # Special data reserved for the expressions, to pass data - -# First check for critical errors -$perl_exp_crit =~ /(.*)/; -$perl_exp_crit = $1; -$result = eval $perl_exp_crit; -if ($result) { - print $result; - exit 2; # Critical -} - -# Check for warnings -$perl_exp_warn =~ /(.*)/; -$perl_exp_warn = $1; -$result = eval $perl_exp_warn; -if ($result) { - print $result; - exit 1; # Warning -} - -$perl_exp_default =~ /(.*)/; -$perl_exp_default = $1; -eval $perl_exp_default; # Normally returns 0 (OK) |