From c14d1f0b992555037df2beb91ceffe9c7366b11b Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Mon, 4 Jan 2010 00:35:14 +0000 Subject: [PATCH] remove old stupid nagios crap git-svn-id: http://www.observium.org/svn/observer/trunk@591 61d68cd4-352d-0410-923a-c4978735b2b8 --- scripts/services/check_bl | 160 -------- scripts/services/check_breeze | 87 ---- scripts/services/check_by_ssh | Bin 22576 -> 0 bytes scripts/services/check_dhcp | Bin 20240 -> 0 bytes scripts/services/check_dig | Bin 19936 -> 0 bytes scripts/services/check_disk | Bin 24848 -> 0 bytes scripts/services/check_disk_smb | 296 -------------- scripts/services/check_dns | Bin 23440 -> 0 bytes scripts/services/check_dummy | Bin 9168 -> 0 bytes scripts/services/check_file_age | 113 ------ scripts/services/check_flexlm | 245 ----------- scripts/services/check_fping | Bin 20064 -> 0 bytes scripts/services/check_ftp | 1 - scripts/services/check_game | Bin 16216 -> 0 bytes scripts/services/check_hpjd | Bin 18656 -> 0 bytes scripts/services/check_http | Bin 42304 -> 0 bytes scripts/services/check_icmp | Bin 17268 -> 0 bytes scripts/services/check_ifoperstatus | 505 ----------------------- scripts/services/check_ifstatus | 459 --------------------- scripts/services/check_imap | 1 - scripts/services/check_ircd | 250 ------------ scripts/services/check_jabber | 1 - scripts/services/check_ldap | Bin 16528 -> 0 bytes scripts/services/check_ldaps | Bin 16528 -> 0 bytes scripts/services/check_load | Bin 14072 -> 0 bytes scripts/services/check_log | 217 ---------- scripts/services/check_mailq | 610 ---------------------------- scripts/services/check_mrtg | Bin 14792 -> 0 bytes scripts/services/check_mrtgtraf | Bin 14056 -> 0 bytes scripts/services/check_mysql | Bin 16656 -> 0 bytes scripts/services/check_nagios | Bin 15448 -> 0 bytes scripts/services/check_nntp | 1 - scripts/services/check_nntps | 1 - scripts/services/check_nt | Bin 22464 -> 0 bytes scripts/services/check_ntp | 465 --------------------- scripts/services/check_nwstat | Bin 28336 -> 0 bytes scripts/services/check_oracle | 284 ------------- scripts/services/check_overcr | Bin 18208 -> 0 bytes scripts/services/check_pgsql | Bin 16560 -> 0 bytes scripts/services/check_ping | Bin 24384 -> 0 bytes scripts/services/check_pop | 1 - scripts/services/check_procs | Bin 26600 -> 0 bytes scripts/services/check_radius | Bin 12376 -> 0 bytes scripts/services/check_real | Bin 18256 -> 0 bytes scripts/services/check_rpc | 377 ----------------- scripts/services/check_sensors | 65 --- scripts/services/check_simap | 1 - scripts/services/check_smtp | Bin 23872 -> 0 bytes scripts/services/check_snmp | Bin 28936 -> 0 bytes scripts/services/check_spop | 1 - scripts/services/check_ssh | Bin 14736 -> 0 bytes scripts/services/check_ssmtp | 1 - scripts/services/check_swap | Bin 16600 -> 0 bytes scripts/services/check_tcp | Bin 24464 -> 0 bytes scripts/services/check_time | Bin 16544 -> 0 bytes scripts/services/check_udp | Bin 15424 -> 0 bytes scripts/services/check_udp2 | 1 - scripts/services/check_ups | Bin 22432 -> 0 bytes scripts/services/check_users | Bin 14168 -> 0 bytes scripts/services/check_wave | 123 ------ scripts/services/negate | Bin 14120 -> 0 bytes scripts/services/urlize | Bin 13416 -> 0 bytes scripts/services/utils.pm | 83 ---- scripts/services/utils.sh | 23 -- 64 files changed, 4372 deletions(-) delete mode 100755 scripts/services/check_bl delete mode 100755 scripts/services/check_breeze delete mode 100755 scripts/services/check_by_ssh delete mode 100755 scripts/services/check_dhcp delete mode 100755 scripts/services/check_dig delete mode 100755 scripts/services/check_disk delete mode 100755 scripts/services/check_disk_smb delete mode 100755 scripts/services/check_dns delete mode 100755 scripts/services/check_dummy delete mode 100755 scripts/services/check_file_age delete mode 100755 scripts/services/check_flexlm delete mode 100755 scripts/services/check_fping delete mode 120000 scripts/services/check_ftp delete mode 100755 scripts/services/check_game delete mode 100755 scripts/services/check_hpjd delete mode 100755 scripts/services/check_http delete mode 100755 scripts/services/check_icmp delete mode 100755 scripts/services/check_ifoperstatus delete mode 100755 scripts/services/check_ifstatus delete mode 120000 scripts/services/check_imap delete mode 100755 scripts/services/check_ircd delete mode 120000 scripts/services/check_jabber delete mode 100755 scripts/services/check_ldap delete mode 100755 scripts/services/check_ldaps delete mode 100755 scripts/services/check_load delete mode 100755 scripts/services/check_log delete mode 100755 scripts/services/check_mailq delete mode 100755 scripts/services/check_mrtg delete mode 100755 scripts/services/check_mrtgtraf delete mode 100755 scripts/services/check_mysql delete mode 100755 scripts/services/check_nagios delete mode 120000 scripts/services/check_nntp delete mode 120000 scripts/services/check_nntps delete mode 100755 scripts/services/check_nt delete mode 100755 scripts/services/check_ntp delete mode 100755 scripts/services/check_nwstat delete mode 100755 scripts/services/check_oracle delete mode 100755 scripts/services/check_overcr delete mode 100755 scripts/services/check_pgsql delete mode 100755 scripts/services/check_ping delete mode 120000 scripts/services/check_pop delete mode 100755 scripts/services/check_procs delete mode 100755 scripts/services/check_radius delete mode 100755 scripts/services/check_real delete mode 100755 scripts/services/check_rpc delete mode 100755 scripts/services/check_sensors delete mode 120000 scripts/services/check_simap delete mode 100755 scripts/services/check_smtp delete mode 100755 scripts/services/check_snmp delete mode 120000 scripts/services/check_spop delete mode 100755 scripts/services/check_ssh delete mode 120000 scripts/services/check_ssmtp delete mode 100755 scripts/services/check_swap delete mode 100755 scripts/services/check_tcp delete mode 100755 scripts/services/check_time delete mode 100755 scripts/services/check_udp delete mode 120000 scripts/services/check_udp2 delete mode 100755 scripts/services/check_ups delete mode 100755 scripts/services/check_users delete mode 100755 scripts/services/check_wave delete mode 100755 scripts/services/negate delete mode 100755 scripts/services/urlize delete mode 100644 scripts/services/utils.pm delete mode 100755 scripts/services/utils.sh diff --git a/scripts/services/check_bl b/scripts/services/check_bl deleted file mode 100755 index f0632d27e1..0000000000 --- a/scripts/services/check_bl +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/perl -w -# -# check_bl plugin for nagios -# $Revision: 1.0 $ -# -# Nagios plugin designed to warn you if you mail servers appear in one of the -# many anti-spam 'blacklists' -# -# By Sam Bashton, Bashton Ltd -# bashton.com/content/nagios-plugins -# -# 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; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -use strict; -use lib "/usr/lib/nagios/plugins"; -use utils qw($TIMEOUT %ERRORS &print_revision &support); -use Net::DNS; -use vars qw($PROGNAME); -my ($verbose,$host),; -my ($opt_V,$opt_h,$opt_B,$opt_H,$opt_c); -$opt_V = $opt_h = $opt_B = $opt_H = $opt_c = ''; -my $state = 'UNKNOWN'; -sub print_help(); -sub print_usage(); - -$PROGNAME = "check_bl"; - -$ENV{'BASH_ENV'}=''; -$ENV{'ENV'}=''; -$ENV{'PATH'}=''; -$ENV{'LC_ALL'}='C'; - -use Getopt::Long; -Getopt::Long::Configure('bundling'); -GetOptions( - "V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "H=s" => \$opt_H, "hostname=s" => \$opt_H, - "B=s" => \$opt_B, "blacklists=s" => \$opt_B, - "c=s" => \$opt_c, "critical=s" => \$opt_c -); - -# -h means display verbose help screen -if ($opt_h) { print_help(); exit $ERRORS{'OK'}; } - -# -V means display version number -if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.0 $ '); - exit $ERRORS{'OK'}; -} - -# First check the hostname is OK.. -unless ($opt_H) { print_usage(); exit $ERRORS{'UNKNOWN'}; } - -if (! utils::is_hostname($opt_H)){ - print "$opt_H is not a valid host name\n"; - print_usage(); - exit $ERRORS{"UNKNOWN"}; -}else{ - if ($opt_H =~ /[a-zA-Z]/ ) - # If the host contains letters we assume it's a hostname, not an IP - { - $host = lookup($opt_H); - } - else { $host = $opt_H } -} - - -# $opt_c is a count of the blacklists a mail server is in, -# after which state will be CRITICAL rather than WARNING -# By default any listing is CRITICAL -my $critcount = 0; -if ($opt_c) { $critcount = $opt_c }; - -# $opt_B is a comma seperated list of blacklists -$opt_B = shift unless ($opt_B); -unless ($opt_B) { print_usage(); exit -1 } -my @bls = split(/,/, $opt_B); - - -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print ("ERROR: No response from BL server (alarm)\n"); - exit $ERRORS{"UNKNOWN"}; -}; -alarm($TIMEOUT); - -my %listed; # Hash of blacklists we're listed in. -foreach(@bls) -{ - if (blcheck($host,$_)) { $listed{$_} = 1 } -} - -if (scalar(keys(%listed)) == 0) { $state = 'OK' } -elsif (scalar(keys(%listed)) < $critcount) { $state = 'WARNING' } -else { $state = 'CRITICAL' } - -if (%listed) -{ - print "Listed at"; - foreach (keys(%listed)) { print " $_" } - print "\n"; -} -else { print "Not black-listed\n" } - -exit $ERRORS{$state}; - - -######## Subroutines ========================== - - -sub print_help() { - print_revision($PROGNAME,'$Revision: 1.0 $ '); - print "\n"; - support(); -} - -sub print_usage () { - print "Usage: \n"; - print " $PROGNAME -H host -B [blacklist1],[blacklist2] [-c critnum]\n"; - print " $PROGNAME [-h | --help]\n"; - print " $PROGNAME [-V | --version]\n"; -} - -sub blcheck -{ - my ($ip, $bl) = @_; - my $lookupip = $ip; - $lookupip =~ - s/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/$4.$3.$2.$1.$bl/; - if (lookup($lookupip)) { return 1 } - else { return 0 } -} - -sub lookup -{ - my $tolookup = shift; - my $res = Net::DNS::Resolver->new; - my $query = $res->search($tolookup); - if ($query) - { - foreach my $rr ($query->answer) - { - next unless $rr->type eq "A"; # We're not interested in TXT records - return $rr->address; - } - } -} diff --git a/scripts/services/check_breeze b/scripts/services/check_breeze deleted file mode 100755 index 990e981636..0000000000 --- a/scripts/services/check_breeze +++ /dev/null @@ -1,87 +0,0 @@ -#! /usr/bin/perl -wT - - -use strict; -use Getopt::Long; -use vars qw($opt_V $opt_h $opt_w $opt_c $opt_H $opt_C $PROGNAME); -use lib "/usr/lib/nagios/plugins" ; -use utils qw(%ERRORS &print_revision &support &usage); - -$PROGNAME = "check_breeze"; - -sub print_help (); -sub print_usage (); - -$ENV{'PATH'}=''; -$ENV{'BASH_ENV'}=''; -$ENV{'ENV'}=''; - -Getopt::Long::Configure('bundling'); -GetOptions - ("V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "w=s" => \$opt_w, "warning=s" => \$opt_w, - "c=s" => \$opt_c, "critical=s" => \$opt_c, - "H=s" => \$opt_H, "hostname=s" => \$opt_H, - "C=s" => \$opt_C, "community=s" => \$opt_C); - -if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.5 $'); - exit $ERRORS{'OK'}; -} - -if ($opt_h) {print_help(); exit $ERRORS{'OK'};} - -($opt_H) || usage("Host name/address not specified\n"); -my $host = $1 if ($opt_H =~ /([-.A-Za-z0-9]+)/); -($host) || usage("Invalid host: $opt_H\n"); - -($opt_w) || usage("Warning threshold not specified\n"); -my $warning = $1 if ($opt_w =~ /([0-9]{1,2}|100)+/); -($warning) || usage("Invalid warning threshold: $opt_w\n"); - -($opt_c) || usage("Critical threshold not specified\n"); -my $critical = $1 if ($opt_c =~ /([0-9]{1,2}|100)/); -($critical) || usage("Invalid critical threshold: $opt_c\n"); - -($opt_C) || ($opt_C = "public") ; - -my $sig=0; -$sig = `/usr/bin/snmpget $host $opt_C .1.3.6.1.4.1.710.3.2.3.1.3.0`; -my @test=split(/ /,$sig); -$sig=$test[2]; -$sig=int($sig); -if ($sig>100){$sig=100} - -print "Signal Strength at: $sig%\n"; - -exit $ERRORS{'CRITICAL'} if ($sig<$critical); -exit $ERRORS{'WARNING'} if ($sig<$warning); -exit $ERRORS{'OK'}; - - -sub print_usage () { - print "Usage: $PROGNAME -H [-C community] -w -c \n"; -} - -sub print_help () { - print_revision($PROGNAME,'$Revision: 1.5 $'); - print "Copyright (c) 2000 Jeffrey Blank/Karl DeBisschop - -This plugin reports the signal strength of a Breezecom wireless equipment - -"; - print_usage(); - print " --H, --hostname=HOST - Name or IP address of host to check --C, --community=community - SNMPv1 community (default public) --w, --warning=INTEGER - Percentage strength below which a WARNING status will result --c, --critical=INTEGER - Percentage strength below which a CRITICAL status will result - -"; - support(); -} diff --git a/scripts/services/check_by_ssh b/scripts/services/check_by_ssh deleted file mode 100755 index 9d3d1e5b18138769c9da185a3e6e81458fcfc6bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22576 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 ux4V_~_>C?W$V-(ue`k^XQ$BuUd diff --git a/scripts/services/check_dhcp b/scripts/services/check_dhcp deleted file mode 100755 index 9a4e4a3ef151420c9f4bef7d70763b5ffa128f7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20240 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 [warn] [critical] [port] -# -# Nagios host script to get the disk usage from a SMB share -# -# Changes and Modifications -# ========================= -# 7-Aug-1999 - Michael Anthon -# Created from check_disk.pl script provided with netsaint_statd (basically -# cause I was too lazy (or is that smart?) to write it from scratch) -# 8-Aug-1999 - Michael Anthon -# Modified [warn] and [critical] parameters to accept format of nnn[M|G] to -# allow setting of limits in MBytes or GBytes. Percentage settings for large -# drives is a pain in the butt -# 2-May-2002 - SGhosh fix for embedded perl -# -# $Id: check_disk_smb.pl,v 1.12 2005/04/17 22:22:41 seanius Exp $ -# - -require 5.004; -use POSIX; -use strict; -use Getopt::Long; -use vars qw($opt_P $opt_V $opt_h $opt_H $opt_s $opt_W $opt_u $opt_p $opt_w $opt_c $opt_a $verbose); -use vars qw($PROGNAME); -use lib "/usr/lib/nagios/plugins" ; -use utils qw($TIMEOUT %ERRORS &print_revision &support &usage); - -sub print_help (); -sub print_usage (); - -$PROGNAME = "check_disk_smb"; - -$ENV{'PATH'}=''; -$ENV{'BASH_ENV'}=''; -$ENV{'ENV'}=''; - -Getopt::Long::Configure('bundling'); -GetOptions - ("v" => \$verbose, "verbose" => \$verbose, - "P=s" => \$opt_P, "port=s" => \$opt_P, - "V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "w=s" => \$opt_w, "warning=s" => \$opt_w, - "c=s" => \$opt_c, "critical=s" => \$opt_c, - "p=s" => \$opt_p, "password=s" => \$opt_p, - "u=s" => \$opt_u, "username=s" => \$opt_u, - "s=s" => \$opt_s, "share=s" => \$opt_s, - "W=s" => \$opt_W, "workgroup=s" => \$opt_W, - "H=s" => \$opt_H, "hostname=s" => \$opt_H, - "a=s" => \$opt_a, "address=s" => \$opt_a); - -if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.12 $'); #' - exit $ERRORS{'OK'}; -} - -if ($opt_h) {print_help(); exit $ERRORS{'OK'};} - -my $smbclient= "$utils::PATH_TO_SMBCLIENT " ; -my $smbclientoptions= $opt_P ? "-p $opt_P " : ""; - - -# Options checking - -($opt_H) || ($opt_H = shift) || usage("Host name not specified\n"); -my $host = $1 if ($opt_H =~ /^([-_.A-Za-z0-9 ]+\$?)$/); -($host) || usage("Invalid host: $opt_H\n"); - -($opt_s) || ($opt_s = shift) || usage("Share volume not specified\n"); -my $share = $1 if ($opt_s =~ /^([-_.A-Za-z0-9]+\$?)$/); -($share) || usage("Invalid share: $opt_s\n"); - -($opt_u) || ($opt_u = shift) || ($opt_u = "guest"); -my $user = $1 if ($opt_u =~ /^([-_.A-Za-z0-9\\]+)$/); -($user) || usage("Invalid user: $opt_u\n"); - -($opt_p) || ($opt_p = shift) || ($opt_p = ""); -my $pass = $1 if ($opt_p =~ /(.*)/); - -($opt_w) || ($opt_w = shift) || ($opt_w = 85); -my $warn = $1 if ($opt_w =~ /^([0-9]{1,2}\%?|100\%?|[0-9]+[kMG])$/); -($warn) || usage("Invalid warning threshold: $opt_w\n"); - -($opt_c) || ($opt_c = shift) || ($opt_c = 95); -my $crit = $1 if ($opt_c =~ /^([0-9]{1,2}\%?|100\%?|[0-9]+[kMG])$/); -($crit) || usage("Invalid critical threshold: $opt_c\n"); - -# split the type from the unit value -#Check $warn and $crit for type (%/M/G) and set up for tests -#P = Percent, K = KBytes -my $warn_type; -my $crit_type; - -if ($opt_w =~ /^([0-9]+)\%?$/) { - $warn = "$1"; - $warn_type = "P"; -} elsif ($opt_w =~ /^([0-9]+)k$/) { - $warn_type = "K"; - $warn = $1; -} elsif ($opt_w =~ /^([0-9]+)M$/) { - $warn_type = "K"; - $warn = $1 * 1024; -} elsif ($opt_w =~ /^([0-9]+)G$/) { - $warn_type = "K"; - $warn = $1 * 1048576; -} -if ($opt_c =~ /^([0-9]+)\%?$/) { - $crit = "$1"; - $crit_type = "P"; -} elsif ($opt_c =~ /^([0-9]+)k$/) { - $crit_type = "K"; - $crit = $1; -} elsif ($opt_c =~ /^([0-9]+)M$/) { - $crit_type = "K"; - $crit = $1 * 1024; -} elsif ($opt_c =~ /^([0-9]+)G$/) { - $crit_type = "K"; - $crit = $1 * 1048576; -} - -# check if both warning and critical are percentage or size -unless( ( $warn_type eq "P" && $crit_type eq "P" ) || ( $warn_type ne "P" && $crit_type ne "P" ) ){ - $opt_w =~ s/\%/\%\%/g; - $opt_c =~ s/\%/\%\%/g; - usage("Both warning and critical should be same type- warning: $opt_w critical: $opt_c \n"); -} - -# verify warning is less than critical -if ( $warn_type eq "K") { - unless ( $warn > $crit) { - usage("Disk size: warning ($opt_w) should be greater than critical ($opt_c) \n"); - } -}else{ - unless ( $warn < $crit) { - $opt_w =~ s/\%/\%\%/g; - $opt_c =~ s/\%/\%\%/g; - usage("Percentage: warning ($opt_w) should be less than critical ($opt_c) \n"); - } -} - -my $workgroup = $1 if (defined($opt_W) && $opt_W =~ /(.*)/); - -my $address = $1 if (defined($opt_a) && $opt_a =~ /(.*)/); - -# end of options checking - - -my $state = "OK"; -my $answer = undef; -my $res = undef; -my @lines = undef; - -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print "No Answer from Client\n"; - exit $ERRORS{"UNKNOWN"}; -}; -alarm($TIMEOUT); - -# Execute an "ls" on the share using smbclient program -# get the results into $res -if (defined($workgroup)) { - if (defined($address)) { - print "$smbclient " . "\/\/$host\/$share" ." $pass -W $workgroup -U $user $smbclientoptions -I $address -c ls\n" if ($verbose); - $res = qx/$smbclient "\/\/$host\/$share" $pass -W $workgroup -U $user $smbclientoptions -I $address -c ls/; - } else { - print "$smbclient " . "\/\/$host\/$share" ." $pass -W $workgroup -U $user $smbclientoptions -c ls\n" if ($verbose); - $res = qx/$smbclient "\/\/$host\/$share" $pass -W $workgroup -U $user $smbclientoptions -c ls/; - } -} else { - if (defined($address)) { - print "$smbclient " . "\/\/$host\/$share" ." $pass -U $user $smbclientoptions -I $address -c ls\n" if ($verbose); - $res = qx/$smbclient "\/\/$host\/$share" $pass -U $user $smbclientoptions -I $address -c ls/; - } else { - print "$smbclient " . "\/\/$host\/$share" ." $pass -U $user $smbclientoptions -c ls\n" if ($verbose); - $res = qx/$smbclient "\/\/$host\/$share" $pass -U $user $smbclientoptions -c ls/; - } -} -#Turn off alarm -alarm(0); - -#Split $res into an array of lines -@lines = split /\n/, $res; - -#Get the last line into $_ -$_ = $lines[$#lines]; -#print "$_\n"; - -#Process the last line to get free space. -#If line does not match required regexp, return an UNKNOWN error -if (/\s*(\d*) blocks of size (\d*)\. (\d*) blocks available/) { - - my ($avail) = ($3*$2)/1024; - my ($avail_bytes) = $avail; - my ($capper) = int(($3/$1)*100); - my ($mountpt) = "\\\\$host\\$share"; - - - if (int($avail / 1024) > 0) { - $avail = int($avail / 1024); - if (int($avail /1024) > 0) { - $avail = (int(($avail / 1024)*100))/100; - $avail = $avail ."G"; - } else { - $avail = $avail ."M"; - } - } else { - $avail = $avail ."K"; - } - -#print ":$warn:$warn_type:\n"; -#print ":$crit:$crit_type:\n"; -#print ":$avail:$avail_bytes:$capper:$mountpt:\n"; - - if ((($warn_type eq "P") && (100 - $capper) < $warn) || (($warn_type eq "K") && ($avail_bytes > $warn))) { - $answer = "Disk ok - $avail ($capper%) free on $mountpt\n"; - } elsif ((($crit_type eq "P") && (100 - $capper) < $crit) || (($crit_type eq "K") && ($avail_bytes > $crit))) { - $state = "WARNING"; - $answer = "WARNING: Only $avail ($capper%) free on $mountpt\n"; - } else { - $state = "CRITICAL"; - $answer = "CRITICAL: Only $avail ($capper%) free on $mountpt\n"; - } -} else { - $answer = "Result from smbclient not suitable\n"; - $state = "UNKNOWN"; - foreach (@lines) { - if (/(Access denied|NT_STATUS_LOGON_FAILURE)/) { - $answer = "Access Denied\n"; - $state = "CRITICAL"; - last; - } - if (/(Unknown host \w*|Connection.*failed)/) { - $answer = "$1\n"; - $state = "CRITICAL"; - last; - } - if (/(You specified an invalid share name|NT_STATUS_BAD_NETWORK_NAME)/) { - $answer = "Invalid share name \\\\$host\\$share\n"; - $state = "CRITICAL"; - last; - } - } -} - - -print $answer; -print "$state\n" if ($verbose); -exit $ERRORS{$state}; - -sub print_usage () { - print "Usage: $PROGNAME -H -s -u -p - -w -c [-W ] [-P ] [-a ]\n"; -} - -sub print_help () { - print_revision($PROGNAME,'$Revision: 1.12 $'); - print "Copyright (c) 2000 Michael Anthon/Karl DeBisschop - -Perl Check SMB Disk plugin for Nagios - -"; - print_usage(); - print " --H, --hostname=HOST - NetBIOS name of the server --s, --share=STRING - Share name to be tested --W, --workgroup=STRING - Workgroup or Domain used (Defaults to \"WORKGROUP\") --a, --address=IP - IP-address of HOST (only necessary if HOST is in another network) --u, --user=STRING - Username to log in to server. (Defaults to \"guest\") --p, --password=STRING - Password to log in to server. (Defaults to an empty password) --w, --warning=INTEGER or INTEGER[kMG] - Percent of used space at which a warning will be generated (Default: 85%) - --c, --critical=INTEGER or INTEGER[kMG] - Percent of used space at which a critical will be generated (Defaults: 95%) --P, --port=INTEGER - Port to be used to connect to. Some Windows boxes use 139, others 445 (Defaults to smbclient default) - - If thresholds are followed by either a k, M, or G then check to see if that - much disk space is available (kilobytes, Megabytes, Gigabytes) - - Warning percentage should be less than critical - Warning (remaining) disk space should be greater than critical. - -"; - support(); -} diff --git a/scripts/services/check_dns b/scripts/services/check_dns deleted file mode 100755 index 02e164e79fbfbd7960d97b8566cf80baf05d3e94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23440 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 UmqZMg zwA>1)%9+4M!#(w3y}5aZ+^oaMRz*gdSP3R=K!WM2To#t$W;~(EA$XHaCQ=&WiL-oq z#~gG^%(03^3l~;O-t|gLlu=zQ`+fdO*(>E4krwD`YJrMd2xWnFDPRTD%pMgfsK>&> zRx*@AknHtWrHYNx#EMB35g=SqY2B^TrseCa*H*8VR<2)LyLRRB+oZbcTdUV?s+PE2 zq%u|PnhNyYc}Rnexbs~u+q|%%$`_QX7c7_jzDiu;VHcDG%G7y6!Ky$_pn6rHx>hP{ zENhS&&D^psL=ZRxB$dP+iQ6VMi>nfgg8LH9EnQotUb_^E31yA^QNJf$yHu7c7Wx<6 zPEd0W*Se=#gS%0lI6Q3NUIgtZaO(3wi1(Jo z0Q;VbHSSk9Rp-&eQvh63h&xZ-agMh+UA+GsLd&~1%JDjbCkS{AB;LR{d`i$4e3K*| z1&;1Fet6ew3%!oHoCKT(i~-y~ak}OJt^+Iv{1EULfV%lNs+YqB!_#1sLzz2|gY6SV9g|{R%oFn$rlN!5y=>$YK+mARk0&+EgIYvI_+Zyn_fWA#*xm19fH_A#=G&t%vIu?KF2@P00L)SLnWt}nK}J8{E>LL$09SrOhIu{& zKKf(pW6LDk0U*akF9ze2G|!d0^cg|wb79E*xd(# z+k8jy4R{pFY#LeZe%j*W+VM+^|G#5m)8+AX=JCA=zBi}fdnAvKw`1>2VfP8}F~+nj z{=W$Lj-rn+iiiHukEa2g2l<{soqOiWGrnVJBF@jEZ}YJp{tA3tbNit_!ixZ#&xO-n r7yciOj4}JMM`I6XSC5*=t2!o6pw8F+SuwV0OhX>3seVLEWkA diff --git a/scripts/services/check_file_age b/scripts/services/check_file_age deleted file mode 100755 index a1ed17cebb..0000000000 --- a/scripts/services/check_file_age +++ /dev/null @@ -1,113 +0,0 @@ -#! /usr/bin/perl -w -# $Id: check_file_age.pl,v 1.2 2003/10/21 15:56:35 tonvoon Exp $ - -# check_file_age.pl Copyright (C) 2003 Steven Grimm -# -# Checks a file's size and modification time to make sure it's not empty -# and that it's sufficiently recent. -# -# -# 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 - -use strict; -use English; -use Getopt::Long; -use File::stat; -use vars qw($PROGNAME); -use lib "/usr/lib/nagios/plugins"; -use utils qw (%ERRORS &print_revision &support); - -sub print_help (); -sub print_usage (); - -my ($opt_c, $opt_f, $opt_w, $opt_C, $opt_W, $opt_h, $opt_V); -my ($result, $message, $age, $size, $st); - -$PROGNAME="check_file_age"; - -$opt_w = 240; -$opt_c = 600; -$opt_W = 0; -$opt_C = 0; -$opt_f = ""; - -Getopt::Long::Configure('bundling'); -GetOptions( - "V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "f=s" => \$opt_f, "file" => \$opt_f, - "w=f" => \$opt_w, "warning-age=f" => \$opt_w, - "W=f" => \$opt_W, "warning-size=f" => \$opt_W, - "c=f" => \$opt_c, "critical-age=f" => \$opt_c, - "C=f" => \$opt_C, "critical-size=f" => \$opt_C); - -if ($opt_V) { - print_revision($PROGNAME, '$Id: check_file_age.pl,v 1.2 2003/10/21 15:56:35 tonvoon Exp $'); - exit $ERRORS{'OK'}; -} - -if ($opt_h) { - print_help(); - exit $ERRORS{'OK'}; -} - -$opt_f = shift unless ($opt_f); - -if (! $opt_f) { - print "No file specified\n"; - exit $ERRORS{'UNKNOWN'}; -} - -# Examine the file. -unless (-f $opt_f) { - print "$opt_f: File not found\n"; - exit $ERRORS{'UNKNOWN'}; -} - -$st = File::stat::stat($opt_f); -$age = time - $st->mtime; -$size = $st->size; - - -$result = 'OK'; - -if (($opt_c and $age > $opt_c) or ($opt_C and $size < $opt_C)) { - $result = 'CRITICAL'; -} -elsif (($opt_w and $age > $opt_w) or ($opt_W and $size < $opt_W)) { - $result = 'WARNING'; -} - -print "$result - $opt_f is $age seconds old and $size bytes\n"; -exit $ERRORS{$result}; - -sub print_usage () { - print "Usage:\n"; - print " $PROGNAME [-w ] [-c ] [-W ] [-C ] -f \n"; - print " $PROGNAME [-h | --help]\n"; - print " $PROGNAME [-V | --version]\n"; -} - -sub print_help () { - print_revision($PROGNAME, '$Id: check_file_age.pl,v 1.2 2003/10/21 15:56:35 tonvoon Exp $'); - print "Copyright (c) 2003 Steven Grimm\n\n"; - print_usage(); - print "\n"; - print " File must be no more than this many seconds old\n"; - print " File must be at least this many bytes long\n"; - print "\n"; - support(); -} diff --git a/scripts/services/check_flexlm b/scripts/services/check_flexlm deleted file mode 100755 index f77478a37d..0000000000 --- a/scripts/services/check_flexlm +++ /dev/null @@ -1,245 +0,0 @@ -#! /usr/bin/perl -w -# -# usage: -# check_flexlm.pl license_file -# -# Check available flexlm license managers. -# Use lmstat to check the status of the license server -# described by the license file given as argument. -# Check and interpret the output of lmstat -# and create returncodes and output. -# -# Contrary to the nagios concept, this script takes -# a file, not a hostname as an argument and returns -# the status of hosts and services described in that -# file. Use these hosts.cfg entries as an example -# -#host[anchor]=any host will do;some.address.com;;check-host-alive;3;120;24x7;1;1;1; -#service[anchor]=yodel;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_flexlm!/opt/lic/licfiles/yodel_lic -#service[anchor]=yeehaw;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_flexlm!/opt/lic/licfiles/yeehaw_lic -#command[check_flexlm]=/some/path/libexec/check_flexlm.pl $ARG1$ -# -# Notes: -# - you need the lmstat utility which comes with flexlm. -# - set the correct path in the variable $lmstat. -# -# initial version: 9-10-99 Ernst-Dieter Martin edmt@infineon.com -# -# License: GPL -# $Id: check_flexlm.pl,v 1.6 2003/02/04 06:16:16 sghosh Exp $ -# -# lmstat output patches from Steve Rigler/Cliff Rice 13-Apr-2002 -# srigler@marathonoil.com,cerice@marathonoil.com - - - -use strict; -use Getopt::Long; -use vars qw($opt_V $opt_h $opt_F $opt_t $verbose $PROGNAME); -use lib "/usr/lib/nagios/plugins"; -use utils qw(%ERRORS &print_revision &support &usage); - -$PROGNAME="check_flexlm"; - -sub print_help (); -sub print_usage (); - -$ENV{'PATH'}=''; -$ENV{'BASH_ENV'}=''; -$ENV{'ENV'}=''; - -Getopt::Long::Configure('bundling'); -GetOptions - ("V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "v" => \$verbose, "verbose" => \$verbose, - "F=s" => \$opt_F, "filename=s" => \$opt_F, - "t=i" => \$opt_t, "timeout=i" => \$opt_t); - -if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.6 $'); - exit $ERRORS{'OK'}; -} - -unless (defined $opt_t) { - $opt_t = $utils::TIMEOUT ; # default timeout -} - - -if ($opt_h) {print_help(); exit $ERRORS{'OK'};} - -unless (defined $opt_F) { - print "Missing license.dat file\n"; - print_usage(); - exit $ERRORS{'UNKNOWN'}; -} -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print "Timeout: No Answer from Client\n"; - exit $ERRORS{'UNKNOWN'}; -}; -alarm($opt_t); - -my $lmstat = $utils::PATH_TO_LMSTAT ; -unless (-x $lmstat ) { - print "Cannot find \"lmstat\"\n"; - exit $ERRORS{'UNKNOWN'}; -} - -($opt_F) || ($opt_F = shift) || usage("License file not specified\n"); -my $licfile = $1 if ($opt_F =~ /^(.*)$/); -($licfile) || usage("Invalid filename: $opt_F\n"); - -print "$licfile\n" if $verbose; - -if ( ! open(CMD,"$lmstat -c $licfile |") ) { - print "ERROR: Could not open \"$lmstat -c $licfile\" ($!)\n"; - exit exit $ERRORS{'UNKNOWN'}; -} - -my $serverup = 0; -my @upsrv; -my @downsrv; # list of servers up and down - -#my ($ls1,$ls2,$ls3,$lf1,$lf2,$lf3,$servers); - -# key off of the term "license server" and -# grab the status. Keep going until "Vendor" is found -# - -# -# Collect list of license servers by their status -# Vendor daemon status is ignored for the moment. - -while ( ) { - next if (/^lmstat/); # ignore 1st line - copyright - next if (/^Flexible/); # ignore 2nd line - timestamp - (/^Vendor/) && last; # ignore Vendor daemon status - print $_ if $verbose; - - if ($_ =~ /license server /) { # matched 1 (of possibly 3) license server - s/^\s*//; #some servers start at col 1, other have whitespace - # strip staring whitespace if any - if ( $_ =~ /UP/) { - $_ =~ /^(.*):/ ; - push(@upsrv, $1); - print "up:$1:\n" if $verbose; - } else { - $_ =~ /^(.*):/; - push(@downsrv, $1); - print "down:$1:\n" if $verbose; - } - - } - - -# if ( /^License server status: [0-9]*@([-0-9a-zA-Z_]*),[0-9]*@([-0-9a-zA-Z_]*),[0-9]*@([-0-9a-zA-Z_]*)/ ) { -# $ls1 = $1; -# $ls2 = $2; -# $ls3 = $3; -# $lf1 = $lf2 = $lf3 = 0; -# $servers = 3; -# } elsif ( /^License server status: [0-9]*@([-0-9a-zA-Z_]*)/ ) { -# $ls1 = $1; -# $ls2 = $ls3 = ""; -# $lf1 = $lf2 = $lf3 = 0; -# $servers = 1; -# } elsif ( / *$ls1: license server UP/ ) { -# print "$ls1 UP, "; -# $lf1 = 1 -# } elsif ( / *$ls2: license server UP/ ) { -# print "$ls2 UP, "; -# $lf2 = 1 -# } elsif ( / *$ls3: license server UP/ ) { -# print "$ls3 UP, "; -# $lf3 = 1 -# } elsif ( / *([^:]*: UP .*)/ ) { -# print " license server for $1\n"; -# $serverup = 1; -# } - -} - -#if ( $serverup == 0 ) { -# print " license server not running\n"; -# exit 2; -#} - -close CMD; - -if ($verbose) { - print "License Servers running: ".scalar(@upsrv) ."\n"; - foreach my $upserver (@upsrv) { - print "$upserver\n"; - } - print "License servers not running: ".scalar(@downsrv)."\n"; - foreach my $downserver (@downsrv) { - print "$downserver\n"; - } -} - -# -# print list of servers which are up. -# -if (scalar(@upsrv) > 0) { - print "License Servers running:"; - foreach my $upserver (@upsrv) { - print "$upserver,"; - } -} -# -# Ditto for those which are down. -# -if (scalar(@downsrv) > 0) { - print "License servers NOT running:"; - foreach my $downserver (@downsrv) { - print "$downserver,"; - } -} - -# perfdata -print "\n|flexlm::up:".scalar(@upsrv).";down:".scalar(@downsrv)."\n"; - -exit $ERRORS{'OK'} if ( scalar(@downsrv) == 0 ); -exit $ERRORS{'WARNING'} if ( (scalar(@upsrv) > 0) && (scalar(@downsrv) > 0)); - -#exit $ERRORS{'OK'} if ( $servers == $lf1 + $lf2 + $lf3 ); -#exit $ERRORS{'WARNING'} if ( $servers == 3 && $lf1 + $lf2 + $lf3 == 2 ); -exit $ERRORS{'CRITICAL'}; - - -sub print_usage () { - print "Usage: - $PROGNAME -F [-v] [-t] [-V] [-h] - $PROGNAME --help - $PROGNAME --version -"; -} - -sub print_help () { - print_revision($PROGNAME,'$Revision: 1.6 $'); - print "Copyright (c) 2000 Ernst-Dieter Martin/Karl DeBisschop - -Check available flexlm license managers - -"; - print_usage(); - print " --F, --filename=FILE - Name of license file (usually \"license.dat\") --v, --verbose - Print some extra debugging information (not advised for normal operation) --t, --timeout - Plugin time out in seconds (default = $utils::TIMEOUT ) --V, --version - Show version and license information --h, --help - Show this help screen - -Flexlm license managers usually run as a single server or three servers and a -quorum is needed. The plugin return OK if 1 (single) or 3 (triple) servers -are running, CRITICAL if 1(single) or 3 (triple) servers are down, and WARNING -if 1 or 2 of 3 servers are running\n -"; - support(); -} diff --git a/scripts/services/check_fping b/scripts/services/check_fping deleted file mode 100755 index 27f4bf8179cee429caf7bebd900c07e8be1b7838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20064 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 diff --git a/scripts/services/check_hpjd b/scripts/services/check_hpjd deleted file mode 100755 index e59a7c1f8de7ca0400f4a4a1c87b9b8594749e34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18656 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 diff --git a/scripts/services/check_http b/scripts/services/check_http deleted file mode 100755 index a0520d4e60ee85ee267f9011690bf2b7cff07450..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42304 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 - exit $ERRORS{$state}; - } -} - - -## Main function - -$snmpIfAdminStatus = $snmpIfAdminStatus . "." . $snmpkey; -$snmpIfOperStatus = $snmpIfOperStatus . "." . $snmpkey; -$snmpIfDescr = $snmpIfDescr . "." . $snmpkey; -$snmpIfName = $snmpIfName . "." . $snmpkey ; -$snmpIfAlias = $snmpIfAlias . "." . $snmpkey ; - -push(@snmpoids,$snmpIfAdminStatus); -push(@snmpoids,$snmpIfOperStatus); -push(@snmpoids,$snmpIfDescr); -push(@snmpoids,$snmpIfName) if (defined $ifXTable) ; -push(@snmpoids,$snmpIfAlias) if (defined $ifXTable) ; - - if (!defined($response = $session->get_request(@snmpoids))) { - $answer=$session->error; - $session->close; - $state = 'WARNING'; - print ("$state: SNMP error: $answer\n"); - exit $ERRORS{$state}; - } - - $answer = sprintf("host '%s', %s(%s) is %s\n", - $hostname, - $response->{$snmpIfDescr}, - $snmpkey, - $ifOperStatus{$response->{$snmpIfOperStatus}} - ); - - - ## Check to see if ifName match is requested and it matches - exit if no match - ## not the interface we want to monitor - if ( defined $name && not ($response->{$snmpIfName} eq $name) ) { - $state = 'UNKNOWN'; - $answer = "Interface name ($name) doesn't match snmp value ($response->{$snmpIfName}) (index $snmpkey)"; - print ("$state: $answer"); - exit $ERRORS{$state}; - } - - ## define the interface name - if (defined $ifXTable) { - $name = $response->{$snmpIfName} ." - " .$response->{$snmpIfAlias} ; - }else{ - $name = $response->{$snmpIfDescr} ; - } - - ## if AdminStatus is down - some one made a consious effort to change config - ## - if ( not ($response->{$snmpIfAdminStatus} == 1) ) { - $answer = "Interface $name (index $snmpkey) is administratively down."; - if ( not defined $adminWarn or $adminWarn eq "w" ) { - $state = 'WARNING'; - } elsif ( $adminWarn eq "i" ) { - $state = 'OK'; - } elsif ( $adminWarn eq "c" ) { - $state = 'CRITICAL'; - } else { # If wrong value for -a, say warning - $state = 'WARNING'; - } - } - ## Check operational status - elsif ( $response->{$snmpIfOperStatus} == 2 ) { - $state = 'CRITICAL'; - $answer = "Interface $name (index $snmpkey) is down."; - } elsif ( $response->{$snmpIfOperStatus} == 5 ) { - if (defined $dormantWarn ) { - if ($dormantWarn eq "w") { - $state = 'WARNING'; - $answer = "Interface $name (index $snmpkey) is dormant."; - }elsif($dormantWarn eq "c") { - $state = 'CRITICAL'; - $answer = "Interface $name (index $snmpkey) is dormant."; - }elsif($dormantWarn eq "i") { - $state = 'OK'; - $answer = "Interface $name (index $snmpkey) is dormant."; - } - }else{ - # dormant interface - but warning/critical/ignore not requested - $state = 'CRITICAL'; - $answer = "Interface $name (index $snmpkey) is dormant."; - } - } elsif ( $response->{$snmpIfOperStatus} == 6 ) { - $state = 'CRITICAL'; - $answer = "Interface $name (index $snmpkey) notPresent - possible hotswap in progress."; - } elsif ( $response->{$snmpIfOperStatus} == 7 ) { - $state = 'CRITICAL'; - $answer = "Interface $name (index $snmpkey) down due to lower layer being down."; - - } elsif ( $response->{$snmpIfOperStatus} == 3 || $response->{$snmpIfOperStatus} == 4 ) { - $state = 'CRITICAL'; - $answer = "Interface $name (index $snmpkey) down (testing/unknown)."; - - } else { - $state = 'OK'; - $answer = "Interface $name (index $snmpkey) is up."; - } - - - -print ("$state: $answer"); -exit $ERRORS{$state}; - - -### subroutines - -sub fetch_ifdescr { - if (!defined ($response = $session->get_table($snmpIfDescr))) { - $answer=$session->error; - $session->close; - $state = 'CRITICAL'; - printf ("$state: SNMP error with snmp version $snmp_version ($answer)\n"); - $session->close; - exit $ERRORS{$state}; - } - - foreach $key ( keys %{$response}) { - if ($response->{$key} =~ /^$ifdescr$/) { - $key =~ /.*\.(\d+)$/; - $snmpkey = $1; - #print "$ifdescr = $key / $snmpkey \n"; #debug - } - } - unless (defined $snmpkey) { - $session->close; - $state = 'CRITICAL'; - printf "$state: Could not match $ifdescr on $hostname\n"; - exit $ERRORS{$state}; - } - - return $snmpkey; -} - -sub usage() { - printf "\nMissing arguments!\n"; - printf "\n"; - printf "usage: \n"; - printf "check_ifoperstatus -k -H [-C ]\n"; - printf "Copyright (C) 2000 Christoph Kron\n"; - printf "check_ifoperstatus.pl comes with ABSOLUTELY NO WARRANTY\n"; - printf "This programm is licensed under the terms of the "; - printf "GNU General Public License\n(check source code for details)\n"; - printf "\n\n"; - exit $ERRORS{"UNKNOWN"}; -} - -sub print_help() { - printf "check_ifoperstatus plugin for Nagios monitors operational \n"; - printf "status of a particular network interface on the target host\n"; - printf "\nUsage:\n"; - printf " -H (--hostname) Hostname to query - (required)\n"; - printf " -C (--community) SNMP read community (defaults to public,\n"; - printf " used with SNMP v1 and v2c\n"; - printf " -v (--snmp_version) 1 for SNMP v1 (default)\n"; - printf " 2 for SNMP v2c\n"; - printf " SNMP v2c will use get_bulk for less overhead\n"; - printf " if monitoring with -d\n"; - printf " -L (--seclevel) choice of \"noAuthNoPriv\", \"authNoPriv\", or \"authPriv\"\n"; - printf " -U (--secname) username for SNMPv3 context\n"; - printf " -c (--context) SNMPv3 context name (default is empty string)"; - printf " -A (--authpass) authentication password (cleartext ascii or localized key\n"; - printf " in hex with 0x prefix generated by using \"snmpkey\" utility\n"; - printf " auth password and authEngineID\n"; - printf " -a (--authproto) Authentication protocol ( MD5 or SHA1)\n"; - printf " -X (--privpass) privacy password (cleartext ascii or localized key\n"; - printf " in hex with 0x prefix generated by using \"snmpkey\" utility\n"; - printf " privacy password and authEngineID\n"; - printf " -k (--key) SNMP IfIndex value\n"; - printf " -d (--descr) SNMP ifDescr value\n"; - printf " -p (--port) SNMP port (default 161)\n"; - printf " -I (--ifmib) Agent supports IFMIB ifXTable. Do not use if\n"; - printf " you don't know what this is. \n"; - printf " -n (--name) the value should match the returned ifName\n"; - printf " (Implies the use of -I)\n"; - printf " -w (--warn =i|w|c) ignore|warn|crit if the interface is dormant (default critical)\n"; - printf " -D (--admin-down =i|w|c) same for administratively down interfaces (default warning)\n"; - printf " -M (--maxmsgsize) Max message size - usefull only for v1 or v2c\n"; - printf " -t (--timeout) seconds before the plugin times out (default=$TIMEOUT)\n"; - printf " -V (--version) Plugin version\n"; - printf " -h (--help) usage help \n\n"; - printf " -k or -d must be specified\n\n"; - printf "Note: either -k or -d must be specified and -d is much more network \n"; - printf "intensive. Use it sparingly or not at all. -n is used to match against\n"; - printf "a much more descriptive ifName value in the IfXTable to verify that the\n"; - printf "snmpkey has not changed to some other network interface after a reboot.\n\n"; - print_revision($PROGNAME, '$Revision: 1.6 $'); - -} - -sub process_arguments() { - $status = GetOptions( - "V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "v=i" => \$snmp_version, "snmp_version=i" => \$snmp_version, - "C=s" => \$community, "community=s" => \$community, - "L=s" => \$seclevel, "seclevel=s" => \$seclevel, - "a=s" => \$authproto, "authproto=s" => \$authproto, - "U=s" => \$secname, "secname=s" => \$secname, - "A=s" => \$authpass, "authpass=s" => \$authpass, - "X=s" => \$privpass, "privpass=s" => \$privpass, - "c=s" => \$context, "context=s" => \$context, - "k=i" => \$snmpkey, "key=i",\$snmpkey, - "d=s" => \$ifdescr, "descr=s" => \$ifdescr, - "l=s" => \$lastc, "lastchange=s" => \$lastc, - "p=i" => \$port, "port=i" =>\$port, - "H=s" => \$hostname, "hostname=s" => \$hostname, - "I" => \$ifXTable, "ifmib" => \$ifXTable, - "n=s" => \$ifName, "name=s" => \$ifName, - "w=s" => \$dormantWarn, "warn=s" => \$dormantWarn, - "D=s" => \$adminWarn, "admin-down=s" => \$adminWarn, - "M=i" => \$maxmsgsize, "maxmsgsize=i" => \$maxmsgsize, - "t=i" => \$timeout, "timeout=i" => \$timeout, - ); - - - - if ($status == 0){ - print_help(); - exit $ERRORS{'OK'}; - } - - if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.6 $ '); - exit $ERRORS{'OK'}; - } - - if ($opt_h) { - print_help(); - exit $ERRORS{'OK'}; - } - - if (! utils::is_hostname($hostname)){ - usage(); - exit $ERRORS{"UNKNOWN"}; - } - - - unless ($snmpkey > 0 || defined $ifdescr){ - printf "Either a valid snmpkey key (-k) or a ifDescr (-d) must be provided)\n"; - usage(); - exit $ERRORS{"UNKNOWN"}; - } - - - if (defined $name) { - $ifXTable=1; - } - - if (defined $dormantWarn) { - unless ($dormantWarn =~ /^(w|c|i)$/ ) { - printf "Dormant alerts must be one of w|c|i \n"; - exit $ERRORS{'UNKNOWN'}; - } - } - - unless (defined $timeout) { - $timeout = $TIMEOUT; - } - - if ($snmp_version =~ /3/ ) { - # Must define a security level even though default is noAuthNoPriv - # v3 requires a security username - if (defined $seclevel && defined $secname) { - - # Must define a security level even though defualt is noAuthNoPriv - unless ($seclevel eq ('noAuthNoPriv' || 'authNoPriv' || 'authPriv' ) ) { - usage(); - exit $ERRORS{"UNKNOWN"}; - } - - # Authentication wanted - if ($seclevel eq ('authNoPriv' || 'authPriv') ) { - - unless ($authproto eq ('MD5' || 'SHA1') ) { - usage(); - exit $ERRORS{"UNKNOWN"}; - } - - if ( !defined $authpass) { - usage(); - exit $ERRORS{"UNKNOWN"}; - }else{ - if ($authpass =~ /^0x/ ) { - $auth = "-authkey => $authpass" ; - }else{ - $auth = "-authpassword => $authpass"; - } - } - - } - - # Privacy (DES encryption) wanted - if ($seclevel eq 'authPriv' ) { - if (! defined $privpass) { - usage(); - exit $ERRORS{"UNKNOWN"}; - }else{ - if ($privpass =~ /^0x/){ - $priv = "-privkey => $privpass"; - }else{ - $priv = "-privpassword => $privpass"; - } - } - } - - # Context name defined or default - - unless ( defined $context) { - $context = ""; - } - - - - }else { - usage(); - exit $ERRORS{'UNKNOWN'}; ; - } - } # end snmpv3 - - - if ( $snmp_version =~ /[12]/ ) { - ($session, $error) = Net::SNMP->session( - -hostname => $hostname, - -community => $community, - -port => $port, - -version => $snmp_version, - -maxmsgsize => $maxmsgsize - ); - - if (!defined($session)) { - $state='UNKNOWN'; - $answer=$error; - print ("$state: $answer"); - exit $ERRORS{$state}; - } - - }elsif ( $snmp_version =~ /3/ ) { - - if ($seclevel eq 'noAuthNoPriv') { - ($session, $error) = Net::SNMP->session( - -hostname => $hostname, - -port => $port, - -version => $snmp_version, - -username => $secname, - ); - - }elsif ( $seclevel eq 'authNoPriv' ) { - ($session, $error) = Net::SNMP->session( - -hostname => $hostname, - -port => $port, - -version => $snmp_version, - -username => $secname, - $auth, - -authprotocol => $authproto, - ); - }elsif ($seclevel eq 'authPriv' ) { - ($session, $error) = Net::SNMP->session( - -hostname => $hostname, - -port => $port, - -version => $snmp_version, - -username => $secname, - $auth, - -authprotocol => $authproto, - $priv - ); - } - - - if (!defined($session)) { - $state='UNKNOWN'; - $answer=$error; - print ("$state: $answer"); - exit $ERRORS{$state}; - } - - }else{ - $state='UNKNOWN'; - print ("$state: No support for SNMP v$snmp_version yet\n"); - exit $ERRORS{$state}; - } - -} -## End validation - diff --git a/scripts/services/check_ifstatus b/scripts/services/check_ifstatus deleted file mode 100755 index 3f3d70234f..0000000000 --- a/scripts/services/check_ifstatus +++ /dev/null @@ -1,459 +0,0 @@ -#! /usr/bin/perl -w -# -# check_ifstatus.pl - nagios plugin -# -# -# Copyright (C) 2000 Christoph Kron -# Modified 5/2002 to conform to updated Nagios Plugin Guidelines (S. Ghosh) -# Added -x option (4/2003) -# Added -u option (4/2003) -# Added -M option (10/2003) -# Added SNMPv3 support (10/2003) -# -# 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; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# -# Report bugs to: ck@zet.net, nagiosplug-help@lists.sf.net -# -# 11.01.2000 Version 1.0 -# -# $Id: check_ifstatus.pl,v 1.9 2004/08/18 19:51:35 tonvoon Exp $ - -use POSIX; -use strict; -use lib "/usr/lib/nagios/plugins" ; -use utils qw($TIMEOUT %ERRORS &print_revision &support); - -use Net::SNMP; -use Getopt::Long; -Getopt::Long::Configure('bundling'); - -my $PROGNAME = "check_ifstatus"; - -sub print_help (); -sub usage (); -sub process_arguments (); - - -my $status; -my %ifOperStatus = ('1','up', - '2','down', - '3','testing', - '4','unknown', - '5','dormant', - '6','notPresent', - '7','lowerLayerDown'); # down due to the state of lower layer interface(s)); - -my $timeout ; -my $state = "UNKNOWN"; -my $answer = ""; -my $snmpkey=0; -my $snmpoid=0; -my $key=0; -my $community = "public"; -my $maxmsgsize = 1472 ; # Net::SNMP default is 1472 -my ($seclevel, $authproto, $secname, $authpass, $privpass, $auth, $priv, $context); -my $port = 161; -my @snmpoids; -my $snmpIfAdminStatus = '1.3.6.1.2.1.2.2.1.7'; -my $snmpIfDescr = '1.3.6.1.2.1.2.2.1.2'; -my $snmpIfOperStatus = '1.3.6.1.2.1.2.2.1.8'; -my $snmpIfName = '1.3.6.1.2.1.31.1.1.1.1'; -my $snmpIfAlias = '1.3.6.1.2.1.31.1.1.1.18'; -my $snmpLocIfDescr = '1.3.6.1.4.1.9.2.2.1.1.28'; -my $snmpIfType = '1.3.6.1.2.1.2.2.1.3'; -my $hostname; -my $session; -my $error; -my $response; -my %ifStatus; -my $ifup =0 ; -my $ifdown =0; -my $ifdormant = 0; -my $ifexclude = 0 ; -my $ifunused = 0; -my $ifmessage = ""; -my $snmp_version = 1; -my $ifXTable; -my $opt_h ; -my $opt_V ; -my $opt_u; -my $opt_x ; -my %excluded ; -my @unused_ports ; - - - - - -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print ("ERROR: No snmp response from $hostname (alarm timeout)\n"); - exit $ERRORS{"UNKNOWN"}; -}; - - -#Option checking -$status = process_arguments(); - -if ($status != 0) -{ - print_help() ; - exit $ERRORS{'OK'}; -} - - -alarm($timeout); - -push(@snmpoids,$snmpIfOperStatus); -push(@snmpoids,$snmpIfAdminStatus); -push(@snmpoids,$snmpIfDescr); -push(@snmpoids,$snmpIfType); -push(@snmpoids,$snmpIfName) if ( defined $ifXTable); -push(@snmpoids,$snmpIfAlias) if ( defined $ifXTable); - - - - -foreach $snmpoid (@snmpoids) { - - if (!defined($response = $session->get_table($snmpoid))) { - $answer=$session->error; - $session->close; - $state = 'CRITICAL'; - if ( ( $snmpoid =~ $snmpIfName ) && defined $ifXTable ) { - print ("$state: Device does not support ifTable - try without -I option\n"); - }else{ - print ("$state: $answer for $snmpoid with snmp version $snmp_version\n"); - } - exit $ERRORS{$state}; - } - - foreach $snmpkey (keys %{$response}) { - $snmpkey =~ /.*\.(\d+)$/; - $key = $1; - $ifStatus{$key}{$snmpoid} = $response->{$snmpkey}; - } -} - - -$session->close; - -alarm(0); - -foreach $key (keys %ifStatus) { - - # skip unused interfaces - if (!defined($ifStatus{$key}{'notInUse'})) { - # check only if interface is administratively up - if ($ifStatus{$key}{$snmpIfAdminStatus} == 1 ) { - - # check only if interface type is not listed in %excluded - if (!defined $excluded{$ifStatus{$key}{$snmpIfType}} ) { - if ($ifStatus{$key}{$snmpIfOperStatus} == 1 ) { $ifup++ ;} - if ($ifStatus{$key}{$snmpIfOperStatus} == 2 ) { - $ifdown++ ; - if (defined $ifXTable) { - $ifmessage .= sprintf("%s: down -> %s
", - $ifStatus{$key}{$snmpIfName}, - $ifStatus{$key}{$snmpIfAlias}); - }else{ - $ifmessage .= sprintf("%s: down
", - $ifStatus{$key}{$snmpIfDescr}); - } - } - if ($ifStatus{$key}{$snmpIfOperStatus} == 5 ) { $ifdormant++ ;} - }else{ - $ifexclude++; - } - - } - }else{ - $ifunused++; - } -} - - if ($ifdown > 0) { - $state = 'CRITICAL'; - $answer = sprintf("host '%s', interfaces up: %d, down: %d, dormant: %d, excluded: %d, unused: %d
", - $hostname, - $ifup, - $ifdown, - $ifdormant, - $ifexclude, - $ifunused); - $answer = $answer . $ifmessage . "\n"; - } - else { - $state = 'OK'; - $answer = sprintf("host '%s', interfaces up: %d, down: %d, dormant: %d, excluded: %d, unused: %d", - $hostname, - $ifup, - $ifdown, - $ifdormant, - $ifexclude, - $ifunused); - } -my $perfdata = sprintf("up=%d,down=%d,dormant=%d,excluded=%d,unused=%d",$ifup,$ifdown,$ifdormant,$ifexclude,$ifunused); -print ("$state: $answer |$perfdata\n"); -exit $ERRORS{$state}; - - -sub usage (){ - printf "\nMissing arguments!\n"; - printf "\n"; - printf "check_ifstatus -C -p -H \n"; - printf "Copyright (C) 2000 Christoph Kron\n"; - printf "Updates 5/2002 Subhendu Ghosh\n"; - printf "\n\n"; - support(); - exit $ERRORS{"UNKNOWN"}; -} - -sub print_help (){ - printf "check_ifstatus plugin for Nagios monitors operational \n"; - printf "status of each network interface on the target host\n"; - printf "\nUsage:\n"; - printf " -H (--hostname) Hostname to query - (required)\n"; - printf " -C (--community) SNMP read community (defaults to public,\n"; - printf " used with SNMP v1 and v2c\n"; - printf " -v (--snmp_version) 1 for SNMP v1 (default)\n"; - printf " 2 for SNMP v2c\n"; - printf " SNMP v2c will use get_bulk for less overhead\n"; - printf " 3 for SNMPv3 (requires -U option)"; - printf " -p (--port) SNMP port (default 161)\n"; - printf " -I (--ifmib) Agent supports IFMIB ifXTable. For Cisco - this will provide\n"; - printf " the descriptive name. Do not use if you don't know what this is. \n"; - printf " -x (--exclude) A comma separated list of ifType values that should be excluded \n"; - printf " from the report (default for an empty list is PPP(23).\n"; - printf " -u (--unused_ports) A comma separated list of ifIndex values that should be excluded \n"; - printf " from the report (default is an empty exclusion list).\n"; - printf " See the IANAifType-MIB for a list of interface types.\n"; - printf " -L (--seclevel) choice of \"noAuthNoPriv\", \"authNoPriv\", or \"authPriv\"\n"; - printf " -U (--secname) username for SNMPv3 context\n"; - printf " -c (--context) SNMPv3 context name (default is empty string)"; - printf " -A (--authpass) authentication password (cleartext ascii or localized key\n"; - printf " in hex with 0x prefix generated by using \"snmpkey\" utility\n"; - printf " auth password and authEngineID\n"; - printf " -a (--authproto) Authentication protocol ( MD5 or SHA1)\n"; - printf " -X (--privpass) privacy password (cleartext ascii or localized key\n"; - printf " in hex with 0x prefix generated by using \"snmpkey\" utility\n"; - printf " privacy password and authEngineID\n"; - printf " -M (--maxmsgsize) Max message size - usefull only for v1 or v2c\n"; - printf " -t (--timeout) seconds before the plugin times out (default=$TIMEOUT)\n"; - printf " -V (--version) Plugin version\n"; - printf " -h (--help) usage help \n\n"; - print_revision($PROGNAME, '$Revision: 1.9 $'); - -} - -sub process_arguments() { - $status = GetOptions( - "V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "v=i" => \$snmp_version, "snmp_version=i" => \$snmp_version, - "C=s" => \$community,"community=s" => \$community, - "L=s" => \$seclevel, "seclevel=s" => \$seclevel, - "a=s" => \$authproto, "authproto=s" => \$authproto, - "U=s" => \$secname, "secname=s" => \$secname, - "A=s" => \$authpass, "authpass=s" => \$authpass, - "X=s" => \$privpass, "privpass=s" => \$privpass, - "c=s" => \$context, "context=s" => \$context, - "p=i" =>\$port, "port=i" => \$port, - "H=s" => \$hostname, "hostname=s" => \$hostname, - "I" => \$ifXTable, "ifmib" => \$ifXTable, - "x:s" => \$opt_x, "exclude:s" => \$opt_x, - "u=s" => \$opt_u, "unused_ports=s" => \$opt_u, - "M=i" => \$maxmsgsize, "maxmsgsize=i" => \$maxmsgsize, - "t=i" => \$timeout, "timeout=i" => \$timeout, - ); - - if ($status == 0){ - print_help() ; - exit $ERRORS{'OK'}; - } - if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.9 $ '); - exit $ERRORS{'OK'}; - } - - if ($opt_h) { - print_help(); - exit $ERRORS{'OK'}; - } - - unless (defined $timeout) { - $timeout = $TIMEOUT; - } - - if ($snmp_version =~ /3/ ) { - # Must define a security level even though default is noAuthNoPriv - # v3 requires a security username - if (defined $seclevel && defined $secname) { - - # Must define a security level even though defualt is noAuthNoPriv - unless ($seclevel eq ('noAuthNoPriv' || 'authNoPriv' || 'authPriv' ) ) { - usage(); - exit $ERRORS{"UNKNOWN"}; - } - - # Authentication wanted - if ($seclevel eq ('authNoPriv' || 'authPriv') ) { - - unless ($authproto eq ('MD5' || 'SHA1') ) { - usage(); - exit $ERRORS{"UNKNOWN"}; - } - - if ( !defined $authpass) { - usage(); - exit $ERRORS{"UNKNOWN"}; - }else{ - if ($authpass =~ /^0x/ ) { - $auth = "-authkey => $authpass" ; - }else{ - $auth = "-authpassword => $authpass"; - } - } - - } - - # Privacy (DES encryption) wanted - if ($seclevel eq 'authPriv' ) { - if (! defined $privpass) { - usage(); - exit $ERRORS{"UNKNOWN"}; - }else{ - if ($privpass =~ /^0x/){ - $priv = "-privkey => $privpass"; - }else{ - $priv = "-privpassword => $privpass"; - } - } - } - - # Context name defined or default - - unless ( defined $context) { - $context = ""; - } - - - - }else { - usage(); - exit $ERRORS{'UNKNOWN'}; ; - } - } # end snmpv3 - - # for snmp v1 & v2c we default to community = "public" - - # Excluded interfaces types (ifType) (backup interfaces, dial-on demand interfaces, PPP interfaces - if (defined $opt_x) { - my @x = split(/,/, $opt_x); - if ( @x) { - foreach $key (@x){ - $excluded{$key} = 1; - } - }else{ - $excluded{23} = 1; # default PPP(23) if empty list - note (AIX seems to think PPP is 22 according to a post) - } - } - - # Excluded interface ports (ifIndex) - management reasons - if ($opt_u) { - @unused_ports = split(/,/,$opt_u); - foreach $key (@unused_ports) { - $ifStatus{$key}{'notInUse'}++ ; - } - } - - if (! utils::is_hostname($hostname)){ - usage(); - exit $ERRORS{"UNKNOWN"}; - } - - # create SNMP session handle based on options passed. - - if ( ! $snmp_version ) { - $snmp_version =1 ; - }else{ - if ( $snmp_version =~ /[12]/ ) { - - ($session, $error) = Net::SNMP->session( - -hostname => $hostname, - -community => $community, - -port => $port, - -version => $snmp_version, - -maxmsgsize => $maxmsgsize - ); - - if (!defined($session)) { - $state='UNKNOWN'; - $answer=$error; - print ("$state: $answer"); - exit $ERRORS{$state}; - } - - - }elsif ( $snmp_version =~ /3/ ) { - - if ($seclevel eq 'noAuthNoPriv') { - ($session, $error) = Net::SNMP->session( - -hostname => $hostname, - -port => $port, - -version => $snmp_version, - -username => $secname, - ); - - }elsif ( $seclevel eq 'authNoPriv' ) { - ($session, $error) = Net::SNMP->session( - -hostname => $hostname, - -port => $port, - -version => $snmp_version, - -username => $secname, - -authprotocol => $authproto, - $auth - ); - }elsif ($seclevel eq 'authPriv' ) { - ($session, $error) = Net::SNMP->session( - -hostname => $hostname, - -port => $port, - -version => $snmp_version, - -username => $secname, - -authprotocol => $authproto, - $auth, - $priv - ); - } - - - if (!defined($session)) { - $state='UNKNOWN'; - $answer=$error; - print ("$state: $answer"); - exit $ERRORS{$state}; - } - - }else{ - $state='UNKNOWN'; - print ("$state: No support for SNMP v$snmp_version yet\n"); - exit $ERRORS{$state}; - } -} - -return $ERRORS{"OK"}; - -} diff --git a/scripts/services/check_imap b/scripts/services/check_imap deleted file mode 120000 index e838da97eb..0000000000 --- a/scripts/services/check_imap +++ /dev/null @@ -1 +0,0 @@ -check_tcp \ No newline at end of file diff --git a/scripts/services/check_ircd b/scripts/services/check_ircd deleted file mode 100755 index 8900b8aeeb..0000000000 --- a/scripts/services/check_ircd +++ /dev/null @@ -1,250 +0,0 @@ -#! /usr/bin/perl -wT - -# ----------------------------------------------------------------------------- -# File Name: check_ircd.pl -# -# Author: Richard Mayhew - South Africa -# -# Date: 1999/09/20 -# -# $Id: check_ircd.pl,v 1.3 2002/05/07 05:35:49 sghosh Exp $ -# -# Description: This script will check to see if an IRCD is running -# about how many users it has -# -# Email: netsaint@splash.co.za -# -# ----------------------------------------------------------------------------- -# Copyright 1999 (c) Richard Mayhew -# -# Credits go to Ethan Galstad for coding Nagios -# -# If any changes are made to this script, please mail me a copy of the -# changes :) -# -# Some code taken from Charlie Cook (check_disk.pl) -# -# License GPL -# -# ----------------------------------------------------------------------------- -# Date Author Reason -# ---- ------ ------ -# -# 1999/09/20 RM Creation -# -# 1999/09/20 TP Changed script to use strict, more secure by -# specifying $ENV variables. The bind command is -# still insecure through. Did most of my work -# with perl -wT and 'use strict' -# -# test using check_ircd.pl (irc-2.mit.edu|irc.erols.com|irc.core.com) -# 2002/05/02 SG Fixed for Embedded Perl -# - -# ----------------------------------------------------------------[ Require ]-- - -require 5.004; - -# -------------------------------------------------------------------[ Uses ]-- - -use Socket; -use strict; -use Getopt::Long; -use vars qw($opt_V $opt_h $opt_t $opt_p $opt_H $opt_w $opt_c $verbose); -use vars qw($PROGNAME); -use lib "/usr/lib/nagios/plugins"; -use utils qw($TIMEOUT %ERRORS &print_revision &support &usage); - -# ----------------------------------------------------[ Function Prototypes ]-- - -sub print_help (); -sub print_usage (); -sub connection ($$$$); -sub bindRemote ($$$); - -# -------------------------------------------------------------[ Enviroment ]-- - -$ENV{PATH} = ""; -$ENV{ENV} = ""; -$ENV{BASH_ENV} = ""; - -# -----------------------------------------------------------------[ Global ]-- - -$PROGNAME = "check_ircd"; -my $NICK="ircd$$"; -my $USER_INFO="monitor localhost localhost : "; - -# -------------------------------------------------------------[ connection ]-- -sub connection ($$$$) -{ - my ($in_remotehost,$in_users,$in_warn,$in_crit) = @_; - my $state; - my $answer; - - print "connection(debug): users = $in_users\n" if $verbose; - $in_users =~ s/\ //g; - - if ($in_users >= 0) { - - if ($in_users > $in_crit) { - $state = "CRITICAL"; - $answer = "Critical Number Of Clients Connected : $in_users (Limit = $in_crit)\n"; - - } elsif ($in_users > $in_warn) { - $state = "WARNING"; - $answer = "Warning Number Of Clients Connected : $in_users (Limit = $in_warn)\n"; - - } else { - $state = "OK"; - $answer = "IRCD ok - Current Local Users: $in_users\n"; - } - - } else { - $state = "UNKNOWN"; - $answer = "Server $in_remotehost has less than 0 users! Something is Really WRONG!\n"; - } - - print ClientSocket "quit\n"; - print $answer; - exit $ERRORS{$state}; -} - -# ------------------------------------------------------------[ print_usage ]-- - -sub print_usage () { - print "Usage: $PROGNAME -H [-w ] [-c ] [-p ]\n"; -} - -# -------------------------------------------------------------[ print_help ]-- - -sub print_help () -{ - print_revision($PROGNAME,'$Revision: 1.3 $ '); - print "Copyright (c) 2000 Richard Mayhew/Karl DeBisschop - -Perl Check IRCD plugin for Nagios - -"; - print_usage(); - print " --H, --hostname=HOST - Name or IP address of host to check --w, --warning=INTEGER - Number of connected users which generates a warning state (Default: 50) --c, --critical=INTEGER - Number of connected users which generates a critical state (Default: 100) --p, --port=INTEGER - Port that the ircd daemon is running on (Default: 6667) --v, --verbose - Print extra debugging information -"; -} - -# -------------------------------------------------------------[ bindRemote ]-- - -sub bindRemote ($$$) -{ - my ($in_remotehost, $in_remoteport, $in_hostname) = @_; - my $proto = getprotobyname('tcp'); - my $sockaddr; - my $this; - my $that; - my ($name, $aliases,$type,$len,$thataddr) = gethostbyname($in_remotehost); -# ($name,$aliases,$type,$len,$thisaddr) = gethostbyname($in_hostname); - - if (!socket(ClientSocket,AF_INET, SOCK_STREAM, $proto)) { - print "IRCD UNKNOWN: Could not start socket ($!)\n"; - exit $ERRORS{"UNKNOWN"}; - } - $sockaddr = 'S n a4 x8'; - $this = pack($sockaddr, AF_INET, 0, INADDR_ANY); - $that = pack($sockaddr, AF_INET, $in_remoteport, $thataddr); - if (!bind(ClientSocket, $this)) { - print "IRCD UNKNOWN: Could not bind socket ($!)\n"; - exit $ERRORS{"UNKNOWN"}; - } - if (!connect(ClientSocket, $that)) { - print "IRCD UNKNOWN: Could not connect socket ($!)\n"; - exit $ERRORS{"UNKNOWN"}; - } - select(ClientSocket); $| = 1; select(STDOUT); - return \*ClientSocket; -} - -# ===================================================================[ MAIN ]== - -MAIN: -{ - my $hostname; - - Getopt::Long::Configure('bundling'); - GetOptions - ("V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "v" => \$verbose,"verbose" => \$verbose, - "t=i" => \$opt_t, "timeout=i" => \$opt_t, - "w=i" => \$opt_w, "warning=i" => \$opt_w, - "c=i" => \$opt_c, "critical=i" => \$opt_c, - "p=i" => \$opt_p, "port=i" => \$opt_p, - "H=s" => \$opt_H, "hostname=s" => \$opt_H); - - if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.3 $ '); - exit $ERRORS{'OK'}; - } - - if ($opt_h) {print_help(); exit $ERRORS{'OK'};} - - ($opt_H) || ($opt_H = shift) || usage("Host name/address not specified\n"); - my $remotehost = $1 if ($opt_H =~ /([-.A-Za-z0-9]+)/); - ($remotehost) || usage("Invalid host: $opt_H\n"); - - ($opt_w) || ($opt_w = shift) || ($opt_w = 50); - my $warn = $1 if ($opt_w =~ /^([0-9]+)$/); - ($warn) || usage("Invalid warning threshold: $opt_w\n"); - - ($opt_c) || ($opt_c = shift) || ($opt_c = 100); - my $crit = $1 if ($opt_c =~ /^([0-9]+)$/); - ($crit) || usage("Invalid critical threshold: $opt_c\n"); - - ($opt_p) || ($opt_p = shift) || ($opt_p = 6667); - my $remoteport = $1 if ($opt_p =~ /^([0-9]+)$/); - ($remoteport) || usage("Invalid port: $opt_p\n"); - - if ($opt_t && $opt_t =~ /^([0-9]+)$/) { $TIMEOUT = $1; } - - # Just in case of problems, let's not hang Nagios - $SIG{'ALRM'} = sub { - print "Somthing is Taking a Long Time, Increase Your TIMEOUT (Currently Set At $TIMEOUT Seconds)\n"; - exit $ERRORS{"UNKNOWN"}; - }; - - alarm($TIMEOUT); - - chomp($hostname = `/bin/hostname`); - $hostname = $1 if ($hostname =~ /([-.a-zA-Z0-9]+)/); - my ($name, $alias, $proto) = getprotobyname('tcp'); - print "MAIN(debug): hostname = $hostname\n" if $verbose; - - print "MAIN(debug): binding to remote host: $remotehost -> $remoteport -> $hostname\n" if $verbose; - my $ClientSocket = &bindRemote($remotehost,$remoteport,$hostname); - - print ClientSocket "NICK $NICK\nUSER $USER_INFO\n"; - - while () { - print "MAIN(debug): default var = $_\n" if $verbose; - - # DALnet,LagNet,UnderNet etc. Require this! - # Replies with a PONG when presented with a PING query. - # If a server doesn't require it, it will be ignored. - - if (m/^PING (.*)/) {print ClientSocket "PONG $1\n";} - - alarm(0); - - # Look for pattern in IRCD Output to gather Client Connections total. - connection($remotehost,$1,$warn,$crit) if (m/:I have\s+(\d+)/); - } - print "IRCD UNKNOWN: Unknown error - maybe could not authenticate\n"; - exit $ERRORS{"UNKNOWN"}; -} diff --git a/scripts/services/check_jabber b/scripts/services/check_jabber deleted file mode 120000 index e838da97eb..0000000000 --- a/scripts/services/check_jabber +++ /dev/null @@ -1 +0,0 @@ -check_tcp \ No newline at end of file diff --git a/scripts/services/check_ldap b/scripts/services/check_ldap deleted file mode 100755 index d7afad1d5b4d90234145445345af31c6215e6dca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16528 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 V#)56UOkO$$TF~t`5u=^x{{t6Eke~nn diff --git a/scripts/services/check_ldaps b/scripts/services/check_ldaps deleted file mode 100755 index d7afad1d5b4d90234145445345af31c6215e6dca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16528 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 V#)56UOkO$$TF~t`5u=^x{{t6Eke~nn diff --git a/scripts/services/check_load b/scripts/services/check_load deleted file mode 100755 index 4430d49cd512c14edef3b5ec9f3546e4f09da454..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14072 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 X7W;J`6T{9%TLz1AI}L!8d_MmVF1%i! diff --git a/scripts/services/check_log b/scripts/services/check_log deleted file mode 100755 index 8f55865af8..0000000000 --- a/scripts/services/check_log +++ /dev/null @@ -1,217 +0,0 @@ -#! /bin/sh -# -# Log file pattern detector plugin for Nagios -# Written by Ethan Galstad (nagios@nagios.org) -# Last Modified: 07-31-1999 -# -# Usage: ./check_log -# -# Description: -# -# This plugin will scan a log file (specified by the option) -# for a specific pattern (specified by the option). Successive -# calls to the plugin script will only report *new* pattern matches in the -# log file, since an copy of the log file from the previous run is saved -# to . -# -# Output: -# -# On the first run of the plugin, it will return an OK state with a message -# of "Log check data initialized". On successive runs, it will return an OK -# state if *no* pattern matches have been found in the *difference* between the -# log file and the older copy of the log file. If the plugin detects any -# pattern matches in the log diff, it will return a CRITICAL state and print -# out a message is the following format: "(x) last_match", where "x" is the -# total number of pattern matches found in the file and "last_match" is the -# last entry in the log file which matches the pattern. -# -# Notes: -# -# If you use this plugin make sure to keep the following in mind: -# -# 1. The "max_attempts" value for the service should be 1, as this -# will prevent Nagios from retrying the service check (the -# next time the check is run it will not produce the same results). -# -# 2. The "notify_recovery" value for the service should be 0, so that -# Nagios does not notify you of "recoveries" for the check. Since -# pattern matches in the log file will only be reported once and not -# the next time, there will always be "recoveries" for the service, even -# though recoveries really don't apply to this type of check. -# -# 3. You *must* supply a different for each service that -# you define to use this plugin script - even if the different services -# check the same for pattern matches. This is necessary -# because of the way the script operates. -# -# Examples: -# -# Check for login failures in the syslog... -# -# check_log /var/log/messages ./check_log.badlogins.old "LOGIN FAILURE" -# -# Check for port scan alerts generated by Psionic's PortSentry software... -# -# check_log /var/log/message ./check_log.portscan.old "attackalert" -# - -# Paths to commands used in this script. These -# may have to be modified to match your system setup. - -PATH="" - -ECHO="/bin/echo" -GREP="/bin/grep" -DIFF="/usr/bin/diff" -TAIL="/usr/bin/tail" -CAT="/bin/cat" -RM="/bin/rm" - -PROGNAME=`/usr/bin/basename $0` -PROGPATH=`echo $0 | /bin/sed -e 's,[\\/][^\\/][^\\/]*$,,'` -REVISION=`echo '$Revision: 1.4 $' | /bin/sed -e 's/[^0-9.]//g'` - -. $PROGPATH/utils.sh - -print_usage() { - echo "Usage: $PROGNAME -F logfile -O oldlog -q query" - echo "Usage: $PROGNAME --help" - echo "Usage: $PROGNAME --version" -} - -print_help() { - print_revision $PROGNAME $REVISION - echo "" - print_usage - echo "" - echo "Log file pattern detector plugin for Nagios" - echo "" - support -} - -# Make sure the correct number of command line -# arguments have been supplied - -if [ $# -lt 1 ]; then - print_usage - exit $STATE_UNKNOWN -fi - -# Grab the command line arguments - -#logfile=$1 -#oldlog=$2 -#query=$3 -exitstatus=$STATE_WARNING #default -while test -n "$1"; do - case "$1" in - --help) - print_help - exit $STATE_OK - ;; - -h) - print_help - exit $STATE_OK - ;; - --version) - print_revision $PROGNAME $VERSION - exit $STATE_OK - ;; - -V) - print_revision $PROGNAME $VERSION - exit $STATE_OK - ;; - --filename) - logfile=$2 - shift - ;; - -F) - logfile=$2 - shift - ;; - --oldlog) - oldlog=$2 - shift - ;; - -O) - oldlog=$2 - shift - ;; - --query) - query=$2 - shift - ;; - -q) - query=$2 - shift - ;; - -x) - exitstatus=$2 - shift - ;; - --exitstatus) - exitstatus=$2 - shift - ;; - *) - echo "Unknown argument: $1" - print_usage - exit $STATE_UNKNOWN - ;; - esac - shift -done - -# If the source log file doesn't exist, exit - -if [ ! -e $logfile ]; then - $ECHO "Log check error: Log file $logfile does not exist!\n" - exit $STATE_UNKNOWN -elif [ ! -r $logfile ] ; then - $ECHO "Log check error: Log file $logfile is not readable!\n" - exit $STATE_UNKNOWN -fi - -# If the old log file doesn't exist, this must be the first time -# we're running this test, so copy the original log file over to -# the old diff file and exit - -if [ ! -e $oldlog ]; then - $CAT $logfile > $oldlog - $ECHO "Log check data initialized...\n" - exit $STATE_OK -fi - -# The old log file exists, so compare it to the original log now - -# The temporary file that the script should use while -# processing the log file. -if [ -x /bin/mktemp ]; then - tempdiff=`/bin/mktemp /tmp/check_log.XXXXXXXXXX` -else - tempdiff=`/bin/date '+%H%M%S'` - tempdiff="/tmp/check_log.${tempdiff}" - /bin/touch $tempdiff - chmod 600 $tempdiff -fi - -$DIFF $logfile $oldlog > $tempdiff - -# Count the number of matching log entries we have -count=`$GREP -c "$query" $tempdiff` - -# Get the last matching entry in the diff file -lastentry=`$GREP "$query" $tempdiff | $TAIL --lines=1` - -$RM -f $tempdiff -$CAT $logfile > $oldlog - -if [ "$count" = "0" ]; then # no matches, exit with no error - $ECHO "Log check ok - 0 pattern matches found\n" - exitstatus=$STATE_OK -else # Print total matche count and the last entry we found - $ECHO "($count) $lastentry" - exitstatus=$STATE_CRITICAL -fi - -exit $exitstatus diff --git a/scripts/services/check_mailq b/scripts/services/check_mailq deleted file mode 100755 index a455665d6a..0000000000 --- a/scripts/services/check_mailq +++ /dev/null @@ -1,610 +0,0 @@ -#! /usr/bin/perl -w - -# check_mailq - check to see how many messages are in the smtp queue awating -# transmittal. -# -# Initial version support sendmail's mailq command -# Support for mutiple sendmail queues (Carlos Canau) -# Support for qmail (Benjamin Schmid) - -# License Information: -# 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; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# $Id: check_mailq.pl,v 1.6 2005/04/14 04:13:13 seanius Exp $ -# -############################################################################ - -use POSIX; -use strict; -use Getopt::Long; -use vars qw($opt_V $opt_h $opt_v $verbose $PROGNAME $opt_w $opt_c $opt_t - $opt_M $mailq $status $state $msg $msg_q $msg_p $opt_W $opt_C $mailq @lines - %srcdomains %dstdomains); -use lib "/usr/lib/nagios/plugins"; -use utils qw(%ERRORS &print_revision &support &usage ); - - -sub print_help (); -sub print_usage (); -sub process_arguments (); - -$ENV{'PATH'}=''; -$ENV{'BASH_ENV'}=''; -$ENV{'ENV'}=''; -$PROGNAME = "check_mailq"; -$mailq = 'sendmail'; # default -$msg_q = 0 ; -$msg_p = 0 ; -$state = $ERRORS{'UNKNOWN'}; - -Getopt::Long::Configure('bundling'); -$status = process_arguments(); -if ($status){ - print "ERROR: processing arguments\n"; - exit $ERRORS{"UNKNOWN"}; -} - -$SIG{'ALRM'} = sub { - print ("ERROR: timed out waiting for $utils::PATH_TO_MAILQ \n"); - exit $ERRORS{"WARNING"}; -}; -alarm($opt_t); - -# switch based on MTA - -if ($mailq eq "sendmail") { - - ## open mailq - if ( defined $utils::PATH_TO_MAILQ && -x $utils::PATH_TO_MAILQ ) { - if (! open (MAILQ, "$utils::PATH_TO_MAILQ | " ) ) { - print "ERROR: could not open $utils::PATH_TO_MAILQ \n"; - exit $ERRORS{'UNKNOWN'}; - } - }elsif( defined $utils::PATH_TO_MAILQ){ - unless (-x $utils::PATH_TO_MAILQ) { - print "ERROR: $utils::PATH_TO_MAILQ is not executable by (uid $>:gid($)))\n"; - exit $ERRORS{'UNKNOWN'}; - } - } else { - print "ERROR: \$utils::PATH_TO_MAILQ is not defined\n"; - exit $ERRORS{'UNKNOWN'}; - } -# single queue empty -##/var/spool/mqueue is empty -# single queue: 1 -## /var/spool/mqueue (1 request) -##----Q-ID---- --Size-- -----Q-Time----- ------------Sender/Recipient------------ -##h32E30p01763 2782 Wed Apr 2 15:03 -## 8BITMIME -## - -# multi queue empty -##/var/spool/mqueue/q0/df is empty -##/var/spool/mqueue/q1/df is empty -##/var/spool/mqueue/q2/df is empty -##/var/spool/mqueue/q3/df is empty -##/var/spool/mqueue/q4/df is empty -##/var/spool/mqueue/q5/df is empty -##/var/spool/mqueue/q6/df is empty -##/var/spool/mqueue/q7/df is empty -##/var/spool/mqueue/q8/df is empty -##/var/spool/mqueue/q9/df is empty -##/var/spool/mqueue/qA/df is empty -##/var/spool/mqueue/qB/df is empty -##/var/spool/mqueue/qC/df is empty -##/var/spool/mqueue/qD/df is empty -##/var/spool/mqueue/qE/df is empty -##/var/spool/mqueue/qF/df is empty -## Total Requests: 0 -# multi queue: 1 -##/var/spool/mqueue/q0/df is empty -##/var/spool/mqueue/q1/df is empty -##/var/spool/mqueue/q2/df is empty -## /var/spool/mqueue/q3/df (1 request) -##----Q-ID---- --Size-- -----Q-Time----- ------------Sender/Recipient------------ -##h32De2f23534* 48 Wed Apr 2 14:40 nocol -## nouserATEUnet.pt -## canau -##/var/spool/mqueue/q4/df is empty -##/var/spool/mqueue/q5/df is empty -##/var/spool/mqueue/q6/df is empty -##/var/spool/mqueue/q7/df is empty -##/var/spool/mqueue/q8/df is empty -##/var/spool/mqueue/q9/df is empty -##/var/spool/mqueue/qA/df is empty -##/var/spool/mqueue/qB/df is empty -##/var/spool/mqueue/qC/df is empty -##/var/spool/mqueue/qD/df is empty -##/var/spool/mqueue/qE/df is empty -##/var/spool/mqueue/qF/df is empty -## Total Requests: 1 - - - while () { - - # match email addr on queue listing - if ( (/<.*@.*\.(\w+\.\w+)>/) || (/<.*@(\w+\.\w+)>/) ) { - my $domain = $1; - if (/^\w+/) { - print "$utils::PATH_TO_MAILQ = srcdomain = $domain \n" if $verbose ; - $srcdomains{$domain} ++; - } - next; - } - - # - # ... - # sendmail considers a message with more than one destiny, say N, to the same MX - # to have N messages in queue. - # we will only consider one in this code - if (( /\s\(reply:\sread\serror\sfrom\s.*\.(\w+\.\w+)\.$/ ) || ( /\s\(reply:\sread\serror\sfrom\s(\w+\.\w+)\.$/ ) || - ( /\s\(timeout\swriting\smessage\sto\s.*\.(\w+\.\w+)\.:/ ) || ( /\s\(timeout\swriting\smessage\sto\s(\w+\.\w+)\.:/ ) || - ( /\s\(host\smap:\slookup\s\(.*\.(\w+\.\w+)\):/ ) || ( /\s\(host\smap:\slookup\s\((\w+\.\w+)\):/ ) || - ( /\s\(Deferred:\s.*\s.*\.(\w+\.\w+)\.\)/ ) || ( /\s\(Deferred:\s.*\s(\w+\.\w+)\.\)/ ) ) { - - print "$utils::PATH_TO_MAILQ = dstdomain = $1 \n" if $verbose ; - $dstdomains{$1} ++; - } - - if (/\s+\(I\/O\serror\)/) { - print "$utils::PATH_TO_MAILQ = dstdomain = UNKNOWN \n" if $verbose ; - $dstdomains{'UNKNOWN'} ++; - } - - # Finally look at the overall queue length - # - if (/mqueue/) { - print "$utils::PATH_TO_MAILQ = $_ "if $verbose ; - if (/ \((\d+) request/) { - # - # single queue: first line - # multi queue: one for each queue. overwrite on multi queue below - $msg_q = $1 ; - } - } elsif (/^\s+Total\sRequests:\s(\d+)$/i) { - print "$utils::PATH_TO_MAILQ = $_ \n" if $verbose ; - # - # multi queue: last line - $msg_q = $1 ; - } - - } - - - ## close mailq - - close (MAILQ); - # declare an error if we also get a non-zero return code from mailq - # unless already set to critical - if ( $? ) { - $state = $state == $ERRORS{"CRITICAL"} ? $ERRORS{"CRITICAL"} : $ERRORS{"WARNING"} ; - print "STDERR $?: $!\n" if $verbose; - $msg = "$state: (stderr)\n"; - } - - ## shut off the alarm - alarm(0); - - - - ## now check the queue length(s) - - if ($msg_q == 0) { - $msg = "OK: mailq is empty"; - $state = $ERRORS{'OK'}; - } else { - print "msg_q = $msg_q warn=$opt_w crit=$opt_c\n" if $verbose; - - # overall queue length - if ($msg_q < $opt_w) { - $msg = "OK: mailq ($msg_q) is below threshold ($opt_w/$opt_c)"; - $state = $ERRORS{'OK'}; - }elsif ($msg_q >= $opt_w && $msg_q < $opt_c) { - $msg = "WARNING: mailq is $msg_q (threshold w = $opt_w)"; - $state = $ERRORS{'WARNING'}; - }else { - $msg = "CRITICAL: mailq is $msg_q (threshold c = $opt_c)"; - $state = $ERRORS{'CRITICAL'}; - } - - # check for domain specific queue lengths if requested - if (defined $opt_W) { - - # Apply threshold to queue lengths FROM domain - my @srckeys = sort { $srcdomains{$b} <=> $srcdomains{$a} } keys %srcdomains; - my $srcmaxkey = $srckeys[0]; - print "src max is $srcmaxkey with $srcdomains{$srcmaxkey} messages\n" if $verbose; - - if ($srcdomains{$srcmaxkey} >= $opt_W && $srcdomains{$srcmaxkey} < $opt_C) { - if ($state == $ERRORS{'OK'}) { - $msg = "WARNING: $srcdomains{$srcmaxkey} messages in queue FROM $srcmaxkey (threshold W = $opt_W)"; - $state = $ERRORS{'WARNING'}; - } elsif (($state == $ERRORS{'WARNING'}) || ($state == $ERRORS{'CRITICAL'})){ - $msg .= " -and- $srcdomains{$srcmaxkey} messages in queue FROM $srcmaxkey (threshold W = $opt_W)"; - } else { - $msg = "WARNING: $srcdomains{$srcmaxkey} messages in queue FROM $srcmaxkey (threshold W = $opt_W)"; - $state = $ERRORS{'WARNING'}; - } - } elsif ($srcdomains{$srcmaxkey} >= $opt_C) { - if ($state == $ERRORS{'OK'}) { - $msg = "CRITICAL: $srcdomains{$srcmaxkey} messages in queue FROM $srcmaxkey (threshold C = $opt_C)"; - $state = $ERRORS{'CRITICAL'}; - } elsif ($state == $ERRORS{'WARNING'}) { - $msg = "CRITICAL: $srcdomains{$srcmaxkey} messages in queue FROM $srcmaxkey (threshold C = $opt_C) -and- " . $msg; - $msg =~ s/WARNING: //; - } elsif ($state == $ERRORS{'CRITICAL'}) { - $msg .= " -and- $srcdomains{$srcmaxkey} messages in queue FROM $srcmaxkey (threshold W = $opt_W)"; - } else { - $msg = "CRITICAL: $srcdomains{$srcmaxkey} messages in queue FROM $srcmaxkey (threshold W = $opt_W)"; - $state = $ERRORS{'CRITICAL'}; - } - } else { - if ($srcdomains{$srcmaxkey} > 0) { - $msg .= " $srcdomains{$srcmaxkey} msgs. FROM $srcmaxkey is below threshold ($opt_W/$opt_C)"; - } - } - - # Apply threshold to queue lengths TO domain - my @dstkeys = sort { $dstdomains{$b} <=> $dstdomains{$a} } keys %dstdomains; - my $dstmaxkey = $dstkeys[0]; - print "dst max is $dstmaxkey with $dstdomains{$dstmaxkey} messages\n" if $verbose; - - if ($dstdomains{$dstmaxkey} >= $opt_W && $dstdomains{$dstmaxkey} < $opt_C) { - if ($state == $ERRORS{'OK'}) { - $msg = "WARNING: $dstdomains{$dstmaxkey} messages in queue TO $dstmaxkey (threshold W = $opt_W)"; - $state = $ERRORS{'WARNING'}; - } elsif (($state == $ERRORS{'WARNING'}) || ($state == $ERRORS{'CRITICAL'})){ - $msg .= " -and- $dstdomains{$dstmaxkey} messages in queue TO $dstmaxkey (threshold W = $opt_W)"; - } else { - $msg = "WARNING: $dstdomains{$dstmaxkey} messages in queue TO $dstmaxkey (threshold W = $opt_W)"; - $state = $ERRORS{'WARNING'}; - } - } elsif ($dstdomains{$dstmaxkey} >= $opt_C) { - if ($state == $ERRORS{'OK'}) { - $msg = "CRITICAL: $dstdomains{$dstmaxkey} messages in queue TO $dstmaxkey (threshold C = $opt_C)"; - $state = $ERRORS{'CRITICAL'}; - } elsif ($state == $ERRORS{'WARNING'}) { - $msg = "CRITICAL: $dstdomains{$dstmaxkey} messages in queue TO $dstmaxkey (threshold C = $opt_C) -and- " . $msg; - $msg =~ s/WARNING: //; - } elsif ($state == $ERRORS{'CRITICAL'}) { - $msg .= " -and- $dstdomains{$dstmaxkey} messages in queue TO $dstmaxkey (threshold W = $opt_W)"; - } else { - $msg = "CRITICAL: $dstdomains{$dstmaxkey} messages in queue TO $dstmaxkey (threshold W = $opt_W)"; - $state = $ERRORS{'CRITICAL'}; - } - } else { - if ($dstdomains{$dstmaxkey} > 0) { - $msg .= " $dstdomains{$dstmaxkey} msgs. TO $dstmaxkey is below threshold ($opt_W/$opt_C)"; - } - } - - } # End of queue length thresholds - - } - -} # end of ($mailq eq "sendmail") -elsif ( $mailq eq "postfix" ) { - - ## open mailq - if ( defined $utils::PATH_TO_MAILQ && -x $utils::PATH_TO_MAILQ ) { - if (! open (MAILQ, "$utils::PATH_TO_MAILQ | " ) ) { - print "ERROR: could not open $utils::PATH_TO_MAILQ \n"; - exit $ERRORS{'UNKNOWN'}; - } - }elsif( defined $utils::PATH_TO_MAILQ){ - unless (-x $utils::PATH_TO_MAILQ) { - print "ERROR: $utils::PATH_TO_MAILQ is not executable by (uid $>:gid($)))\n"; - exit $ERRORS{'UNKNOWN'}; - } - } else { - print "ERROR: \$utils::PATH_TO_MAILQ is not defined\n"; - exit $ERRORS{'UNKNOWN'}; - } - - - @lines = reverse ; - - # close qmail-qstat - close MAILQ; - # declare an error if we also get a non-zero return code from mailq - # unless already set to critical - if ( $? ) { - $state = $state == $ERRORS{"CRITICAL"} ? $ERRORS{"CRITICAL"} : $ERRORS{"WARNING"} ; - print "STDERR $?: $!\n" if $verbose; - $msg = "$state: (stderr)\n"; - } - - ## shut off the alarm - alarm(0); - - # check queue length - if ($lines[0]=~/Kbytes in (\d+)/) { - $msg_q = $1 ; - }elsif ($lines[0]=~/Mail queue is empty/) { - $msg_q = 0; - }else{ - print "Couldn't match $utils::PATH_TO_QMAIL_QSTAT output\n"; - exit $ERRORS{'UNKNOWN'}; - } - - # check messages not processed - #if ($lines[1]=~/^messages in queue but not yet preprocessed: (\d+)/) { - # my $msg_p = $1; - #}else{ - # print "Couldn't match $utils::PATH_TO_QMAIL_QSTAT output\n"; - # exit $ERRORS{'UNKNOWN'}; - #} - - # check queue length(s) - if ($msg_q == 0){ - $msg = "OK: mailq reports queue is empty"; - $state = $ERRORS{'OK'}; - } else { - print "msg_q = $msg_q warn=$opt_w crit=$opt_c\n" if $verbose; - - # overall queue length - if ($msg_q < $opt_w) { - $msg = "OK: mailq ($msg_q) is below threshold ($opt_w/$opt_c)"; - $state = $ERRORS{'OK'}; - }elsif ($msg_q >= $opt_w && $msg_q < $opt_c) { - $msg = "WARNING: mailq is $msg_q (threshold w = $opt_w)"; - $state = $ERRORS{'WARNING'}; - }else { - $msg = "CRITICAL: mailq is $msg_q (threshold c = $opt_c)"; - $state = $ERRORS{'CRITICAL'}; - } - - # check messages not yet preprocessed (only compare is $opt_W and $opt_C - # are defined) - - #if (defined $opt_W) { - # $msg .= "[Preprocessed = $msg_p]"; - # if ($msg_p >= $opt_W && $msg_p < $opt_C ) { - # $state = $state == $ERRORS{"CRITICAL"} ? $ERRORS{"CRITICAL"} : $ERRORS{"WARNING"} ; - # }elsif ($msg_p >= $opt_C ) { - # $state = $ERRORS{"CRITICAL"} ; - # } - #} - } -} # end of ($mailq eq "postfixl") -elsif ( $mailq eq "qmail" ) { - - # open qmail-qstat - if ( defined $utils::PATH_TO_QMAIL_QSTAT && -x $utils::PATH_TO_QMAIL_QSTAT ) { - if (! open (MAILQ, "$utils::PATH_TO_QMAIL_QSTAT | " ) ) { - print "ERROR: could not open $utils::PATH_TO_QMAIL_QSTAT \n"; - exit $ERRORS{'UNKNOWN'}; - } - }elsif( defined $utils::PATH_TO_QMAIL_QSTAT){ - unless (-x $utils::PATH_TO_QMAIL_QSTAT) { - print "ERROR: $utils::PATH_TO_QMAIL_QSTAT is not executable by (uid $>:gid($)))\n"; - exit $ERRORS{'UNKNOWN'}; - } - } else { - print "ERROR: \$utils::PATH_TO_QMAIL_QSTAT is not defined\n"; - exit $ERRORS{'UNKNOWN'}; - } - - @lines = ; - - # close qmail-qstat - close MAILQ; - # declare an error if we also get a non-zero return code from mailq - # unless already set to critical - if ( $? ) { - $state = $state == $ERRORS{"CRITICAL"} ? $ERRORS{"CRITICAL"} : $ERRORS{"WARNING"} ; - print "STDERR $?: $!\n" if $verbose; - $msg = "$state: (stderr)\n"; - } - - ## shut off the alarm - alarm(0); - - # check queue length - if ($lines[0]=~/^messages in queue: (\d+)/) { - $msg_q = $1 ; - }else{ - print "Couldn't match $utils::PATH_TO_QMAIL_QSTAT output\n"; - exit $ERRORS{'UNKNOWN'}; - } - - # check messages not processed - if ($lines[1]=~/^messages in queue but not yet preprocessed: (\d+)/) { - my $msg_p = $1; - }else{ - print "Couldn't match $utils::PATH_TO_QMAIL_QSTAT output\n"; - exit $ERRORS{'UNKNOWN'}; - } - - - # check queue length(s) - if ($msg_q == 0){ - $msg = "OK: qmail-qstat reports queue is empty"; - $state = $ERRORS{'OK'}; - } else { - print "msg_q = $msg_q warn=$opt_w crit=$opt_c\n" if $verbose; - - # overall queue length - if ($msg_q < $opt_w) { - $msg = "OK: mailq ($msg_q) is below threshold ($opt_w/$opt_c)"; - $state = $ERRORS{'OK'}; - }elsif ($msg_q >= $opt_w && $msg_q < $opt_c) { - $msg = "WARNING: mailq is $msg_q (threshold w = $opt_w)"; - $state = $ERRORS{'WARNING'}; - }else { - $msg = "CRITICAL: mailq is $msg_q (threshold c = $opt_c)"; - $state = $ERRORS{'CRITICAL'}; - } - - # check messages not yet preprocessed (only compare is $opt_W and $opt_C - # are defined) - - if (defined $opt_W) { - $msg .= "[Preprocessed = $msg_p]"; - if ($msg_p >= $opt_W && $msg_p < $opt_C ) { - $state = $state == $ERRORS{"CRITICAL"} ? $ERRORS{"CRITICAL"} : $ERRORS{"WARNING"} ; - }elsif ($msg_p >= $opt_C ) { - $state = $ERRORS{"CRITICAL"} ; - } - } - } - - - -} # end of ($mailq eq "qmail") -elsif ( $mailq eq "exim" ) { - ## open mailq - if ( defined $utils::PATH_TO_MAILQ && -x $utils::PATH_TO_MAILQ ) { - if (! open (MAILQ, "$utils::PATH_TO_MAILQ | " ) ) { - print "ERROR: could not open $utils::PATH_TO_MAILQ \n"; - exit $ERRORS{'UNKNOWN'}; - } - }elsif( defined $utils::PATH_TO_MAILQ){ - unless (-x $utils::PATH_TO_MAILQ) { - print "ERROR: $utils::PATH_TO_MAILQ is not executable by (uid $>:gid($)))\n"; - exit $ERRORS{'UNKNOWN'}; - } - } else { - print "ERROR: \$utils::PATH_TO_MAILQ is not defined\n"; - exit $ERRORS{'UNKNOWN'}; - } - - while () { - #22m 1.7K 19aEEr-0007hx-Dy <> *** frozen *** - #root@exlixams.glups.fr - - if (/\s[\w\d]{6}-[\w\d]{6}-[\w\d]{2}\s/) { # message id 19aEEr-0007hx-Dy - $msg_q++ ; - } - } - close(MAILQ) ; - if ($msg_q < $opt_w) { - $msg = "OK: mailq ($msg_q) is below threshold ($opt_w/$opt_c)"; - $state = $ERRORS{'OK'}; - }elsif ($msg_q >= $opt_w && $msg_q < $opt_c) { - $msg = "WARNING: mailq is $msg_q (threshold w = $opt_w)"; - $state = $ERRORS{'WARNING'}; - }else { - $msg = "CRITICAL: mailq is $msg_q (threshold c = $opt_c)"; - $state = $ERRORS{'CRITICAL'}; - } -} # end of ($mailq eq "exim") - -# Perfdata support -print "$msg|unsent=$msg_q;$opt_w;$opt_c;0\n"; -exit $state; - - -##################################### -#### subs - - -sub process_arguments(){ - GetOptions - ("V" => \$opt_V, "version" => \$opt_V, - "v" => \$opt_v, "verbose" => \$opt_v, - "h" => \$opt_h, "help" => \$opt_h, - "M:s" => \$opt_M, "mailserver:s" => \$opt_M, # mailserver (default sendmail) - "w=i" => \$opt_w, "warning=i" => \$opt_w, # warning if above this number - "c=i" => \$opt_c, "critical=i" => \$opt_c, # critical if above this number - "t=i" => \$opt_t, "timeout=i" => \$opt_t - ); - - if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.6 $ '); - exit $ERRORS{'OK'}; - } - - if ($opt_h) { - print_help(); - exit $ERRORS{'OK'}; - } - - if (defined $opt_v ){ - $verbose = $opt_v; - } - - unless (defined $opt_t) { - $opt_t = $utils::TIMEOUT ; # default timeout - } - - unless ( defined $opt_w && defined $opt_c ) { - print_usage(); - exit $ERRORS{'UNKNOWN'}; - } - - if ( $opt_w >= $opt_c) { - print "Warning (-w) cannot be greater than Critical (-c)!\n"; - exit $ERRORS{'UNKNOWN'}; - } - - if (defined $opt_W && ! defined !$opt_C) { - print "Need -C if using -W\n"; - exit $ERRORS{'UNKNOWN'}; - }elsif(defined $opt_W && defined $opt_C) { - if ($opt_W >= $opt_C) { - print "Warning (-W) cannot be greater than Critical (-C)!\n"; - exit $ERRORS{'UNKNOWN'}; - } - } - - if (defined $opt_M) { - if ($opt_M =~ /^(sendmail|qmail|postfix|exim)$/) { - $mailq = $opt_M ; - }elsif( $opt_M eq ''){ - $mailq = 'sendmail'; - }else{ - print "-M: $opt_M is not supported\n"; - exit $ERRORS{'UNKNOWN'}; - } - }else{ - $mailq = 'sendmail' ; - } - - return $ERRORS{'OK'}; -} - -sub print_usage () { - print "Usage: $PROGNAME -w -c [-W ] [-C ] [-M ] [-t ] [-v verbose]\n"; -} - -sub print_help () { - print_revision($PROGNAME,'$Revision: 1.6 $'); - print "Copyright (c) 2002 Subhendu Ghosh/Carlos Canau/Benjamin Schmid\n"; - print "\n"; - print_usage(); - print "\n"; - print " Checks the number of messages in the mail queue (supports multiple sendmail queues, qmail)\n"; - print " Feedback/patches to support non-sendmail mailqueue welcome\n\n"; - print "-w (--warning) = Min. number of messages in queue to generate warning\n"; - print "-c (--critical) = Min. number of messages in queu to generate critical alert ( w < c )\n"; - print "-W (--Warning) = Min. number of messages for same domain in queue to generate warning\n"; - print "-C (--Critical) = Min. number of messages for same domain in queue to generate critical alert ( W < C )\n"; - print "-t (--timeout) = Plugin timeout in seconds (default = $utils::TIMEOUT)\n"; - print "-M (--mailserver) = [ sendmail | qmail | postfix | exim ] (default = sendmail)\n"; - print "-h (--help)\n"; - print "-V (--version)\n"; - print "-v (--verbose) = debugging output\n"; - print "\n\n"; - print "Note: -w and -c are required arguments. -W and -C are optional.\n"; - print " -W and -C are applied to domains listed on the queues - both FROM and TO. (sendmail)\n"; - print " -W and -C are applied message not yet preproccessed. (qmail)\n"; - print " This plugin uses the system mailq command (sendmail) or qmail-stat (qmail)\n"; - print " to look at the queues. Mailq can usually only be accessed by root or \n"; - print " a TrustedUser. You will have to set appropriate permissions for the plugin to work.\n"; - print ""; - print "\n\n"; - support(); -} diff --git a/scripts/services/check_mrtg b/scripts/services/check_mrtg deleted file mode 100755 index b5e0198b4d258bd9dc3b312598a89469a126c1d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14792 zcmb7L4SW>UwV#BI#x%G=gAWz!K$8+`vLqNRiHSvEg;abYp9Ki8WGL=|L@FfhVY?I zerNAJ_nv#sx#ym9?w#!28{La8%gD%(tS3_%ClQn5j_h)j2WA;P<&rF&Diuj*OOvEi z(8Rv-4WI!WK%I~UZ~(>u^1&qkCPy~mOyC6ekvBm+7%Ks`%# zk{$q1F8fiHdO_cdKEiI`1ol$~p$I~XAe$fqCs=(~zN7ho9`jh^X9NRHGlIU7U?8Ng zcBx?(WN|D+3*8sgE)!#^2Z7H7z_$Ps0p|j~36KHf0h0k|1115i=Nwc{HIegBP612> zoNu;`Ei5@~r!He3VLMwR=aLKHTAT*R2EZiJ8GzFPP5^c0oVYe;0rCNS{sr(2Kn{^H zkITfDqa?3;O}xg$-#76(D8T;DO#C9Vf0c>f0A<)8G4X$x_#EK!%Z_Z$aRM}{rP6q6 zs}1@ICQh4i{Ojz*!+8)_h~VKk;wgbi(i13&FE#N76R$G){msOmGW!?8;G~~u_H!P@ z>rC95&)X*b7E|5=6K6^KJ`=Ar@mc10OP^d5f8OlB)1t@1aeTLlm!Ty7h>5c#E}P?L zn)rIN-(K(?kff{*Xi^h|QLZoC>IsCT=5Ry_NsTpEVCKF+s8LrHp$l0xHqtVt znFMuPvnh1JqMEt$8fUu7B&$|RV`qNp-?%Xp2A&~Wt?Wgt0NfZud?o|}NL%Bi6 z6$WbR;zgr3b333^%lo!G(b zWEQ5DT)~egG5I|`(#WiPFmj~uUVPGyBZahtpVicX5j=&oh@X9_eu2|6ewsMdEpS@M z&ut>LMc}lQUnc&5z-cjm5%G-zr{(;m#5V|>7WB_19uYV#>7PUVI)T%o{)NQr1WwEP z>xj=0I4$hIig>BOX=(p;#ASig;(ksjl_zjo-X9?@37jk7Url`I3p5mRCHxzR9}qZK z#D6RCet~mk{2PgP3!E$DznAzHfpew&4-kJq;9N2P!^AfVoGa(wLVSb3xq|*}#3KUd zO8UErUng*`sDC%{I)QU#{r$w}2%IbI-%Gp{I7+GPAJ@kJ9Q*4~UHuaO;}4>DB|ffP z?tkx2M|Sc}5FOgM5&p0=$xZ*Jo_Wagv4f68>xPebLf*8s?Q%w6(SX-4c>#UY#u;JqHT6$gAp((`3*>kI|`EH5VR=| zEP@WiyOf+M#CK`mmb4f9q&81bZ|$5_3e$;$8wT79hRIDBU|M9-rh2o} zpaTCtAUS|?{zIVbgXK3ZGAOb))s6C5%igQO$FA+OXtcC#z({I43p7cM+S;a7{NJO5 z@pJjBExz6%gE?2&}|0G zom=N-RAxN_KhY~t&#cUPl=TwS$5m$i59?E!`!Y+kU2`*~SWia9pR~F}{{7CaInJ$F z52L$cxAp?6kBO=tHTXTwam@z5Cs_Z1!S6}dYss%Y%}?Lb)i4xaS&#=?=U#_Jr_G-Q zVSH_YBVJyR_^EHxSD* zeMZQhe6FvPeL1yxl;pxvFqxFP4`|{%9&cBX9jQjRepcF%Du9nV62_&xXsP&c-Osxm_s87_5)xf!b{_XFXUAz!1~eyf zwZyUmiA>V#pIE-L1;+I;A8G{3OiCXFL{OEF)Olk;IVXZ_$z(4;8`e zO9uB-37V0EpXcDaIJo~SNq**I3?B8*_AANcYBE_&CPMx5xWy%4qf*A4wR_(4#Hi!` z`XiAja^qTowHNYjKAFH4iV2w8<1ic~c{2ps*?f-1wEvS0%#lPuV|PVPzvFKSQ{P z5B9DGeSBAEw|=2rza<8D%tlK7?U140c1U@F6O8ZeQVt1^?CX3TX`57ioqN-@x6E4E zn_Vvrp-%fy?g$3Qs|u16!HE7g-tf2BXBpaCvClG{cN`%j5V|p666P9KJ8m+d?yrJT zT&Q4;vTQnl9wYuR?hba;=1%6t~5bk=`LlxoYCw z;AEt}QPO7(1=3o5*XAfMeE{K@>~rw5)ZIwMUG5>`6F-DYP82zKVEws?hM^1olWx=H zI3uHb$J?h&-&ygRvG$4Qs7|b!J70!&O5!;hEHP0;`5&CO@Lx4AfH(3dvnez#0>Y&g zr&*M;iSr+NQoO!k5+Fams2~rJE3zx%A{$HK5J{KHT?_AuclJ|IH8(ipfFA$xfl*DI z9S?&Y*r#W$*=F7MK8F6741}GJdd+@A_r@)?06l@BQT6j5l^1&Wi8b@#*=~UjcVg9%P)vGUU13*x^iVL2Nivn;Scvp_OCX-YCxh-@(huY`mwG#}1Ff zc}$xb8y=^X#11>Ove>X=qjo{X&UKmbo$>yLo?jx+BvIiiu~If5P?0rAz%vV5jJF6g zK|MEw#Jd?zg4h!YbTd>H6qAfhmPqmjN)gjZ?MP2T^xcdmLXzmW1lcv|RpA_@l8^T#%koer#R#>Dno= z-h93rpSKVZX?LvE#*Tz3Ny%OBiHV5w@_&FAH0Sas|Ae|&#UeNuoCqq6Kz?qQdzfm_ z7Jr43@%)11YakWQLu+NyX~gRdESsNb5Y~DIj*CqSZ@h*|REE;Yg(WRo0!8+%JM8?0 z`|z{5&2jhezSiM48xHMjJ)Br}sB>U-&o=sJ?6B{~=M5&%jxSI$W}jG=8~;PR$6{w@ zuFt?Rv21Ai8wvNJ=|lUn9>%om-l!^o&TlvhV!Z{|Tr2E*axTx2i+gDL-az-9xlU;u zdBu8VbL@&E&tq;QW!;H&*&jUd$?syR4DCCxSjH=5e9alDlC|+wCg- z@0vRz#riU0?`Bkds_)0SP#AdD4*GoQnx!+E4&+%98XpAi~lTSh(BU47-*lPdza%vF{jDK`N^jKskV?(2ai_20_vO2T8Fp&{qEfT4F~qS zC+~0AyWd^3zoCD>yL^Ac?)~mL`y0CZ+=sYocrUmJEIYcj)1BM*I=7zHG2rY>qQg3Y zOha#1!yy{PE)9OmQR?#t9t-uuX5XlH(xoluVbtTqH(yuxunk!z>zQN5U)|+lqyb+FvMZNIP@G z;T-LB{9nSk^-N@ncgwm5e^oZ%+?so)bNdeTXKna2N6&&DgM(d;bNC;fN3A`6^#8PZ z=5}-3^vwTHVe7~UxANk&Q@veHbG>6E>KXflY@ zgj+rV(fxu5xkwKt+{K{%X2M-MhBj<6R0S;#E#^O>@Lp%0;H=Dcr6p4D!ck{z?}e5u z?Vg0YXpE46DdcnzrG5w>H&(Wc2^#Mk(~aDH=AdjO?sJ*Y$0Y4{QoG=JM$&$fwPS6# zXw-%ey#qnN02$VQ#qzR`mnKKha#PPV8K=X8xyhIQf|t`6zfkMCo1bx<-THS7XIAV| z&x-$XB>!p5Ft#gW`f&WPXpJ7U&M07rFMHw*hmwyAj=#s3k#T)EzV1lZGlJg>{G9&9 zjxRC?$BpFwBKBTJ?28foqa<%1BpMDS^x?$1Bk_X`J>oknd{MQD_iONfaqWy3SR3h2 z%sUbrbf885FebjZ!rL6vMDk)G(F=(fmMjBi^n){xK>Q9l~cqPRkeCP`O^b-7hnHCfdok>DCx^DABwJX_@M2 zQ7Yv^RW7+q4u)GAn*-=9@yJz|E?*$8l^0)n)g^LC+vvEGcDdaX4Fy6ia*0>=Mgv*^ z-^%C6$2`}R1m&QoNeMQ{*Och89tvnGtBS0wjs&7gV=J!xXo_glWN`~X*BXw?sI7tj zE0^YlBWt387QZGJd8f-|6%`e-Tl0HD@&Zo~cOHClm0_7VM&W`bE;)7_rdlfuDA&P) zfsj0(HVj8vm5?UaE1uSz)2a&9OLB6gdVfHbX=V_$2ZBM_>sP$1WF-JYMujy!ZAujO zlfzND)w4R#s<*;WK^+avayTRk(B^3E;j{r&IjVTWQJ>f@vTvNNO-o2DO7aQv=H_JRHdpWLpPOLC%hP`?L8ZNe_5-&fbv*1H$DmypW}f57WcFN};E zCbF7l90;iq#jAZ!E-K^l&YTWT?c`*7znxLNKdN9PG%{8n^E3>FIiW`nYFz6TmoBNT zsa+t$RW)4&J1^N;5%l%>&0A7aUo-F0MHWM>X^jeg<3Qws~_Wm+H@xIrxY)afGjYnsjU z#pqI2dlki}ik7Oj_TVL`nJZ8%d&U@AhMPqdO^=2YpG%f&nseyK#zGy<$UBzN7z-bt zli|uCp^O#Aq=Y+&EP)WOIy&QB!akd#Ifh5r*&{LdFcT}&wqjwJXPA$e0x**?`3XI^ z;?%4M#TuJI$s{eJS?GvViQEx}y+dIQkr#!@BCt7PE~g3d+5M ziWfYkI45Gdk4pDZG%r_>e2sY_s^B%(>t5zdfBfd_FV%$*?|U8N!wLEspp z2-!!?*JBWhERVaBVK{$fP6@K^D7$b7JGE&FI8k~Nk&oU)RODP^3*m&Vl#Q4Yy9nL< zcv)I*3d2Og_f?~x+nOKgla}!*%>l@RAn@^qTU#+zC`_yR0?p0H(n$H{U`~~itE>aX zB{D7s>fA)JL{~IpydG7RVsPSaL5J`J+dXSkNQ3!>V}*S}Y^!G#N}CDVVNqdAjC8qN zFp!uZqJ;Wbk{2Vb2IM8U#fT-Vhif(myz+vmCxXqHUXu1gU${LKL`s9Xnxo-XXyn(l zNac(fic$ie&CM=F^WWg|`e&>UD_UTc5}nbmG+`qOsx#>J;=|?FT7%r1mn!gI1-Ax+ zG?{VID52Y^$3KS20b?bEk$Or%|LAj?^X zK$`}#68|(|caP79^IjMiNX6L$T$Y8zX%eO|BP#8S!V`s@(G=uI02sN@Cl?j^Wb+8f ze26s96J5#7($aFNV2RQe;5nvJE_2N+mkXrPEF=jJl+2ThWF9yq+erZw#vxa-Hdo0^ zq>|VhC9#u9I2bkYhN*c#l6abuO0=+4(ymD*UQO~ZzpPTJ^i;N0dMn#2gOz%vg!6|~ z6EcitNl722L#sk?wR9XvIIu`CUge2K78mr7->a{LYfLyG`~>U6(T|SGPg#fE$8^3npHwpZ2TltS1*|=>e6>K){xG%)-KX|#Kt^;?LQOY+v#095S z7{uQ=;BJce%?1kb9=j1YM)~#90RXNHi{D7__Yn2BII?lISSm*;?%ku#-%apaBE0H{ z9cYJ6Vd{c!xxz1Y8n>%}eyxYUXR!t}VJ=a?&49ZAKLb1s*a;W_ybbsOka;U~0!#(W z1k4320W<-kfSUn#0e%K}8n6>E0C*el0RXpdvd;ima*tQOXw%Ey&voFOxkig%^8#G{ zZ~^83NOvVl_Vc+6aJ3CrfO~AX2Y9OuZv)-y89QcDa+;5N_{pnKu{AqxvNpguFDMTa}(w^eFbZ$+F=4p{!*gO1^%eN+^u4y$& zEh@QMLb}UJ;C7@DeNiPydZQ8vYUGSx3b@426I?j!1ke@cK~!=n{>J902fsgXd2zB* zA;2iE_kt0acv=HqNDE^)K3syEF|tWjkDkd%F~$PdiM}s>w*`d$Z9Uc+vJF@M1)cbP z6*^>#2&MS86y+2Ep+1fN=oQF_!Bv zm@#ZUR`t7RU>uT;G58`F(eEs|Y$wbIFm73A>^hJfN>R7V1uA|og!`9b3}e3>bTV*@ zA4@veN`OVjTu~3Y188GE=V#F=s8d&Ti(FL>V=}*3k2R0$&|uLmLX0m0UBA_dKJp{1 zveEH3doq-8@GiRf&~|)&2(b7uH}Xyke?w(G7Hh^7>%vB$n-4laersVpl*#8tfJOHh z{`dJ9et=~4vEQo4O**a}|HH`N^`!&SMz_&Mw+(dLPC)k)8y#=Kcb`D+PeDf;Q?B@( zAn10Z&h_O({iw%70M3JSw;}i6cHyY*XcBa!eH38PagW#ty0s)QAJPz>0a$c$FV>^n oY(T+B7N3&D-&s*ULx5R0P8lpk5K;u$EHYpgYwVkE>x}?Udo230P;gaQsIfE@ z3`f_xwTOF~K?~7B_xX#K3R>#H!e;`?rDlCG>Mx^ALdik-5=uS_ZD2hU(Gc@RU4Swf zWeUnAC}ST>2JLEpI3N3So((P4z^tjL!#9 zuD9`{k6Dk*M#I0YX;`c@1vOn!=Z3tRrf5<_LsN4k+@R@RRc~mJ;QBtg{8bpxbXAWu zHUz^!4|_wBrZ+~Sy40lTkrurn6bUz3NTCrVKZZ4_C5jJVdDUT@s12#n2P|D#s}m;} zZUk#J>}y#ksfsrgiuefYk=2r>`MhC2CF;RuCE{=Nu9Mi3yjqJ2z5J5j7m8>K@qJoL z82Tux8je6YpH~k?!jiH!s7wAxi-NHQH(^SR!Ei%VQ-nx^f>So<-|P*Br8Rz&_xu|d z%$eIT&0Qf`EhHU8{Mr7-jT$ka4AE!g3ASC}V8z~qU=U$BPAbPjvM*1-nNqd6u&*Mw zor9#n7|KGjps!>hnQ)D>kT8y8{9NGnvxd)~V2va(z#2h!k~I^-FHs}F9jp=T*{qQ) za#MXZtVN?0Qh%2^}1RkB8+o6Z`}SHl{~ za29JM#Cfcd;Fc!djvdcV?S|?p>Ycg^lR4Ze4PE&bG#)BU;S*X*Lxr4SfX(#LAv}eg zX@FztZUJ+~0h%t|Az;otz;v44DPUS4AQOIAz_di5i11bc(;|U#!W#ul%LJwqZV@mo z6qrT$HUZO8f$Is^3YZoP)DoU0U|KG4GvRUp(}IE92+IPdB?FvLI#0l~XrP6#Bw$)L zu$FNDDRdOl!hwy1j|!NU4s0RZEnr$au$6F!fNA-_gM@bqm@5!?nDD~_=1K&9N_eY) zxgvp`gf{|4EmgdGYvPUATm7|livz!T1fwB*d~;b~^L>u&)F(hXv2`ofZ%K-q+osMP zMUoUd?nuT?Lfv?Wo;lPVJK$JR-NM7Q@(+R8{XauP+qW1P+1u|O;Zw)aY2b5ko-3O>G-}7a=maG- zO05B90^G&}C#7TBcErjbk035I5#L5_$9d3(Q*7ew8-vsFlMy~yCeF4oIBh>0!FdDr zr&8;HBMh*7*^=1tl4LYHxjy%xr=ObdrHjQ*WjODvMUr@$N#a3ba9of+; zv@@%-X0Tm~_PFY-nQUL?KbTpncg@L^Vx1XPuj#eP{2w^? zh{10b>3jyi*=#R2_|0Ma2J&ki<`>=BUf-Ws>B@tRav#P*&{p$-n7GsBNL0E~zr);O z14GWXT~Ilex;8d2z4gT*SN!+Df#kWUst!5h4VaxFeI5tmHyJQyxb?Qt>E6*h9 zR!XX*B%vbRD_saMIfeUG)oUB_x6@ehj_CPG#}9`Qhv5ZX zAY3kMctNWScz8jJ0go&w^h_^757?u5HsO?f1toJjRj)bkuK-EvZSn zBjSULa1d?S)sM|GbpDEN={=e<;>5ZJO$+waZY4 z`+tmq*bJsStotVblG~_LayR*J`h<(*{8kY@(H?S2&dn;$k_SD#H_R#1x;(E+6+MfW zyk6pp9mwvzVCQ3w?7nS#NqEX2yc@`93&LLr!fu1`k0e|+ny>?e*Gys1I5#UmPF}#c zuX@3`xgO9pQy7cR&5u*ZDI!V69|i?L39i2RAvBJ>*H`D74%=1IG0`qTn_p5;+BXep zeJfpZ;zrlx5yjDy&#kfD(~V%r?Tb?pbn?LSI3l2L+ZJ@BYH^rP#2-S_$ZJWVP+y#b zqr|TKqGEduu{4}bZ0dFFK#7CHi}M}Y&vsne4b?0MpML@i-ZhLm?^94G6SdRM=)s?l zFgo=CruQG5WCGU1;h?B}X*Zg#VXI7r(-pKY?L}vPU)Rql<*T(>earipKde*>4a_LrjjrJ+z3&#DZ0g_o`ZgxrcE^Po9sAxqr+9zWOV0bQ z9mBW9#I0|Ei>aE#9L~$7@ez zY;aur8cClP8yKgT#s(dFMQp&aRsVX`{`HxO{fX}S&R z$Lr_B4&?LQdCG&>^r)cq{`q@ww-V}y?}>?s_mF$Q3;kUF)C*{fRV;#o!HJ;45VLo? zXMk$Z7FUB!BHxvI0;s}yXst{-jd*8-W%HBu!dg$@G>9W`c14Gw5|x1vVNuq!Xgw4; zvVPF{q-XF~x&DM_;7IepEA=OiG!G`1o{0CX?c7WMj14y4^_0N`+VQPa#_W?za}$3S zS(h$~%+gQO90SMX(*EL?lb#dB{YSD+Lf_h#Yh2LzWd}BL*NR((eLtPckI2Q-U)&q) zm^H^KjU%tv0okNoe)1{IZK$Fnxjy^-$3Ob-SUN-h8Z4IaTm@erhiYW~f|?8T^J;SR zteW$-M#p!}8IocLGh**#RDB%n!wFv)xd1b$=zy6oVY;GmYoKhqv98}08f05WJ>6Y} zBa{M*3vdak>892Se-HW@KFD3i>WvTgLILr5pNqwUckzUJKa7}!%Yl;_3}x>!%f(;O zud*hbc-@?D)eEhcaZfWnlWX})V0Sq#l@h(N1G!>bYrigo+&Gv|R-JH%=jaBOPhM;D z$yLXJ0c_|hGRgqbXvHfd%q)#3Lu2#X2xyjnnr4ZG{je*ndc)|+2>u6?(f*7sn_hQP zD)iE);xr&!st(g%+TZTTqc``#eQ`_1%4*%D(zTeV$o;^&JO2;&%bO_a(rxtwSI0e74uQ=i;^=XFP>v zp{2RPchEoTPtc$mH0$#m#fb{3_JkFk8-T#kr5H_m^3iP{jhUlYi_rosdi=Op^kMp+ zm>3fUhKm?Eh(MbJ3*!UKHyJIDf9Qk&Wj>>_9DJ z%lYj7s!sjNje|4v^29$k4$9F>uzwwMvAfu39)?{&OH;_dZKTnU*#LY zKlv)&!;SF8dt3 zo==gN!Raq&<@6VvNIpxeO@foDl{!YN<(Og~A{ikpSM+S0(T=r}qBoxw%~j9o=W}z3 z9mrdOyon$<^NS;V{@ak3D#3@bEls~%@3PZ5D1xzZ1SpC9#~v7Mn*dTHW|U(H;}-g9 zvI@Z?-m$jF5H-+v*CC1`)o894ej%@xxhNV+dP;zMY0^_Z26w;7aEZXhp~d)05r-K|q?Oq!ERoUn zGmKtj$usq)z z!hL~8xyG2`ETeK`Ml&(>F?5*LB4G%*7M2Kx<$1J4q@`I2>vEmqZO%Ebrcj%ilOyHS z1%jGPdjYF87z)Y0fZ|&%>j6a$hJ6tz+f;@d2u%?*WL@=!HNT?DsuwemBYxQ{s~A<( zk{qoysQUsXvZDKBRq;jCMx_xfWaz$daov0wHg?PM0>5A#R$3KJXP*p})O9kHh=dvy zHAhUgX0)khmO#$(*^3t~STtXT74)b^0#(tYYFKG>ldBSh$|{-XSbED5RUTH|&{$dP zQ=k@SR}=JwW)h_)!iFAD6)gZAG`T1k&Y80g6D-pdUomCRUA&-f!Q9z5TEc-E4Z*F% zd`!tO2HD!>U^0}`YRO?^v>bV~oH28>#BiN%!ljK!SgX#FOJU^F(tr|b5$;#ZOBr&b zqI==MjWYXX&8I3#7^usLx<*ko(Au!g9xM++qFLP9fbSs`h|WL=dz+OROX?QG;3T^a zU9uj5#o>WmG`|{Y27870##(7J7A&gs%=auN{zAjWWv?HuA-4vCzJRgTA_6o}dP(VR zYEqRZA$~>?qV7(_TruhE=p0^Xi6G??HG9_vo1>K2N;)$JiMiYe#}Tv23{3g*8p{c0 zmeg22F!ORS@R5NPoa8Xq4Ajrd0(Yq*@Qv!6Qp2y|k6}0s3@I;!Qv~J3A|T{C)$8{M zee!(O+XByolj<^V*2t?AxiQij4n@2S5W|piK-XKU%gPj`6zu$dx1tB`aQgyf8zPDx zT&<{Ot;#Ar5(#N#&8prcKHLGlIRqt^2e>#Q#K;~Oi-J0I(E|ur1QlG607ekJLLuRy zB}BkNSfSsdMphxot&>|L;i)=4)zwG`dO&WDV(pZWrU(#IgM`K)CMK564F&4pP}iYg#P1iAg*SM0LtU>=kK*dlI%uIPEfLiSsHx3zIHJp1 z6x6MObwW=O?IJ6NBk+J#&_d*@P$aS%P7Kcs>fpjP@JEppkZZ%3vQJ^c6M2fWHRtN) zPq8^mlyIZ0;PO$3j%{SqQe09}wKH!Sa?mfYi$vuB+)}QT^3pU7Ts8M)Ui&w=`S%aFS+6>4`Yh$d3+iA1cG)W7+Yb7hBVS-X& z1l;FJI(LB$hI%(;m z8y4NPe35k14U)MRO4i;h75WQ(pp^W^MrU4InDuAW{6K)S$0Eetgh0|dh@G}wU(pVzR$V`&G6 zFppY1(KYhiVeWniGaMr#*ds)+y7UF4`~T`Fh-^=QqH|W4N12oVy+3I?+53;l7i&$79tZd+-lF*P1aI@I0@C~u;?kCKW1m9S)-tW8}xO z+J?vfY085#F5X=>AKH%3?I;#M=DNx&jQ__GgXS39j2Yt5E_J}G1Kwj+u%eGL`P_wK z;Yp7p#@r)g9JlZiCLY(0-#F38!vSf-+iJth2441A@cz?=$6M2Rz_VmwXt>QwkhC%7 zGDq_NsScsd_2okv>hU8K&VzXTe}q@hz>l~;x8X789|c|jebz%9mM2gwez)OQ?%VLs rEl1I3J+j&0|JYDIZ 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 b%l{ba%O`&GZrNbzQeuL92Q368>Ae0wOOAO- diff --git a/scripts/services/check_nagios b/scripts/services/check_nagios deleted file mode 100755 index 30b2d0cc28a9216cdb124050b6bae15d6cbe882d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15448 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 diff --git a/scripts/services/check_nntp b/scripts/services/check_nntp deleted file mode 120000 index e838da97eb..0000000000 --- a/scripts/services/check_nntp +++ /dev/null @@ -1 +0,0 @@ -check_tcp \ No newline at end of file diff --git a/scripts/services/check_nntps b/scripts/services/check_nntps deleted file mode 120000 index e838da97eb..0000000000 --- a/scripts/services/check_nntps +++ /dev/null @@ -1 +0,0 @@ -check_tcp \ No newline at end of file diff --git a/scripts/services/check_nt b/scripts/services/check_nt deleted file mode 100755 index 907e3e19f183373d466aee9706719a13fd86363c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22464 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 -# 22-10-99, 12:17 -# -# Modified the script to give useage if no parameters are input. -# -# Modified the script to check for negative as well as positive -# time differences. -# -# Modified the script to work with ntpdate 3-5.93e Wed Apr 14 20:23:03 EDT 1999 -# -# Modified the script to work with ntpdate's that return adjust or offset... -# -# -# Script modified 2000 June 01 by William Pietri -# -# Modified script to handle weird cases: -# o NTP server doesn't respond (e.g., has died) -# o Server has correct time but isn't suitable synchronization -# source. This happens while starting up and if contact -# with master has been lost. -# -# Modifed to run under Embedded Perl (sghosh@users.sf.net) -# - combined logic some blocks together.. -# -# Added ntpdate check for stratum 16 desynch peer (James Fidell) Feb 03, 2003 -# -# ntpdate - offset is in seconds -# changed ntpdc to ntpq - jitter/dispersion is in milliseconds -# -# Patch for for regex for stratum1 refid. - -require 5.004; -use POSIX; -use strict; -use Getopt::Long; -use vars qw($opt_V $opt_h $opt_H $opt_t $opt_w $opt_c $opt_O $opt_j $opt_k $verbose $PROGNAME $def_jitter $ipv4 $ipv6); -use lib "/usr/lib/nagios/plugins"; -use utils qw($TIMEOUT %ERRORS &print_revision &support); - -$PROGNAME="check_ntp"; - -sub print_help (); -sub print_usage (); - -$ENV{'PATH'}=''; -$ENV{'BASH_ENV'}=''; -$ENV{'ENV'}=''; - -# defaults in sec -my $DEFAULT_OFFSET_WARN = 60; # 1 minute -my $DEFAULT_OFFSET_CRIT = 120; # 2 minutes -# default in millisec -my $DEFAULT_JITTER_WARN = 5000; # 5 sec -my $DEFAULT_JITTER_CRIT = 10000; # 10 sec - -Getopt::Long::Configure('bundling'); -GetOptions - ("V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "v" => \$verbose, "verbose" => \$verbose, - "4" => \$ipv4, "use-ipv4" => \$ipv4, - "6" => \$ipv6, "use-ipv6" => \$ipv6, - "w=f" => \$opt_w, "warning=f" => \$opt_w, # offset|adjust warning if above this number - "c=f" => \$opt_c, "critical=f" => \$opt_c, # offset|adjust critical if above this number - "O" => \$opt_O, "zero-offset" => \$opt_O, # zero-offset bad - "j=s" => \$opt_j, "jwarn=i" => \$opt_j, # jitter warning if above this number - "k=s" => \$opt_k, "jcrit=i" => \$opt_k, # jitter critical if above this number - "t=s" => \$opt_t, "timeout=i" => \$opt_t, - "H=s" => \$opt_H, "hostname=s" => \$opt_H); - -if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.29 $ '); - exit $ERRORS{'OK'}; -} - -if ($opt_h) { - print_help(); - exit $ERRORS{'OK'}; -} - -# jitter test params specified -if (defined $opt_j || defined $opt_k ) { - $def_jitter = 1; -} - -$opt_H = shift unless ($opt_H); -my $host = $1 if ($opt_H && $opt_H =~ m/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z][-a-zA-Z0-9]+(\.[a-zA-Z][-a-zA-Z0-9]+)*)$/); -unless ($host) { - print "No target host specified\n"; - print_usage(); - exit $ERRORS{'UNKNOWN'}; -} - -my ($timeout, $owarn, $ocrit, $jwarn, $jcrit); - -$timeout = $TIMEOUT; -($opt_t) && ($opt_t =~ /^([0-9]+)$/) && ($timeout = $1); - -$owarn = $DEFAULT_OFFSET_WARN; -($opt_w) && ($opt_w =~ /^([0-9.]+)$/) && ($owarn = $1); - -$ocrit = $DEFAULT_OFFSET_CRIT; -($opt_c) && ($opt_c =~ /^([0-9.]+)$/) && ($ocrit = $1); - -$jwarn = $DEFAULT_JITTER_WARN; -($opt_j) && ($opt_j =~ /^([0-9]+)$/) && ($jwarn = $1); - -$jcrit = $DEFAULT_JITTER_CRIT; -($opt_k) && ($opt_k =~ /^([0-9]+)$/) && ($jcrit = $1); - -if ($ocrit < $owarn ) { - print "Critical offset should be larger than warning offset\n"; - print_usage(); - exit $ERRORS{"UNKNOWN"}; -} - -if ($def_jitter) { - if ($opt_k < $opt_j) { - print "Critical jitter should be larger than warning jitter\n"; - print_usage(); - exit $ERRORS{'UNKNOWN'}; - } -} - - -my $stratum = -1; -my $ignoreret = 0; -my $answer = undef; -my $offset = undef; -my $jitter = undef; -my $syspeer = undef; -my $candidate = 0; -my @candidates; -my $msg; # first line of output to print if format is invalid - -my $state = $ERRORS{'UNKNOWN'}; -my $ntpdate_error = $ERRORS{'UNKNOWN'}; -my $jitter_error = $ERRORS{'UNKNOWN'}; - -# some systems don't have a proper ntpq (migrated from ntpdc) -my $have_ntpq = undef; -if ($utils::PATH_TO_NTPQ && -x $utils::PATH_TO_NTPQ ) { - $have_ntpq = 1; -}else{ - $have_ntpq = 0; -} - -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print ("ERROR: No response from ntp server (alarm)\n"); - exit $ERRORS{"UNKNOWN"}; -}; -alarm($timeout); - -# Determine protocol to be used for ntpdate and ntpq -my $ntpdate = $utils::PATH_TO_NTPDATE; -my $ntpq = $utils::PATH_TO_NTPQ; -if ($ipv4) { - $ntpdate .= " -4"; - $ntpq .= " -4"; -} -elsif ($ipv6) { - $ntpdate .= " -6"; - $ntpq .= " -6"; -} -# else don't use any flags - -### -### -### First, check ntpdate -### -### - -if (!open (NTPDATE, $ntpdate . " -q $host 2>&1 |")) { - print "Could not open ntpdate\n"; - exit $ERRORS{"UNKNOWN"}; -} - -while () { - #print if ($verbose); # noop - $msg = $_ unless ($msg); - - if (/stratum\s(\d+)/) { - $stratum = $1; - } - - if (/(offset|adjust)\s+([-.\d]+)/i) { - $offset = $2; - - # An offset of 0.000000 with an error is probably bogus. Actually, - # it's probably always bogus, but let's be paranoid here. - # Has been reported that 0.0000 happens in a production environment - # on Solaris 8 so this check should be taken out - SF tracker 1150777 - if (defined $opt_O ) { - if ($offset == 0) { undef $offset;} - } - - $ntpdate_error = defined ($offset) ? $ERRORS{"OK"} : $ERRORS{"CRITICAL"}; - print "ntperr = $ntpdate_error \n" if $verbose; - - } - - if (/no server suitable for synchronization found/) { - if ($stratum == 16) { - $ntpdate_error = $ERRORS{"WARNING"}; - $msg = "Desynchronized peer server found"; - $ignoreret=1; - } - else { - $ntpdate_error = $ERRORS{"CRITICAL"}; - $msg = "No suitable peer server found - "; - } - } - -} - -close (NTPDATE); -# declare an error if we also get a non-zero return code from ntpdate -# unless already set to critical -if ( $? && !$ignoreret ) { - print "stderr = $? : $! \n" if $verbose; - $ntpdate_error = $ntpdate_error == $ERRORS{"CRITICAL"} ? $ERRORS{"CRITICAL"} : $ERRORS{"UNKNOWN"} ; - print "ntperr = $ntpdate_error : $!\n" if $verbose; -} - -### -### -### Then scan xntpq/ntpq if it exists -### and look in the 11th column for jitter -### -# Field 1: Tally Code ( Space, 'x','.','-','+','#','*','o') -# Only match for '*' which implies sys.peer -# or 'o' which implies pps.peer -# If both exist, the last one is picked. -# Field 2: address of the remote peer -# Field 3: Refid of the clock (0.0.0.0 if unknown, WWWV/PPS/GPS/ACTS/USNO/PCS/... if Stratum1) -# Field 4: stratum (0-15) -# Field 5: Type of the peer: local (l), unicast (u), multicast (m) -# broadcast (b); not sure about multicast/broadcast -# Field 6: last packet receive (in seconds) -# Field 7: polling interval -# Field 8: reachability resgister (octal) -# Field 9: delay -# Field 10: offset -# Field 11: dispersion/jitter -# -# According to bug 773588 Some solaris xntpd implementations seemto match on -# "#" even though the docs say it exceeds maximum distance. Providing patch -# here which will generate a warining. - -if ($have_ntpq) { - - if ( open(NTPQ, $ntpq . " -np $host 2>&1 |") ) { - while () { - print $_ if ($verbose); - if ( /timed out/ ){ - $have_ntpq = 0 ; - last ; - } - # number of candidates on for sys.peer - if (/^(\*|\+|\#|o])/) { - ++$candidate; - push (@candidates, $_); - print "Candidate count= $candidate\n" if ($verbose); - } - - # match sys.peer or pps.peer - if (/^(\*|o)(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/) { - $syspeer = $2; - $stratum = $4; - $jitter = $11; - print "match $_ \n" if $verbose; - if ($jitter > $jcrit) { - print "Jitter_crit = $11 :$jcrit\n" if ($verbose); - $jitter_error = $ERRORS{'CRITICAL'}; - } elsif ($jitter > $jwarn ) { - print "Jitter_warn = $11 :$jwarn\n" if ($verbose); - $jitter_error = $ERRORS{'WARNING'}; - } else { - $jitter_error = $ERRORS{'OK'}; - } - } else { - print "No match!\n" if $verbose; - $jitter = '(not parsed)'; - } - - } - close NTPQ; - - # if we did not match sys.peer or pps.peer but matched # candidates only - # generate a warning - # based on bug id 773588 - unless (defined $syspeer) { - if ($#candidates >=0) { - foreach my $c (@candidates) { - $c =~ /^(#)([-0-9.\s]+)\s+([-0-9A-Za-z_().]+)\s+([-0-9.]+)\s+([lumb-]+)\s+([-0-9m.]+)\s+([-0-9.]+)\s+([-0-9.]+)\s+([-0-9.]+)\s+([-0-9.]+)\s+([-0-9.]+)/; - $syspeer = $2; - $stratum = $4; - $jitter = $11; - print "candidate match $c \n" if $verbose; - if ($jitter > $jcrit) { - print "Candidate match - Jitter_crit = $11 :$jcrit\n" if ($verbose); - $jitter_error = $ERRORS{'CRITICAL'}; - }elsif ($jitter > $jwarn ) { - print "Candidate match - Jitter_warn = $11 :$jwarn \n" if ($verbose); - $jitter_error = $ERRORS{'WARNING'}; - } else { - $jitter_error = $ERRORS{'WARNING'}; - } - } - - } - } - } -} - - -if ($ntpdate_error != $ERRORS{'OK'}) { - $state = $ntpdate_error; - if ($ntpdate_error == $ERRORS{'WARNING'} ) { - $answer = $msg; - } - else { - $answer = $msg . "Server for ntp probably down"; - } - - if (defined($offset) && abs($offset) > $ocrit) { - $state = $ERRORS{'CRITICAL'}; - $answer = "Server Error and offset $offset sec > +/- $ocrit sec"; - } elsif (defined($offset) && abs($offset) > $owarn) { - $answer = "Server error and offset $offset sec > +/- $owarn sec"; - } elsif (defined($jitter) && abs($jitter) > $jcrit) { - $answer = "Server error and jitter $jitter msec > +/- $jcrit msec"; - } elsif (defined($jitter) && abs($jitter) > $jwarn) { - $answer = "Server error and jitter $jitter msec > +/- $jwarn msec"; - } - -} elsif ($have_ntpq && $jitter_error != $ERRORS{'OK'}) { - $state = $jitter_error; - $answer = "Jitter $jitter too high"; - if (defined($offset) && abs($offset) > $ocrit) { - $state = $ERRORS{'CRITICAL'}; - $answer = "Jitter error and offset $offset sec > +/- $ocrit sec"; - } elsif (defined($offset) && abs($offset) > $owarn) { - $answer = "Jitter error and offset $offset sec > +/- $owarn sec"; - } elsif (defined($jitter) && abs($jitter) > $jcrit) { - $answer = "Jitter error and jitter $jitter msec > +/- $jcrit msec"; - } elsif (defined($jitter) && abs($jitter) > $jwarn) { - $answer = "Jitter error and jitter $jitter msec > +/- $jwarn msec"; - } - -} elsif( !$have_ntpq ) { # no errors from ntpdate and no ntpq or ntpq timed out - if (abs($offset) > $ocrit) { - $state = $ERRORS{'CRITICAL'}; - $answer = "Offset $offset sec > +/- $ocrit sec"; - } elsif (abs($offset) > $owarn) { - $state = $ERRORS{'WARNING'}; - $answer = "Offset $offset sec > +/- $owarn sec"; - } elsif (( abs($offset) > $owarn) && $def_jitter ) { - $state = $ERRORS{'WARNING'}; - $answer = "Offset $offset sec > +/- $owarn sec, ntpq timed out"; - } elsif ( $def_jitter ) { - $state = $ERRORS{'WARNING'}; - $answer = "Offset $offset secs, ntpq timed out"; - } else{ - $state = $ERRORS{'OK'}; - $answer = "Offset $offset secs"; - } - - - -} else { # no errors from ntpdate or ntpq - if (abs($offset) > $ocrit) { - $state = $ERRORS{'CRITICAL'}; - $answer = "Offset $offset sec > +/- $ocrit sec, jitter $jitter msec"; - } elsif (abs($jitter) > $jcrit ) { - $state = $ERRORS{'CRITICAL'}; - $answer = "Jitter $jitter msec> +/- $jcrit msec, offset $offset sec"; - } elsif (abs($offset) > $owarn) { - $state = $ERRORS{'WARNING'}; - $answer = "Offset $offset sec > +/- $owarn sec, jitter $jitter msec"; - } elsif (abs($jitter) > $jwarn ) { - $state = $ERRORS{'WARNING'}; - $answer = "Jitter $jitter msec> +/- $jwarn msec, offset $offset sec"; - - } else { - $state = $ERRORS{'OK'}; - $answer = "Offset $offset secs, jitter $jitter msec, peer is stratum $stratum"; - } - -} - -foreach my $key (keys %ERRORS) { - if ($state==$ERRORS{$key}) { -# print ("NTP $key: $answer"); - print ("NTP $key: $answer|offset=$offset, jitter=" . $jitter/1000 . ",peer_stratum=$stratum\n"); - last; - } -} -exit $state; - - -#### -#### subs - -sub print_usage () { - print "Usage: $PROGNAME -H [-46] [-O] [-w ] [-c ] [-j ] [-k ] [-v verbose]\n"; -} - -sub print_help () { - print_revision($PROGNAME,'$Revision: 1.29 $'); - print "Copyright (c) 2003 Bo Kersey/Karl DeBisschop\n"; - print "\n"; - print_usage(); - print " -Checks the local timestamp offset versus with ntpdate -Checks the jitter/dispersion of clock signal between and its sys.peer with ntpq\n --O (--zero-offset) - A zero offset on \"ntpdate\" will generate a CRITICAL.\n --w (--warning) - Clock offset in seconds at which a warning message will be generated.\n Defaults to $DEFAULT_OFFSET_WARN. --c (--critical) - Clock offset in seconds at which a critical message will be generated.\n Defaults to $DEFAULT_OFFSET_CRIT. --j (--jwarn) - Clock jitter in milliseconds at which a warning message will be generated.\n Defaults to $DEFAULT_JITTER_WARN. --k (--jcrit) - Clock jitter in milliseconds at which a critical message will be generated.\n Defaults to $DEFAULT_JITTER_CRIT. - - If jitter/dispersion is specified with -j or -k and ntpq times out, then a - warning is returned.\n --4 (--use-ipv4) - Use IPv4 connection --6 (--use-ipv6) - Use IPv6 connection -\n"; -support(); -} diff --git a/scripts/services/check_nwstat b/scripts/services/check_nwstat deleted file mode 100755 index 3e82019dd7ab820c0dc051facad9ad8575814c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28336 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

~!JM1_Y`Wd+fXC?%zAK-nK z5I#&7{crpm7q{WVES5V>R$lh!I4ie6H6t#V)I~+&X8#?{{krsmMKp|N~U%FLA=AI7|P5$Hg)5)XQf0*7Ft z5WW)j;e6o8br{*b!*~SjWdMdM#go}M!`G}*OM>qPd-Ml-gYyvwfn9&3tCS+x9%x^2 z?f}Tn!1dri(GE@q)NTJv300>0-#^#-)PpbZvV2l3NGIu76tP7z?IQYXRu730fN#|A!jL{hqYrK62`DQ%9B?4E-Hk#yvg3zi= znBU&EYS$M}t)D@sZ2M!-_f~$p|C>?Pwe94LZMS@4FP#(d zHzBCSgKKS-AB+4G_~q04>20=MT%Ji6*1pCVqm3nhdv$^o)SKbF75|R;fOewUbgyMMdj6*f5*{U-#?mV0!>}ux|pJ*U!ZI`53^j zFmAmf8Y@oWGjKmzgl;??sHF+IBgNF6BjNExD1KYlwDzyU!X?P) z?`wO(iTPu`C){Z}L|nS>3I3aY2NZ1I_Hl~;Aly#ty&S-B3?7mRgr=}r%ipr}=niL7 zCnUF^C%6j(gRcRB^-($6dQW?6yH*3%x6K@3;D9_P?9m+vy$6-uhDFnL%!Q3DPJ&G6 zVG25|cU=J*;7)`eNroT6EC4@)6Y4G{%4nFK^gL%P-EYVF7mVuOg)6MvkL?Qg@09F& z9y7$)$ALefzwsX`iMg6Rj6sn-&<0)e8GP;jBc(7QT z29F}1XVtzJ=+b6@)@lB}5p7M1HpSmNLd(T-y;{D%*Rn>tpkVu|I4My&A$q~9NsA0&5^HB zn)=AghcR*qNB)*0*O*3Tm_`nmteQh^<&a9#kOR0N?FEU*jqzbk42k zY<@wUCu`Qt>%^HwOWFJg&MG@LKZy#zzUOiwrhb4*D3z+7Mu$y=74M{5l9eE zmP>;YyxIaH`K94=02RtZZY5J`jNf|FaLBFagogW44gDuEm_%@tHDO-ajxXF-^;tLB z`uGLBt#@yI@4m{zd+Yl`6^8>|D>|f+^;O^YV$_HjbX2T9RFNM1Yp?@og?Teo0Bc^t z(n1wI6W&G~nb5O0H30>OR2seVc<>G#Z5b>jef>eX41JzYP**0L+&<$fU`* z8i-znl<^Zw|DkjU3);o(S`K zK$bf#-%%K~(?zIlyOf!haAt22RR_H8YoIi$lN~0CKW_&Fpg}8rPq-KRrTl#{WCq1! z=$GX$LO~faO{~fME5P7_9`F@hy&`@w<48eg$k&s!(?r)yoi1%WLZ476M*fPPHcJMz z>1%ZFv`iIi8e^mnQS#q0kv}zo`~r{>m!;(hpP~JYXAhpmNUvTh4*X-3M&b z4piRm<{YN+IXXnPfXE_58p7Nl5F-fTo6IL8 z_~Z4^f|-F=wdsQZz7574u(c0C=*#HEApee1+Lm?8_JR&=dP`rCHaYlNOP}gH8}X|< zi`VyP=i)klkD{G{9&MC=TatC-sMapu-y{2xjs`yqylQRj;+f8^-WazkFinJc?g87L zAt;$5DWSV1Ck;-VBQBE@tw+T8-9wE3e5+VV;`n{MEcn#AM~vS!#Q0|c7B7c zpd{m?nS@_w|B3N=M9rrs^03`c5y0>ipP5D zx59e2K|E0ZX>f$wpdiC1^Wqr7l|vxpOErd%@ROHx_6FK-H6uhUfs@0d)A-eT%6GtM z_^{E!hg}@(wQku}uveQH?33nwVt%{uq}Y#dPqJ>YoB`AR7gAZ@M?&4=`lb|YL*K_q zzU`u~`#rE1Q!zR5oj^SB85>jhEH@_n)Vif7_@;H^sjXew`<$ysJFTTJO*;iYz{jtS z;VC}OZ}0v?ewTG)`f1iJ+t8oV@@1MY1$1|b*s{GpF@Y9;Iu!C?1bh?r~NX|2J%pi@$g`;2RXfw9P{tQsk_7i>vk-P2Q)|*_g(|bnnZ~d9i zVuk*lNfUa5ed4O;kddPRAu_RG<>BxF%yD~%_&toTH@NC(+j9cnOZ=Sh&9-lnyGQhA zZu0*#$^T8i?_c3UM$XE^AzyE3)zRRg$`0`k7QA?6J>Or*&GV@*@vMJ$sQ9SA+kz{; zFZ|*~EOHN57QRu;_|bQ{220qEmh1;+ra*irRD-?N<@Pq#`D$~k9Zin9S#@}Wm=~`F z^LeTqHEvI>Bd-Ck?ouke_F6}wn(b9{=c-P(S5uefHmZ$ok5-AZCbh}#aoLyGIoN7e zo9&(kS3@luRce*TrMd8Gt;#fYkYj1Cri%A+`LxQsG^N5AAdllFp93#rt5&@$QPrz_t(m7@yhbb!6XQs`vXL(p z^A@J5xz34dZm!c&*C?1&%9pFD)p!$`s}2}=UG-Ms{b&sUT})6+=*3tQw0^}r4`zY5 z1ZGIA!Cvnunq5+|$W~S+#?7S|c~y0L)On@qY`lEU;q_vQ>?#hTbc^OKEVo@|TO=pK z1+~FfzZ`4Ksdm)ZeRUdjVnQ0`X%b}VYEV>GzG&XU%fzU~`Zd8;r=#k|JXKw6uX9yL zmBtIAtLl8!4sb#o^RJv;k}uAR)O@ub@66O3svRqY5~{_e6>6Q^UTuP%uES0r25i0n z2HxWV7nhYTy0W+osEdq6yKB@cpT|QjqR?Gc4zUNvXo5_Njs3aCci$_YAg zv**|rmJmf84*PPv?+$X+oOowl_247*Px4%s}kVLeKj@ED`P~7F=Vh2)h>^= za?o)l#dGA8So0uIs@<#F4T>pGOizQ++?u^kpSt`%L*a(!aN(7J)O&GUdFj0QwgK#S zH#!>B8d#RG(#55h&TMkmT}&w%tmNAWRd1smB8IJ_*9SWhP&$o^uZRu0Vh&ev{2`^K z1LkS;!N<~b9%r)HNIBUs$CWPB2gX*`;MUZY4ow{~D=m6ec35Q$-tI9F1Qr1ho%826)UN8=nIIAn%Qvium-A#Jrd2z zMyPSa#SB1FD&=L@EG*W!L78}0HdLtywVKbX>hsON^0Ijgbu&t2bDbL|2aEPNR7V48 zH2gAujVeWHUYYJb>sG3D@SY9iul{~fMnZi)1lq!x4R!Tgo172wWb}m`>G?6p-cSvR zFhV7WPcBM+<~Z_d^VD%fS6((7qRzwVI7BPP#b(AUJyD5^a^>*KUZ=aRT5Wc^s+?-G z3o#y-5bP)ryOG`KOhUL6(b7nBz8x-OR1BG$bh*7|rJN_DqmgJBksfavr6GYPNu5{3 zdyV7uj4FPVNN$ZA@4IcLG>k-8nuO3^ zM|Gi!5HnFl$e5@yZckK2IG(5?R!*dqA>g5hzK@EHlLg3y)5?%0s1Ce5wvOwT8E-C} zipM*6nohSzPC1b(sUrOpM&)tT+C6wbZ7m&=47V^Oue(OWq8xc@IeeyXdA$oE!LET~ zsDcMqYHN|ds;+uuI86>_&fbY>d{J*AMaSDb(A<>yFk7*E;77JM7df4fcr>dkQnTxP z+1Z3G#tVlDq~`KkG+QzG3B2RmTd2+-B-??X1fzZLqm}l_VBLa(rH${qQl!$ls+12D}wwGuTz++M0On&0} zhJZ5R8JGne3*T{|erik5|_?#}!rz;}(D|B@VT$}>;rU;Lx6pKxTLJ!A}G6jxNfnQXZ%3(AU z4MikXN-WD!WF8N=Qoy4iC&dXq;S<@;c%1 zCh2eb)*Y(c{d?hd==G^kjdl+lrLk_WlAE8V7?FxjMX4yCH$U4uGEJ#ygcv8nx(eY% zhtL4gJESgg@dDMA*fy$w)$LSlCgMzL@fBqPkeRF^UM60x=qVT6YcvbX_TuN5_*p+b z@no!0RvP; z^zD_|&(2=nz#CV{LEvziBo2gDASSgM@eOH`*Vrjl%OsG#2SO9MOpUmom8LAx_fke% zCkJ=9#QibVxK6u*Z$usdfyWwEMkCGaBD0rH&MnBRR2EK}t>ouT!+%)8&>R#*SAn3! zhRs$9_FGED!YdYDxnvn#p9|*&1?83AzCKu=a-=7w@{fuODcY2sI*6eWcDs8mu7gH5Y3o5NNoFCL97rZ#TXD=SRxDztAmwVTlnn%Yfh-(zaeMf(A?QHjHi&xcIy#b`fn zYC9!Z+$Z%wB>j0_C;tbBeYuh+{wYF86xlR&?wJ?Sb;(y2byeLW3`1H4Z~oyoO(R2{`@_ zDL&Vr8bGMUV@9aYL*Y|Z#78@v3%F7gqn|YkR7BV!;b@=haIzbPV*xH;Xs44<_ks9jqPKi#vkLR>4!f~p{0QVT+_VaDJ z`oTGQ+=gPnwR~hrZK;j%g#89wP=}-J#Q!Vq403Tua$ z_d&ps$DCLEKQzGY!8zs2gY=P($5FTr!ZpJGH^LbhwBwREXZuMM1CDV*1Kbk?&=10} zJcnYysd&0jb>T5B9fp;vpTCGY6@~NiiN(|#6lE69jl-b9z-3$~+!mvOn*BWfALnWo AG5`Po diff --git a/scripts/services/check_oracle b/scripts/services/check_oracle deleted file mode 100755 index 5bf9066c78..0000000000 --- a/scripts/services/check_oracle +++ /dev/null @@ -1,284 +0,0 @@ -#! /bin/sh -# -# latigid010@yahoo.com -# 01/06/2000 -# -# This Nagios plugin was created to check Oracle status -# - -PROGNAME=`basename $0` -PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'` -REVISION=`echo '$Revision: 1.14 $' | sed -e 's/[^0-9.]//g'` - -. $PROGPATH/utils.sh - - -print_usage() { - echo "Usage:" - echo " $PROGNAME --tns " - echo " $PROGNAME --db " - echo " $PROGNAME --login " - echo " $PROGNAME --cache " - echo " $PROGNAME --tablespace " - echo " $PROGNAME --oranames " - echo " $PROGNAME --help" - echo " $PROGNAME --version" -} - -print_help() { - print_revision $PROGNAME $REVISION - echo "" - print_usage - echo "" - echo "Check Oracle status" - echo "" - echo "--tns SID/IP Address" - echo " Check remote TNS server" - echo "--db SID" - echo " Check local database (search /bin/ps for PMON process) and check" - echo " filesystem for sgadefORACLE_SID.dbf" - echo "--login SID" - echo " Attempt a dummy login and alert if not ORA-01017: invalid username/password" - echo "--cache" - echo " Check local database for library and buffer cache hit ratios" - echo " ---> Requires Oracle user/password and SID specified." - echo " ---> Requires select on v_$sysstat and v_$librarycache" - echo "--tablespace" - echo " Check local database for tablespace capacity in ORACLE_SID" - echo " ---> Requires Oracle user/password specified." - echo " ---> Requires select on dba_data_files and dba_free_space" - echo "--oranames Hostname" - echo " Check remote Oracle Names server" - echo "--help" - echo " Print this help screen" - echo "--version" - echo " Print version and license information" - echo "" - echo "If the plugin doesn't work, check that the ORACLE_HOME environment" - echo "variable is set, that ORACLE_HOME/bin is in your PATH, and the" - echo "tnsnames.ora file is locatable and is properly configured." - echo "" - echo "When checking local database status your ORACLE_SID is case sensitive." - echo "" - echo "If you want to use a default Oracle home, add in your oratab file:" - echo "*:/opt/app/oracle/product/7.3.4:N" - echo "" - support -} - -case "$1" in -1) - cmd='--tns' - ;; -2) - cmd='--db' - ;; -*) - cmd="$1" - ;; -esac - -# Information options -case "$cmd" in ---help) - print_help - exit $STATE_OK - ;; --h) - print_help - exit $STATE_OK - ;; ---version) - print_revision $PLUGIN $REVISION - exit $STATE_OK - ;; --V) - print_revision $PLUGIN $REVISION - exit $STATE_OK - ;; -esac - -# Hunt down a reasonable ORACLE_HOME -if [ -z "$ORACLE_HOME" ] ; then - # Adjust to taste - for oratab in /var/opt/oracle/oratab /etc/oratab - do - [ ! -f $oratab ] && continue - ORACLE_HOME=`IFS=: - while read SID ORACLE_HOME junk; - do - if [ "$SID" = "$2" -o "$SID" = "*" ] ; then - echo $ORACLE_HOME; - exit; - fi; - done < $oratab` - [ -n "$ORACLE_HOME" ] && break - done -fi -# Last resort -[ -z "$ORACLE_HOME" -a -d $PROGPATH/oracle ] && ORACLE_HOME=$PROGPATH/oracle - -if [ -z "$ORACLE_HOME" -o ! -d "$ORACLE_HOME" ] ; then - echo "Cannot determine ORACLE_HOME for sid $2" - exit $STATE_UNKNOWN -fi -PATH=$PATH:$ORACLE_HOME/bin -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib -export ORACLE_HOME PATH LD_LIBRARY_PATH - -case "$cmd" in ---tns) - tnschk=` tnsping $2` - tnschk2=` echo $tnschk | grep -c OK` - if [ ${tnschk2} -eq 1 ] ; then - tnschk3=` echo $tnschk | sed -e 's/.*(//' -e 's/).*//'` - echo "OK - reply time ${tnschk3} from $2" - exit $STATE_OK - else - echo "No TNS Listener on $2" - exit $STATE_CRITICAL - fi - ;; ---oranames) - namesctl status $2 | awk ' - /Server has been running for:/ { - msg = "OK: Up" - for (i = 6; i <= NF; i++) { - msg = msg " " $i - } - status = '$STATE_OK' - } - /error/ { - msg = "CRITICAL: " $0 - status = '$STATE_CRITICAL' - } - END { - print msg - exit status - }' - ;; ---db) - pmonchk=`ps -ef | grep -v grep | grep -c "ora_pmon_${2}$"` - if [ ${pmonchk} -ge 1 ] ; then - echo "${2} OK - ${pmonchk} PMON process(es) running" - exit $STATE_OK - #if [ -f $ORACLE_HOME/dbs/sga*${2}* ] ; then - #if [ ${pmonchk} -eq 1 ] ; then - #utime=`ls -la $ORACLE_HOME/dbs/sga*$2* | cut -c 43-55` - #echo "${2} OK - running since ${utime}" - #exit $STATE_OK - #fi - else - echo "${2} Database is DOWN" - exit $STATE_CRITICAL - fi - ;; ---login) - loginchk=`sqlplus dummy/user@$2 < /dev/null` - loginchk2=` echo $loginchk | grep -c ORA-01017` - if [ ${loginchk2} -eq 1 ] ; then - echo "OK - dummy login connected" - exit $STATE_OK - else - loginchk3=` echo "$loginchk" | grep "ORA-" | head -1` - echo "CRITICAL - $loginchk3" - exit $STATE_CRITICAL - fi - ;; ---cache) - if [ ${5} -gt ${6} ] ; then - echo "UNKNOWN - Warning level is less then Crit" - exit $STATE_UNKNOWN - fi - result=`sqlplus -s ${3}/${4}@${2} << EOF -set pagesize 0 -set numf '9999999.99' -select (1-(pr.value/(dbg.value+cg.value)))*100 -from v\\$sysstat pr, v\\$sysstat dbg, v\\$sysstat cg -where pr.name='physical reads' -and dbg.name='db block gets' -and cg.name='consistent gets'; -EOF` - - if [ -n "`echo $result | grep ORA-`" ] ; then - error=` echo "$result" | grep "ORA-" | head -1` - echo "CRITICAL - $error" - exit $STATE_CRITICAL - fi - - buf_hr=`echo "$result" | awk '/^[0-9\. \t]+$/ {print int($1)}'` - buf_hrx=`echo "$result" | awk '/^[0-9\. \t]+$/ {print $1}'` - result=`sqlplus -s ${3}/${4}@${2} << EOF -set pagesize 0 -set numf '9999999.99' -select sum(lc.pins)/(sum(lc.pins)+sum(lc.reloads))*100 -from v\\$librarycache lc; -EOF` - - if [ -n "`echo $result | grep ORA-`" ] ; then - error=` echo "$result" | grep "ORA-" | head -1` - echo "CRITICAL - $error" - exit $STATE_CRITICAL - fi - - lib_hr=`echo "$result" | awk '/^[0-9\. \t]+$/ {print int($1)}'` - lib_hrx=`echo "$result" | awk '/^[0-9\. \t]+$/ {print $1}'` - - if [ $buf_hr -le ${5} -o $lib_hr -le ${5} ] ; then - echo "${2} CRITICAL - Cache Hit Rates: $lib_hrx% Lib -- $buf_hrx% Buff|lib=$lib_hrx%;${6};${5};0;100 buffer=$buf_hrx%;${6};${5};0;100" - exit $STATE_CRITICAL - fi - if [ $buf_hr -le ${6} -o $lib_hr -le ${6} ] ; then - echo "${2} WARNING - Cache Hit Rates: $lib_hrx% Lib -- $buf_hrx% Buff|lib=$lib_hrx%;${6};${5};0;100 buffer=$buf_hrx%;${6};${5};0;100" - exit $STATE_WARNING - fi - echo "${2} OK - Cache Hit Rates: $lib_hrx% Lib -- $buf_hrx% Buff|lib=$lib_hrx%;${6};${5};0;100 buffer=$buf_hrx%;${6};${5};0;100" - - exit $STATE_OK - ;; ---tablespace) - if [ ${6} -lt ${7} ] ; then - echo "UNKNOWN - Warning level is more then Crit" - exit $STATE_UNKNOWN - fi - result=`sqlplus -s ${3}/${4}@${2} << EOF -set pagesize 0 -set numf '9999999.99' -select b.free,a.total,100 - trunc(b.free/a.total * 1000) / 10 prc -from ( -select tablespace_name,sum(bytes)/1024/1024 total -from dba_data_files group by tablespace_name) A, -( select tablespace_name,sum(bytes)/1024/1024 free -from dba_free_space group by tablespace_name) B -where a.tablespace_name=b.tablespace_name and a.tablespace_name='${5}'; -EOF` - - if [ -n "`echo $result | grep ORA-`" ] ; then - error=` echo "$result" | grep "ORA-" | head -1` - echo "CRITICAL - $error" - exit $STATE_CRITICAL - fi - - ts_free=`echo "$result" | awk '/^[ 0-9\.\t ]+$/ {print int($1)}'` - ts_total=`echo "$result" | awk '/^[ 0-9\.\t ]+$/ {print int($2)}'` - ts_pct=`echo "$result" | awk '/^[ 0-9\.\t ]+$/ {print int($3)}'` - ts_pctx=`echo "$result" | awk '/^[ 0-9\.\t ]+$/ {print $3}'` - if [ "$ts_free" -eq 0 -a "$ts_total" -eq 0 -a "$ts_pct" -eq 0 ] ; then - echo "No data returned by Oracle - tablespace $5 not found?" - exit $STATE_UNKNOWN - fi - if [ "$ts_pct" -ge ${6} ] ; then - echo "${2} : ${5} CRITICAL - $ts_pctx% used [ $ts_free / $ts_total MB available ]|${5}=$ts_pctx%;${7};${6};0;100" - exit $STATE_CRITICAL - fi - if [ "$ts_pct" -ge ${7} ] ; then - echo "${2} : ${5} WARNING - $ts_pctx% used [ $ts_free / $ts_total MB available ]|${5}=$ts_pctx%;${7};${6};0;100" - exit $STATE_WARNING - fi - echo "${2} : ${5} OK - $ts_pctx% used [ $ts_free / $ts_total MB available ]|${5}=$ts_pctx%;${7};${6};0;100" - exit $STATE_OK - ;; -*) - print_usage - exit $STATE_UNKNOWN -esac diff --git a/scripts/services/check_overcr b/scripts/services/check_overcr deleted file mode 100755 index 8850dbee332cac5cbb1ea7016fd1eb2f171a1bba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18208 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 z 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 aTx?x|k_@y<)=Hh1-cGs$I)ak@y#61ZPE2wD diff --git a/scripts/services/check_pgsql b/scripts/services/check_pgsql deleted file mode 100755 index 1847203517511b6c000e915cb5400ac5027d3028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16560 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 ttG%j9K1zy;ne6HxU8{~s3MUKs!Y diff --git a/scripts/services/check_pop b/scripts/services/check_pop deleted file mode 120000 index e838da97eb..0000000000 --- a/scripts/services/check_pop +++ /dev/null @@ -1 +0,0 @@ -check_tcp \ No newline at end of file diff --git a/scripts/services/check_procs b/scripts/services/check_procs deleted file mode 100755 index 73df901cb8bd67a73de4fc2584bd702af0fcd09b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26600 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 diff --git a/scripts/services/check_radius b/scripts/services/check_radius deleted file mode 100755 index f07273eacf9f6c9e2aa54f05de029344a83ef6a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12376 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 diff --git a/scripts/services/check_real b/scripts/services/check_real deleted file mode 100755 index 8e1e98f521bea0237d19138a35494c60002c1988..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18256 zcmeHve|%KcnfFPUz>o$eXhc?mUTmUZNk}LtiJ$>86&8d@0@x3RIGLFwQztWV<_+TGRG`7@6O38k|=boF~ z35dFX?H_yf$vMw?ew^n#=Q+|F7sw6ru~Ug=_tkk}J8`&=|OEHNl^g(k*{ z8RD6Ko2^jzzU<@D!N^-W_?1U?U6G)?OsUM|)EWy7}2m<9rwxXAz z-T^vbce)V$0QO5dsv@Th02-keIDvHbL70I~W}t6^2Ap8h?s`x60KMok3X1*<2V77S1tb(Y3Vwj+JYqEbSoh$_LDrH6gx$aKR1x%7PAqr4V2h0F`9*_sP)J0!h?ivRo{b7!e zyr1JA%Vo~vc(h%m+9z1(Q!Vvrs9&M*T$Gxs=b*en)g34^0W$&g^`))@suAHL^(|BQ zT7|DwMm-NlvcG>-`2C9hXT^V7;qNM(ddR;=;X4%mro!1y`U<750?r{`tMHo@{TnEG zJ%D!7|6XE3ysz-}z;_?E+3EjDnDG~t{7MXn{F@bS`s-$e(;uXt1@JlvAYQKM&nmnb zC9i4#>EBWG|4?|Q!k1!VNqGnBkau_#EtUeSwDC;k$E*Jc3mdLpVs-&q7K0S^zIo|AJBc?1xtgfc)0@*MPqd*kkGcIB;I3f2SL$ z{HyUVa!(-aXVxheHGjRaX0^B87uLO@C4N^p>Wn)=3IpeC%lLV8UN*+brN(7(~h zQ$XFU-3-349@2xJ8eag?0heEdbx$y&i;&m7QMiMFfY+^ydaoXA(rf&|K)nbDnnGZ% zGe!L)qD>J!EE-*Yf6y(!?+SrC=)TXZi?G*EJz;OaBkDq4ugl|slDeR9`CXw#;WlLI zT|S!Q4TXXs;c=r^-Md+*Dj(!P!T%!ct2fLH1>8+rV5cD~2jYn|kxdWYC&FR3D^N$v zbzh@5Sm$wV5v&PUSlJIocep74qjVVT@_WfVY*N%wdVmVhT%aXt^xMBfqmmGS6d) zjbjE&Y+$okVpA((iG)9wB@CU<5}VipmRLw-EV0>@v&1H`lqEKq6)YzUQNa=$W);gR zLfp*~8{$1Iv8mq6a;gv>me_C_SR$$VSz^O%Vu?*uXQ^R*v&3S2kmdC_ny|zM+RX9> zAs%CSqYzK9#OB(@a;6YFSYk8(7Rv%5*2Lb6_S+N3;kv|B_$@I8%*Q*$(7dzo>`?w7 z{=&OrD4(8gU^RJa2v@#n|PbVtBCI*zD?qH6W>R?N#cx@h7RKQO8j2p$B0)*+(W#Zc$vf-i1!jNlDMDv zDdL*Mn}{cfXG>fsK0sVZd^7Pu;sbx-_!(&pJWnQ1Nqie|JMnIbHxth$-XZbFh)*HD zN8(Qq*NE?wcpGsZdy{Pv-$A^H_%?}ui}-xvO~7G?yo%r75c_rXw*wVbs~e_aUu<}7 zkIjD9+J^i7)@Dy^g5hV|+7Q!~39Kcty|Z(!5Yc{HJbE5OXz9??hq|LjZ0oB#GKNdu z4-I_S*0L8ybies$!`7ZrJf|!?d%;6}NZhjTe;UPG^x}xV$CbXXjpBL2!c(VsHjLug zvv)+#V#QMmp6HQ0#1i6Y-CE4(ta!v8-D2!#&aN- z9Mkusx>r^sK||k5lye*U_OZUs(DyRy%c*bEu)fHi*6IPwSvLHZbqcYA(tZ$(u?O>P zvAKDPuVH-A!68TUm59w~;`Zp^{7pX_%4_-7D>gfNeg&*0#~dv+7@g7kezZ7RRv9=( zbU@;_8#qSwBZed>S`%c5jAiA2`iWJ@JtYEgQomhz+&A zlq3&ujnal)z3lE^fF^EW%&2wtq*eRfO8a970qbZVv}k{S(9r%7#*^G&YG;3&aTuU& zJm_1c2Q1S6s-*W*n%Uj3?KRpq3Fy&`eW)@5lj$avx^tE8M?kUae%hkDQt7Ut?ju;+ z?L2zLC&=kI?r6RSYU5WW(ALu9Xl?@5PM@@NL~hu&kn3DHTJAS&x6uN)h(+S7@Tc@% z;y9cYJu++khMMY5Siz?T(i$#m;5fvoxuwa?FlW~>bZ|7|2>w!4ve3vlmls@4!GDBE za>!WRmuJr zZRd@3I}sTov5RfCJXs$HgW}FC?tpQpH1X%0>y9)>^KK}mXwlPB9ZuLH(fdaXhEv4B z{28*)a|&pp#^@)Dowhm$pwHgUxuN3W(Jw>1(04O&x;Lp=?Q{qE*_Q`iY;74(`TGHO zpu+7S^2Jc`iSw}!T7M+zy}y6311{f==mj+uUl zJd8z(Zn7^uDT$Oxc@GAd-urBmvYe6^P0AejlXLP}{rMLRL`}(Op3Xyt!-n(ACFi0a zOlmH=;Gav(#RGpZeEBZO=3J~r8~vR+7j4va(Oi@&c|JLdE|gix(fk48BR+xi8o!E5 zE4ol-QAhIy5Q>Lluh0BtY(ZWk8|yLFiJpeH!Ys?yT=skPr{~#mijdoL5qgSaSt0;3 zK!ULh!$b+q8f^8Rm6<(0jVpHhpLybSH1jc}Rs9}Ig8TIckW;Gvo%-a^sImp8lJ7H9 z$`-Rf)%D{LGrK+ri!5DR1{^y!v-`&|LEM_bbnSR*JXU`4kI00Q0<%Ej{^EG*cW6u| z@W*QCG(@`D%X}J&L6>8yle3MbFzm1`7Dk6+9EZ`!&PN7N4pOodHl+IJRxUt``>p;t zG%(_y7aw48>S<|MaFrQzeC)2gA_;^Bv>0fuj4=if0#Xj=n=N9;Ne7A{`i<@}gl zNj`c>zF$bb$Xn>j_T>}}uNaiWq*SL+b{dr3q_|Qjj~J9EN%5vo{F35mX)=ao^QBN% z8r0@puv9uY`G#>O7-iE9O3O`3OR8OVMa@#wRNGGfPI{!}jPgUOeXl8Mx1y%n_pGAc zt28&JSl_0oixu_$6lzFO^At6bLahSz$H=yF>q`Sm@*U&6G8~B3iGSpbG4T&UN*?Bn zsEg0z5duyh7Amtu%Uu+@CofAbc}xt#p9?7Qd2G1xY209~lDEJ-bAeoKNSe36QtEv? zY~%E%x}X)D2)CBomHSd%5LDFZikj*I+BfWi3z+xhTUd*2#>Hm=(f*w1R{KP~G(L@| z3#+xe_m5cXdw*nIRYRva&O@kQEcqZL`;M4rB>v13ua@^zsEOha&%cbh7>d0U8?c-t znAOxl=xHd89d7B^eBDKyM_U*sR8#V*UTC%UBa5~B`=J19_<2}uNN|YK^M7~-_o#=?WW=lO(RZ(NJoEI6Y;JY-bAv`#!{7Zr;+bh(~hHzsz%VaYyUcV}E$2y&Dk}bG{af{GzxcdSQ}dM+ZIQ>^9E1S?q`p zb5Ppkakct%EH^K4C-fU9*Q{3OF%HiX3mvB!{Q5Mysa&~h77W|Rbsasj!q`7?*WOz^ z)N(@qN_`3G4_o5vb6ZYCzODAvbhH$AaO=Gv(a`=2jGr6BKSQp4r$jbS zj1J;4$7+zHgXwyvv^%+kvGZY~k_zR+nVG1ui@Q)tN%sb!+U8JB`r$T<0 z0MZ*hQnY@9`Lt+z{|})Fq~0rS<`yQ`iP5P($&7T0rmUKS7^89j65pB~v);Tg z5EvZB@$3fri&g=a3m3v}; zV%~uThYy|3h@L{)Y5qG3v^o>?A)P>OPBu$S0PR%?=iUFr%-uNDb7mP7=U_NH{ssth*Xd&3Q!&;_}rC4KY(=aE@FeROiCzitoq!XD((ve5d z3)mO4LzSL}9gSsYWS(n8-C5N}B#}3E3t2fa^j))kRXSToTjfe3V5f}@RjS{zjF)_&^`HfE@c`GIV z!aje6crg3C$0B)AXG> zacbS5b4G3j5i)Z1)uW9(d}w2gl|yV~uT|(ZdZfyD%8i-Y_jR;#hNeC=b>FvTJzaO~ zdr;PFdd9v-P^<3T_aqAZdNQDVJ)_l`9dn+i7Y(1<+IJ)JXl3nhvEGcQL+j9)iY$3x z8*2nxeA*G*I?_P%LGfJUAryur63@LW2O>AWe}XPp&goBN8p@*mGhjA?2qy3>gO$Vu zC4Kch7#YjSOAJ9w1`oZJ&Y&@Wq~XG$x1N^~9}sH^F0RuNL$9{?GzVpRizpK7K)_p0QwjTV!I_;vo?|nif5sR`OBg zq>*Bx{ZlXkoDzEUYp~r&=l)+fx7C=}cccY&)2SDSs|aL#HxKF_ZLd;_u;n zBL;bBGFw}QTM;ty_m?b87NU!%lcyjTN60~wS`4>hc4A$~<2RcFj=iJCTk`s*>Abm7 zk;%E723xvp*9z|1S#qmw{Sr@FGMQ;q)rqY8D#O5x$sbrOzV_GP05@!v8D$XnWW^^& zl$jRiGA|oH7r`=|G%+R|wuUW>-8lfi!mGZCLGWOeUJ z=Zurp-6x%MPgWm0=`1^0-Eq`;ma~SRiq1kMw&;nDgT0Qulbd@SEeR0lY0mI_pte?@ zrMG_!!%sR-oy1KhPfTicCc!{zJE+D1%St_?s8LCs!kb5)IV|#5V6{-*B{}lQ!MDjS z!Erk|B1J79I$CCsSHBMJa(|l)iasfND9y2VQgct_*U7hV9F2X@f}d7;SX175XT)1y zM>k2Hb5A;ZKgN=PVTtKU(-Z4tGd8IviDSzx^Q{UbA@0No}s;=puLf1N}%h2?zkJa=m{1Wv^ zR!y*46&hvLI;@Lq3=vCMEAH90a1e7PB6nZ3nsGb-Ic_e|BiZXO^II2V_B-e=F$I5& zZE61XdY4ts#xBU0@is!_aNmwp-|%pa5oH>ksYBiH8JmYYElXyj=yKAs1thd0_a~SN_X%jNt>?*T*8N$ zBR>53o9O5zuwnk!tu6krG7&`A+dHqu&%@FFtc0%@x5m+ISkn5p{2RmBt^3emdP!G! za_m<_InQB)(XOEHW6|dcO5}sc%33&b)Bw zLVDkrp`4eZXVRh^!m&E zcvCox*MB1+x3?}Bs`nNK@QSWj6L!^mOSSy4R%8kgvW$*Jik9YQ-fbC0d2o z6AEf8yguElE%37_bNk$d5m#Z8e%r+|FmI(CkXC^a`2t!w#}sU8^agaT%Ij*(9KRqx zd|PIwsA}+qH4Yn0x)(#%^aiiC+PP?j7WRfV`rKYE2nyQ57^1Jv=k>^87eY3372Y`x z2EwJ8T0z4st)QU6>u-{ytl-Pfng?$R`}`C@yB2oimF56g*OGOkHx!1fgAz*co+$jTyJ_R_YjYJy{JB#-Y{u@G`cBPhVhRo%AOAX9P1{kX4pX0!tzyX z7O!wh!&jR!3>NkQC9s`+C~gfevFnkrHY4oC`{*7FNh^>}VCebq;`XOhXR=?ckM`-b zPX%m>XDf|fwOXzfucls!#{|pp4r_Q>-a1|nJWhQZsSguhi#NaJKr0)9n^fF{HK>B7 z#zt2_em~>|p*B*FNUhgqsPJxdZPD~lB!Jh?;p2#om+PhKl(^pH^ZPXyUXyQZ!g330 z!6t7&a|JZMZ(=odlTUAuq0V((m{}QdyAe(izsVDZ+x18&pjB2as&dw>T0RR6b&;^k zABH-Qxspw`OoMI7>Sa~SmMmH^OABHdg*5r%zR9Chty#Hz<*Icn3pGu3T4(8XR%R`{ z=L@)lA$)J3qfaA#8etrg5&RSiHV)fu2@RwFb&FQ7L_90oGdH^Y5pTGVIU}1K6)}}*`JPO%s-kMys+E;mNDnua&Yqng zF3tDIK*n2BMH4c`vH%S6p@|uMIMpC-yzqv{2o;7mo%U&YQw)Gyxw8^Mz1W#z1nlH` zq8ZdJ`$t;=tj0*0lSa&82FVn2ii(N~@Mo^bTkYNG<92{Il?vy~)AEG$NDV(*5&0hZ zVi?~Fqv6c=Vp)aD$o2T(ggdW5W)}33F!PsCc~PirB~+GS$({uFBvGITMZqRr6hOrn z8rCi=U0Uibjg&T(ZYp(`>ZQXTGCQ7acDp8UUm&;%StL{+Vd#q4k#J~sxB>A#TYV>^ zmXoo!hOwzf{2nb35weFA(0I^mP}M$>O<`|L6+l+5E6*>79wqx&HKgHiMZ@Eg8v zv(E#R1I#RofUA^WQ<>RVbJbyWjzl5cYT;c}8{lCB`A@Coi@C+HdpEh5wyl#y7f;U= zGLP2DvreX1ZE$ENuFS#dN1kbh+p%=zF%o|=#R%dykxc8d$X{PnP*PYeR?c1|iVNrB zD_X3r82}t!q=Is1g>z-Ob7hrKdx==JT&UDPJYbPum+yw8Fl@tM<4zA*2cUb^H^)Rou8x69q-ZbG|rt-p#knF99Nug(Pdf-$M=v z4A)R$0}A}Tm4#(4)KQf);gJW1OU;GI)0ZK={O|R@9{3;U0o=dJS7XeQ2J*K{6N*&* zc9eYLRS~n<@!6o*fzNOF#B1qxn|$Qm)`IT}f$#hpe*Z+-0|oqE9QWYE--h$PbpUt0 z{5h!%biDa5zgy>b@7a&p?05lN3_NPH^E+A%fH&mjH}bf(4|bp(HU??e0Loh6sD9>) z|6YJ8^bp4KB;dP%X8{KRuLIr&oB><_OnlsCzZOskxDBupumKPNJOp?W@Lj;OfP;Y7 z0dE7&04@L~#vuwvcbX8@+1EVC?jTif~iC;fc@ z^D!Im$&>(=156$l>hu|}rGT$ka3&?)f_s5~)q?XI?T0OR6YypW?grj!!8ZZ_I}46S z58^w(QOIi}{(j$ruLb@u7QDe=OZm%K;rK*hxPc!4yJ|(D{Gz!@6yjjwEnKvCS%L1V z7ljS3aDyoHYzc(7G#VwoDK4xJL<-I0lNG4}E#&o+->5YCb!x_^z=iVL--+zJiz3H;kBOqM(H6%z{jj@SJFQy+8aj$$G3J=5@I_RF=z zI=gxSd@q3S1r9)6?335S0F$o)&qNy*j`)OhlP{+DICt{jRVg$4MUUvk`e5MYNhU-tGP9IaB{P$YQjDM?z^UI4eoVV`-%zpWedVkr74v-`t zd4B*f`M8%1l;In8w3!!q2+spdzMXj6Vdo&1 |"; -# -# Use these hosts.cfg entries as examples -# -# command[check_nfs]=/some/path/libexec/check_rpc $HOSTADDRESS$ nfs -# service[check_nfs]=NFS;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_rpc -# -# initial version: 3 May 2000 by Truongchinh Nguyen and Karl DeBisschop -# Modified May 2002 Subhendu Ghosh - support for ePN and patches -# current status: $Revision: 1.8 $ -# -# Copyright Notice: GPL -# $Id: check_rpc.pl,v 1.8 2003/08/10 12:11:49 kdebisschop Exp $ -# - -use strict; -use lib "/usr/lib/nagios/plugins"; -use utils qw($TIMEOUT %ERRORS &print_revision &support); -use vars qw($PROGNAME); -my ($verbose,@proto,%prognum,$host,$response,$prognum,$port,$cmd,$progver,$state); -my ($array_ref,$test,$element,@progkeys,$proto,$a,$b); -my ($opt_V,$opt_h,$opt_C,$opt_p,$opt_H,$opt_c,$opt_u,$opt_t); -my ($line, @progvers, $response2,$response3); -$opt_V = $opt_h = $opt_C = $opt_p = $opt_H = $opt_u = $opt_t =''; -$state = 'UNKNOWN'; -$progver = $response=$response2= $response3 =''; - -$PROGNAME = "check_rpc"; -sub print_help (); -sub print_usage (); -sub in ($$); - -$ENV{'BASH_ENV'}=''; -$ENV{'ENV'}=''; -$ENV{'PATH'}=''; -$ENV{'LC_ALL'}='C'; - -#Initialise protocol for each progname number -# 'u' for UDP, 't' for TCP -$proto[10003]='u'; -$proto[10004]='u'; -$proto[10007]='u'; - -use Getopt::Long; -Getopt::Long::Configure('bundling'); -GetOptions( - "V" => \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "C=s" => \$opt_C, "command=s" => \$opt_C, - "p=i" => \$opt_p, "port=i" => \$opt_p, - "H=s" => \$opt_H, "hostname=s" => \$opt_H, - "c=s" => \$opt_c, "progver=s" => \$opt_c, - "v+" => \$verbose, "verbose+" => \$verbose, - "u" => \$opt_u, "udp" => \$opt_u, - "t" => \$opt_t, "tcp" => \$opt_t -); - -# -h means display verbose help screen -if ($opt_h) { print_help(); exit $ERRORS{'OK'}; } - -# -V means display version number -if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.8 $ '); - exit $ERRORS{'OK'}; -} - -# Hash containing all RPC program names and numbers -# Add to the hash if support for new RPC program is required - -%prognum = ( - "portmapper" => 100000 , - "portmap" => 100000 , - "sunrpc" => 100000 , - "rpcbind" => 100000 , - "rstatd" => 100001 , - "rstat" => 100001 , - "rup" => 100001 , - "perfmeter" => 100001 , - "rstat_svc" => 100001 , - "rusersd" => 100002 , - "rusers" => 100002 , - "nfs" => 100003 , - "nfsprog" => 100003 , - "ypserv" => 100004 , - "ypprog" => 100004 , - "mountd" => 100005 , - "mount" => 100005 , - "showmount" => 100005 , - "ypbind" => 100007 , - "walld" => 100008 , - "rwall" => 100008 , - "shutdown" => 100008 , - "yppasswdd" => 100009 , - "yppasswd" => 100009 , - "etherstatd" => 100010 , - "etherstat" => 100010 , - "rquotad" => 100011 , - "rquotaprog" => 100011 , - "quota" => 100011 , - "rquota" => 100011 , - "sprayd" => 100012 , - "spray" => 100012 , - "3270_mapper" => 100013 , - "rje_mapper" => 100014 , - "selection_svc" => 100015 , - "selnsvc" => 100015 , - "database_svc" => 100016 , - "rexd" => 100017 , - "rex" => 100017 , - "alis" => 100018 , - "sched" => 100019 , - "llockmgr" => 100020 , - "nlockmgr" => 100021 , - "x25_inr" => 100022 , - "statmon" => 100023 , - "status" => 100024 , - "bootparam" => 100026 , - "ypupdated" => 100028 , - "ypupdate" => 100028 , - "keyserv" => 100029 , - "keyserver" => 100029 , - "sunlink_mapper" => 100033 , - "tfsd" => 100037 , - "nsed" => 100038 , - "nsemntd" => 100039 , - "showfhd" => 100043 , - "showfh" => 100043 , - "ioadmd" => 100055 , - "rpc.ioadmd" => 100055 , - "NETlicense" => 100062 , - "sunisamd" => 100065 , - "debug_svc" => 100066 , - "dbsrv" => 100066 , - "ypxfrd" => 100069 , - "rpc.ypxfrd" => 100069 , - "bugtraqd" => 100071 , - "kerbd" => 100078 , - "event" => 100101 , - "na.event" => 100101 , - "logger" => 100102 , - "na.logger" => 100102 , - "sync" => 100104 , - "na.sync" => 100104 , - "hostperf" => 100107 , - "na.hostperf" => 100107 , - "activity" => 100109 , - "na.activity" => 100109 , - "hostmem" => 100112 , - "na.hostmem" => 100112 , - "sample" => 100113 , - "na.sample" => 100113 , - "x25" => 100114 , - "na.x25" => 100114 , - "ping" => 100115 , - "na.ping" => 100115 , - "rpcnfs" => 100116 , - "na.rpcnfs" => 100116 , - "hostif" => 100117 , - "na.hostif" => 100117 , - "etherif" => 100118 , - "na.etherif" => 100118 , - "iproutes" => 100120 , - "na.iproutes" => 100120 , - "layers" => 100121 , - "na.layers" => 100121 , - "snmp" => 100122 , - "na.snmp" => 100122 , - "snmp-cmc" => 100122 , - "snmp-synoptics" => 100122 , - "snmp-unisys" => 100122 , - "snmp-utk" => 100122 , - "traffic" => 100123 , - "na.traffic" => 100123 , - "nfs_acl" => 100227 , - "sadmind" => 100232 , - "nisd" => 100300 , - "rpc.nisd" => 100300 , - "nispasswd" => 100303 , - "rpc.nispasswdd" => 100303 , - "ufsd" => 100233 , - "ufsd" => 100233 , - "pcnfsd" => 150001 , - "pcnfs" => 150001 , - "amd" => 300019 , - "amq" => 300019 , - "bwnfsd" => 545580417 , - "fypxfrd" => 600100069 , - "freebsd-ypxfrd" => 600100069 , -); - -# -v means verbose, -v-v means verbose twice = print above hash -if (defined $verbose && ($verbose > 1) ){ - my $key; - print "Supported programs:\n"; - print " name\t=>\tnumber\n"; - print " ===============================\n"; - foreach $key (sort keys %prognum) { - print " $key \t=>\t$prognum{$key} \n"; - } - print "\n\n"; - print_usage(); - exit $ERRORS{'OK'}; -} - -# -H means host name -unless ($opt_H) { print_usage(); exit $ERRORS{'UNKNOWN'}; } - -if (! utils::is_hostname($opt_H)){ - print "$opt_H is not a valid host name\n"; - print_usage(); - exit $ERRORS{"UNKNOWN"}; -}else{ - $host = $opt_H; -} - -if ($opt_t && $opt_u) { - print "Cannot define tcp AND udp\n"; - print_usage(); - exit $ERRORS{'UNKNOWN'}; -} - - -# -C means command name or number -$opt_C = shift unless ($opt_C); -unless ($opt_C) { print_usage(); exit -1; } -@progkeys = keys %prognum; -if ($opt_C =~ m/^([0-9]+)$/){ -# $response = "RPC ok: program $opt_C (version "; - $prognum = $1; -} elsif ( in( \@progkeys, $opt_C)) { -# $response = "RPC ok: $opt_C (version "; - $prognum = $prognum{$opt_C}; -} else { - print "Program $opt_C is not defined\n"; - exit $ERRORS{'UNKNOWN'}; -} - -# -p means port number -if($opt_p =~ /^([0-9]+)$/){ - $port = "-n $1"; -} else { - $port = ""; -} - -$proto = 'u'; -$proto = $proto[$prognum] if ($proto[$prognum]); -$proto = 't' if ($opt_t); -$proto = 'u' if ($opt_u); - - -# Just in case of problems, let's not hang Nagios -$SIG{'ALRM'} = sub { - print ("ERROR: No response from RPC server (alarm)\n"); - exit $ERRORS{"UNKNOWN"}; -}; -alarm($TIMEOUT); - -# -c is progver - if we need to check multiple specified versions. -if (defined $opt_c ) { - my $vers; - @progvers = split(/,/ ,$opt_c ); - foreach $vers (sort @progvers) { - if($vers =~ /^([0-9]+)$/){ - $progver = "$1"; - print "Checking $opt_C version $progver proto $proto\n" if $verbose; - get_rpcinfo(); - }else{ - print "Version $vers is not an integer\n" if $verbose; - } - - } -}else{ - get_rpcinfo(); -} - - -## translate proto for output -if ($proto eq "u" ){ - $proto = "udp"; -}else{ - $proto = "tcp"; -} - -if ($state eq 'OK') { - print "$state: RPC program $opt_C".$response." $proto running\n"; -}else{ - if($response){ - print "$state: RPC program $opt_C".$response2." $proto is not running,".$response." $proto is running\n"; - }else{ - print "$state: RPC program $opt_C $response2 $proto is not running\n"; - } -} -exit $ERRORS{$state}; - - -######## Subroutines ========================== - -sub get_rpcinfo { - $cmd = "$utils::PATH_TO_RPCINFO $port -" . "$proto $host $prognum $progver 2>&1 |"; - print "$cmd\n" if ($verbose); - open CMD, $cmd or die "Can't fork for rpcinfo: $!\n" ; - - while ( $line = ) { - printf "$line " if $verbose; - chomp $line; - - if ( $line =~ /program $prognum version ([0-9]*) ready and waiting/ ) { - $response .= " version $1"; - $state = 'OK' unless $state ne 'UNKNOWN'; - print "1:$response \n" if $verbose; - } - - if ( $line =~ /program $prognum version ([0-9]*) is not available/ ) { - $response2 .= " version $1"; - $state = 'CRITICAL'; - print "2:$response2 \n" if $verbose; - } - if ( $line =~ /program $prognum is not available/ ) { - $response3 = ""; - $response3 = "tcp" if $opt_t; - $response3 = "udp" if $opt_u; - $state = 'CRITICAL'; - print "3:$response3 \n" if $verbose; - } - } - close CMD; -} - - -sub print_help() { - print_revision($PROGNAME,'$Revision: 1.8 $ '); - print "Copyright (c) 2002 Karl DeBisschop/Truongchinh Nguyen/Subhendu Ghosh\n"; - print "\n"; - print "Check if a rpc service is registered and running using\n"; - print " rpcinfo -H host -C rpc_command \n"; - print "\n"; - print_usage(); - print "\n"; - print " The server providing the rpc service\n"; - print " The program name (or number).\n"; - print " The version you want to check for (one or more)\n"; - print " Should prevent checks of unknown versions being syslogged\n"; - print " e.g. 2,3,6 to check v2, v3, and v6\n"; - print " [-u | -t] Test UDP or TCP\n"; - print " [-v] Verbose \n"; - print " [-v -v] Verbose - will print supported programs and numbers \n"; - print "\n"; - support(); -} - -sub print_usage () { - print "Usage: \n"; - print " $PROGNAME -H host -C rpc_command [-p port] [-c program_version] [-u|-t] [-v]\n"; - print " $PROGNAME [-h | --help]\n"; - print " $PROGNAME [-V | --version]\n"; -} - -sub in ($$) { - $array_ref = shift; - $test = shift; - - while ( $element = shift @{$array_ref} ) { - if ($test eq $element) { - return 1; - } - } - return 0; -} - diff --git a/scripts/services/check_sensors b/scripts/services/check_sensors deleted file mode 100755 index 66d264ad9b..0000000000 --- a/scripts/services/check_sensors +++ /dev/null @@ -1,65 +0,0 @@ -#! /bin/sh - -PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin - -PROGNAME=`basename $0` -PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'` -REVISION=`echo '$Revision: 1.2 $' | sed -e 's/[^0-9.]//g'` - -. $PROGPATH/utils.sh - - -print_usage() { - echo "Usage: $PROGNAME" -} - -print_help() { - print_revision $PROGNAME $REVISION - echo "" - print_usage - echo "" - echo "This plugin checks hardware status using the lm_sensors package." - echo "" - support - exit 0 -} - -case "$1" in - --help) - print_help - exit 0 - ;; - -h) - print_help - exit 0 - ;; - --version) - print_revision $PROGNAME $REVISION - exit 0 - ;; - -V) - print_revision $PROGNAME $REVISION - exit 0 - ;; - *) - sensordata=`sensors 2>&1` - status=$? - if test "$1" = "-v" -o "$1" = "--verbose"; then - echo ${sensordata} - fi - if test ${status} -eq 127; then - echo "SENSORS UNKNOWN - command not found (did you install lmsensors?)" - exit -1 - elif test ${status} -ne 0 ; then - echo "WARNING - sensors returned state $status" - exit 1 - fi - if echo ${sensordata} | egrep ALARM > /dev/null; then - echo SENSOR CRITICAL - Sensor alarm detected! - exit 2 - else - echo sensor ok - exit 0 - fi - ;; -esac diff --git a/scripts/services/check_simap b/scripts/services/check_simap deleted file mode 120000 index e838da97eb..0000000000 --- a/scripts/services/check_simap +++ /dev/null @@ -1 +0,0 @@ -check_tcp \ No newline at end of file diff --git a/scripts/services/check_smtp b/scripts/services/check_smtp deleted file mode 100755 index 3c24434b342271d1ee48c045f1f89817072d8866..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23872 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 KRhb#vdHp{y#co;v diff --git a/scripts/services/check_snmp b/scripts/services/check_snmp deleted file mode 100755 index 9d20a257694c166bb6ff6541e3487c2005f07ba0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28936 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 z 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 diff --git a/scripts/services/check_spop b/scripts/services/check_spop deleted file mode 120000 index e838da97eb..0000000000 --- a/scripts/services/check_spop +++ /dev/null @@ -1 +0,0 @@ -check_tcp \ No newline at end of file diff --git a/scripts/services/check_ssh b/scripts/services/check_ssh deleted file mode 100755 index dcdc18e3d6234a971a1eb53cda03b80815ae76d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14736 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 *Dha-*I76m+>}r4Hy?S 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 diff --git a/scripts/services/check_time b/scripts/services/check_time deleted file mode 100755 index 976f730c2364de50a0c7705a1d981a15aef8b8cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16544 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 diff --git a/scripts/services/check_udp b/scripts/services/check_udp deleted file mode 100755 index d9a4d223451a40c3ff2424c438daeccc9d91ded9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15424 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 E06HprApigX diff --git a/scripts/services/check_users b/scripts/services/check_users deleted file mode 100755 index 7795f2029396aad9d4d512f3239ef965b7bc2ea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14168 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 z \$opt_V, "version" => \$opt_V, - "h" => \$opt_h, "help" => \$opt_h, - "v" => \$verbose, "verbose" => \$verbose, - "w=s" => \$opt_w, "warning=s" => \$opt_w, - "c=s" => \$opt_c, "critical=s" => \$opt_c, - "H=s" => \$opt_H, "hostname=s" => \$opt_H); - -if ($opt_V) { - print_revision($PROGNAME,'$Revision: 1.4 $'); #' - exit $ERRORS{'OK'}; -} - -if ($opt_h) { - print_help(); - exit $ERRORS{'OK'}; -} - -$opt_H = shift unless ($opt_H); -print_usage() unless ($opt_H); -my $host = $1 if ($opt_H =~ m/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z][-a-zA-Z0]+(\.[a-zA-Z][-a-zA-Z0]+)*)$/); -print_usage() unless ($host); - -($opt_c) || ($opt_c = shift) || ($opt_c = 120); -my $critical = $1 if ($opt_c =~ /([0-9]+)/); - -($opt_w) || ($opt_w = shift) || ($opt_w = 60); -my $warning = $1 if ($opt_w =~ /([0-9]+)/); - -$low1 = `snmpget $host public .1.3.6.1.4.1.74.2.21.1.2.1.8.1`; -@test = split(/ /,$low1); -$low1 = $test[2]; - -$med1 = `snmpget $host public .1.3.6.1.4.1.74.2.21.1.2.1.9.1`; -@test = split(/ /,$med1); -$med1 = $test[2]; - -$high1 = `snmpget $host public .1.3.6.1.4.1.74.2.21.1.2.1.10.1`; -@test = split(/ /,$high1); -$high1 = $test[2]; - -sleep(2); - -$snr = `snmpget $host public .1.3.6.1.4.1.762.2.5.2.1.17.1`; -@test = split(/ /,$snr); -$snr = $test[2]; -$snr = int($snr*25); - -$low2 = `snmpget $host public .1.3.6.1.4.1.74.2.21.1.2.1.8.1`; -@test = split(/ /,$low2); -$low2 = $test[2]; - -$med2 = `snmpget $host public .1.3.6.1.4.1.74.2.21.1.2.1.9.1`; -@test = split(/ /,$med2); -$med2 = $test[2]; - -$high2 = `snmpget $host public .1.3.6.1.4.1.74.2.21.1.2.1.10.1`; -@test = split(/ /,$high2); -$high2 = $test[2]; - -$low = $low2 - $low1; -$med = $med2 - $med1; -$high = $high2 - $high1; - -$tot = $low + $med + $high; - -if ($tot==0) { - $ss = 0; -} else { - $lowavg = $low / $tot; - $medavg = $med / $tot; - $highavg = $high / $tot; - $ss = ($medavg*50) + ($highavg*100); -} - -printf("Signal Strength at: %3.0f%, SNR at $snr%",$ss); - -if ($ss<$critical) { - exit(2); -} elsif ($ss<$warning) { - exit(1); -} else { - exit(0); -} - - -sub print_usage () { - print "Usage: $PROGNAME -H [-w ] [-c ]\n"; -} - -sub print_help () { - print_revision($PROGNAME,'$Revision: 1.4 $'); - print "Copyright (c) 2000 Jeffery Blank/Karl DeBisschop\n"; - print "\n"; - print_usage(); - print "\n"; - print " = Signal strength at which a warning message will be generated.\n"; - print " = Signal strength at which a critical message will be generated.\n\n"; - support(); -} diff --git a/scripts/services/negate b/scripts/services/negate deleted file mode 100755 index d81c478767b58ea46d2463379b630c9e22ffbdeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14120 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 diff --git a/scripts/services/urlize b/scripts/services/urlize deleted file mode 100755 index df17d2a526f6113471cd2d2bbc3acfd076eef87b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13416 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 PmWhEEd^>H#q7(f;HC2Va diff --git a/scripts/services/utils.pm b/scripts/services/utils.pm deleted file mode 100644 index 0556ec49bd..0000000000 --- a/scripts/services/utils.pm +++ /dev/null @@ -1,83 +0,0 @@ -# Utility drawer for Nagios plugins. -# $Id: utils.pm.in,v 1.7 2003/04/13 04:25:36 sghosh Exp $ -# -# $Log: utils.pm.in,v $ -# Revision 1.7 2003/04/13 04:25:36 sghosh -# update for check_mailq - qmail support -# -# Revision 1.6 2003/02/03 20:29:55 sghosh -# change ntpdc to ntpq (Jonathan Rozes,Thomas Schimpke, bug-656237 ) -# -# Revision 1.5 2002/10/30 05:07:29 sghosh -# monitor mailq -# -# Revision 1.4 2002/05/27 02:01:09 sghosh -# new var - smbclient -# -# Revision 1.3 2002/05/10 03:49:22 sghosh -# added programs to autoconf -# -# Revision 1.2 2002/05/08 05:10:35 sghosh -# is_hostname added, update CODES to POSIX -# -# -package utils; - -require Exporter; -@ISA = qw(Exporter); -@EXPORT_OK = qw($TIMEOUT %ERRORS &print_revision &support &usage); - -#use strict; -#use vars($TIMEOUT %ERRORS); -sub print_revision ($$); -sub usage; -sub support(); -sub is_hostname; - -## updated by autoconf -$PATH_TO_RPCINFO = "/usr/bin/rpcinfo"; -$PATH_TO_NTPDATE = "/usr/sbin/ntpdate"; -$PATH_TO_NTPDC = "/usr/bin/ntpdc"; -$PATH_TO_NTPQ = "/usr/bin/ntpq"; -$PATH_TO_LMSTAT = "" ; -$PATH_TO_SMBCLIENT = "/usr/bin/smbclient"; -$PATH_TO_MAILQ = "/usr/bin/mailq"; -$PATH_TO_QMAIL_QSTAT = ""; - -## common variables -$TIMEOUT = 15; -%ERRORS=('OK'=>0,'WARNING'=>1,'CRITICAL'=>2,'UNKNOWN'=>3,'DEPENDENT'=>4); - -## utility subroutines -sub print_revision ($$) { - my $commandName = shift; - my $pluginRevision = shift; - $pluginRevision =~ s/^\$Revision: //; - $pluginRevision =~ s/ \$\s*$//; - print "$commandName (nagios-plugins 1.4.2) $pluginRevision\n"; - print "The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute\ncopies of the plugins under the terms of the GNU General Public License.\nFor more information about these matters, see the file named COPYING.\n"; -} - -sub support () { - my $support='Send email to nagios-users@lists.sourceforge.net if you have questions\nregarding use of this software. To submit patches or suggest improvements,\nsend email to nagiosplug-devel@lists.sourceforge.net.\nPlease include version information with all correspondence (when possible,\nuse output from the --version option of the plugin itself).\n'; - $support =~ s/@/\@/g; - $support =~ s/\\n/\n/g; - print $support; -} - -sub usage { - my $format=shift; - printf($format,@_); - exit $ERRORS{'UNKNOWN'}; -} - -sub is_hostname { - my $host1 = shift; - if ($host1 && $host1 =~ m/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[a-zA-Z][-a-zA-Z0-9]+(\.[a-zA-Z][-a-zA-Z0-9]+)*)$/) { - return 1; - }else{ - return 0; - } -} - -1; diff --git a/scripts/services/utils.sh b/scripts/services/utils.sh deleted file mode 100755 index 313b61816c..0000000000 --- a/scripts/services/utils.sh +++ /dev/null @@ -1,23 +0,0 @@ -#! /bin/sh - -STATE_OK=0 -STATE_WARNING=1 -STATE_CRITICAL=2 -STATE_UNKNOWN=3 -STATE_DEPENDENT=4 - -if test -x /usr/bin/printf; then - ECHO=/usr/bin/printf -else - ECHO=echo -fi - -print_revision() { - echo "$1 (nagios-plugins 1.4.2) $2" - $ECHO "The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute\ncopies of the plugins under the terms of the GNU General Public License.\nFor more information about these matters, see the file named COPYING.\n" | /bin/sed -e 's/\n/ /g' -} - -support() { - $ECHO "Send email to nagios-users@lists.sourceforge.net if you have questions\nregarding use of this software. To submit patches or suggest improvements,\nsend email to nagiosplug-devel@lists.sourceforge.net.\nPlease include version information with all correspondence (when possible,\nuse output from the --version option of the plugin itself).\n" | /bin/sed -e 's/\n/ /g' -} -