diff options
24 files changed, 857 insertions, 115 deletions
diff --git a/contrib/check_breeze.pl b/contrib/check_breeze.pl new file mode 100644 index 00000000..bb837657 --- /dev/null +++ b/contrib/check_breeze.pl | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | #!/usr/bin/perl | ||
| 2 | |||
| 3 | # Plugin to test signal strength on Breezecom wireless equipment | ||
| 4 | # Contributed by Jeffrey Blank | ||
| 5 | |||
| 6 | $Host=$ARGV[0]; | ||
| 7 | $sig_crit=$ARGV[1]; | ||
| 8 | $sig_warn=$ARGV[2]; | ||
| 9 | $sig=0; | ||
| 10 | $sig = `snmpget $Host public .1.3.6.1.4.1.710.3.2.3.1.3.0`; | ||
| 11 | @test=split(/ /,$sig); | ||
| 12 | $sig=@test[2]; | ||
| 13 | $sig=int($sig); | ||
| 14 | if ($sig>100){$sig=100} | ||
| 15 | |||
| 16 | print "Signal Strength at: $sig%\n"; | ||
| 17 | if ($sig<$sig_crit) | ||
| 18 | {exit(2)} | ||
| 19 | if ($sig<$sig_warn) | ||
| 20 | {exit(1)} | ||
| 21 | |||
| 22 | exit(0); | ||
diff --git a/contrib/check_dhcp.c b/contrib/check_dhcp.c index 8168b947..6a6037f1 100644 --- a/contrib/check_dhcp.c +++ b/contrib/check_dhcp.c | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | * | 4 | * |
| 5 | * Program: DHCP plugin for Nagios | 5 | * Program: DHCP plugin for Nagios |
| 6 | * License: GPL | 6 | * License: GPL |
| 7 | * Copyright (c) 2001 Ethan Galstad (nagios@nagios.org) | 7 | * Copyright (c) 2001-2002 Ethan Galstad (nagios@nagios.org) |
| 8 | * | 8 | * |
| 9 | * License Information: | 9 | * License Information: |
| 10 | * | 10 | * |
| @@ -437,7 +437,7 @@ int send_dhcp_packet(void *buffer, int buffer_size, int sock, struct sockaddr_in | |||
| 437 | struct sockaddr_in myname; | 437 | struct sockaddr_in myname; |
| 438 | int result; | 438 | int result; |
| 439 | 439 | ||
| 440 | result=sendto(sock,(char *)buffer,buffer_size,0,(struct sockaddr_in *)dest,sizeof(*dest)); | 440 | result=sendto(sock,(char *)buffer,buffer_size,0,(struct sockaddr *)dest,sizeof(*dest)); |
| 441 | 441 | ||
| 442 | #ifdef DEBUG | 442 | #ifdef DEBUG |
| 443 | printf("send_dhcp_packet result: %d\n",result); | 443 | printf("send_dhcp_packet result: %d\n",result); |
| @@ -480,11 +480,11 @@ int receive_dhcp_packet(void *buffer, int buffer_size, int sock, int timeout, st | |||
| 480 | /* why do we need to peek first? i don't know, its a hack. without it, the source address of the first packet received was | 480 | /* why do we need to peek first? i don't know, its a hack. without it, the source address of the first packet received was |
| 481 | not being interpreted correctly. sigh... */ | 481 | not being interpreted correctly. sigh... */ |
| 482 | bzero(&source_address,sizeof(source_address)); | 482 | bzero(&source_address,sizeof(source_address)); |
| 483 | recv_result=recvfrom(sock,(char *)buffer,buffer_size,MSG_PEEK,(struct sockaddr_in *)&source_address,&address_size); | 483 | recv_result=recvfrom(sock,(char *)buffer,buffer_size,MSG_PEEK,(struct sockaddr *)&source_address,&address_size); |
| 484 | #ifdef DEBUG | 484 | #ifdef DEBUG |
| 485 | printf("recv_result_1: %d\n",recv_result); | 485 | printf("recv_result_1: %d\n",recv_result); |
| 486 | #endif | 486 | #endif |
| 487 | recv_result=recvfrom(sock,(char *)buffer,buffer_size,0,(struct sockaddr_in *)&source_address,&address_size); | 487 | recv_result=recvfrom(sock,(char *)buffer,buffer_size,0,(struct sockaddr *)&source_address,&address_size); |
| 488 | #ifdef DEBUG | 488 | #ifdef DEBUG |
| 489 | printf("recv_result_2: %d\n",recv_result); | 489 | printf("recv_result_2: %d\n",recv_result); |
| 490 | #endif | 490 | #endif |
| @@ -812,7 +812,7 @@ void print_help(void){ | |||
| 812 | 812 | ||
| 813 | /*print_revision(PROGNAME,"$Revision$");*/ | 813 | /*print_revision(PROGNAME,"$Revision$");*/ |
| 814 | 814 | ||
| 815 | printf("Copyright (c) 2001 Ethan Galstad (nagios@nagios.org)\n\n"); | 815 | printf("Copyright (c) 2001-2002 Ethan Galstad (nagios@nagios.org)\n\n"); |
| 816 | printf("This plugin tests the availability of DHCP servers on a network.\n\n"); | 816 | printf("This plugin tests the availability of DHCP servers on a network.\n\n"); |
| 817 | 817 | ||
| 818 | print_usage(); | 818 | print_usage(); |
diff --git a/contrib/check_flexlm.pl b/contrib/check_flexlm.pl new file mode 100644 index 00000000..8fa0e334 --- /dev/null +++ b/contrib/check_flexlm.pl | |||
| @@ -0,0 +1,82 @@ | |||
| 1 | #!/usr/local/bin/perl | ||
| 2 | # | ||
| 3 | # usage: | ||
| 4 | # check_flexlm.pl license_file | ||
| 5 | # | ||
| 6 | # Check available flexlm license managers. | ||
| 7 | # Use lmstat to check the status of the license server | ||
| 8 | # described by the license file given as argument. | ||
| 9 | # Check and interpret the output of lmstat | ||
| 10 | # and create returncodes and output. | ||
| 11 | # | ||
| 12 | # Contrary to the nagios concept, this script takes | ||
| 13 | # a file, not a hostname as an argument and returns | ||
| 14 | # the status of hosts and services described in that | ||
| 15 | # file. Use these hosts.cfg entries as an example | ||
| 16 | # | ||
| 17 | #host[anchor]=any host will do;some.address.com;;check-host-alive;3;120;24x7;1;1;1; | ||
| 18 | #service[anchor]=yodel;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_flexlm!/opt/lic/licfiles/yodel_lic | ||
| 19 | #service[anchor]=yeehaw;24x7;3;5;5;unix-admin;60;24x7;1;1;1;;check_flexlm!/opt/lic/licfiles/yeehaw_lic | ||
| 20 | #command[check_flexlm]=/some/path/libexec/check_flexlm.pl $ARG1$ | ||
| 21 | # | ||
| 22 | # Notes: | ||
| 23 | # - you need the lmstat utility which comes with flexlm. | ||
| 24 | # - set the correct path in the variable $lmstat. | ||
| 25 | # | ||
| 26 | # initial version: 9-10-99 Ernst-Dieter Martin edmt@infineon.com | ||
| 27 | # current status: looks like working | ||
| 28 | # | ||
| 29 | # Copyright Notice: Do as you please, credit me, but don't blame me | ||
| 30 | # | ||
| 31 | |||
| 32 | # Just in case of problems, let's not hang Nagios | ||
| 33 | $SIG{'ALRM'} = sub { | ||
| 34 | print "No Answer from Client\n"; | ||
| 35 | exit 2; | ||
| 36 | }; | ||
| 37 | alarm(20); | ||
| 38 | |||
| 39 | $lmstat = "/opt/lic/sw/cadadm/default/bin/lmstat"; | ||
| 40 | |||
| 41 | $licfile = shift; | ||
| 42 | |||
| 43 | #print "$licfile \n"; | ||
| 44 | |||
| 45 | open CMD,"$lmstat -c $licfile |"; | ||
| 46 | |||
| 47 | $serverup = 0; | ||
| 48 | |||
| 49 | while ( <CMD> ) { | ||
| 50 | if ( /^License server status: [0-9]*@([-0-9a-zA-Z_]*),[0-9]*@([-0-9a-zA-Z_]*),[0-9]*@([-0-9a-zA-Z_]*)/ ) { | ||
| 51 | $ls1 = $1; | ||
| 52 | $ls2 = $2; | ||
| 53 | $ls3 = $3; | ||
| 54 | $lf1 = $lf2 = $lf3 = 0; | ||
| 55 | $servers = 3; | ||
| 56 | } elsif ( /^License server status: [0-9]*@([-0-9a-zA-Z_]*)/ ) { | ||
| 57 | $ls1 = $1; | ||
| 58 | $ls2 = $ls3 = ""; | ||
| 59 | $lf1 = $lf2 = $lf3 = 0; | ||
| 60 | $servers = 1; | ||
| 61 | } elsif ( / *$ls1: license server UP/ ) { | ||
| 62 | print "$ls1 UP, "; | ||
| 63 | $lf1 = 1 | ||
| 64 | } elsif ( / *$ls2: license server UP/ ) { | ||
| 65 | print "$ls2 UP, "; | ||
| 66 | $lf2 = 1 | ||
| 67 | } elsif ( / *$ls3: license server UP/ ) { | ||
| 68 | print "$ls3 UP, "; | ||
| 69 | $lf3 = 1 | ||
| 70 | } elsif ( / *([^:]*: UP .*)/ ) { | ||
| 71 | print " license server for $1\n"; | ||
| 72 | $serverup = 1; | ||
| 73 | } | ||
| 74 | } | ||
| 75 | if ( $serverup == 0 ) { | ||
| 76 | print " license server not running\n"; | ||
| 77 | exit 2; | ||
| 78 | } | ||
| 79 | |||
| 80 | exit 0 if ( $servers == $lf1 + $lf2 + $lf3 ); | ||
| 81 | exit 1 if ( $servers == 3 && $lf1 + $lf2 + $lf3 == 2 ); | ||
| 82 | exit 2; | ||
diff --git a/contrib/check_hltherm.c b/contrib/check_hltherm.c new file mode 100644 index 00000000..85c989f5 --- /dev/null +++ b/contrib/check_hltherm.c | |||
| @@ -0,0 +1,209 @@ | |||
| 1 | /****************************************************************************************** | ||
| 2 | * | ||
| 3 | * CHECK_HLTHERM.C | ||
| 4 | * | ||
| 5 | * Program: Hot Little Therm temperature plugin for Nagios | ||
| 6 | * License: GPL | ||
| 7 | * Copyright (c) 1999-2002 Ethan Galstad (nagios@nagios.org) | ||
| 8 | * | ||
| 9 | * Last Modified: 02-28-2002 | ||
| 10 | * | ||
| 11 | * Command line: check_hltherm <probe> <wtemp> <ctemp> [-l label] [-s scale] [-lower] | ||
| 12 | * | ||
| 13 | * Description: | ||
| 14 | * | ||
| 15 | * This plugin checks the temperature of a given temperature probe on a | ||
| 16 | * Hot Little Therm digital thermometer. The plugin uses the 'therm' utility | ||
| 17 | * that is included with the HLT software to check the probe temperature. Both | ||
| 18 | * the HLT digital thermometer and software are produced by Spiderplant. See | ||
| 19 | * their website at http://www.spiderplant.com/hlt for more information. | ||
| 20 | * | ||
| 21 | *****************************************************************************************/ | ||
| 22 | |||
| 23 | #include "config.h" | ||
| 24 | #include "common.h" | ||
| 25 | #include "popen.h" | ||
| 26 | |||
| 27 | #define DEFAULT_TIMEOUT 10 /* default timeout in seconds */ | ||
| 28 | |||
| 29 | #define HLTHERM_COMMAND "/usr/local/bin/therm" /* this should be moved out to the configure script */ | ||
| 30 | |||
| 31 | |||
| 32 | static void timeout_alarm_handler(int); /* author must provide */ | ||
| 33 | int process_arguments(int, char **); | ||
| 34 | |||
| 35 | int timeout_interval=DEFAULT_TIMEOUT; | ||
| 36 | |||
| 37 | double wtemp=0.0L; | ||
| 38 | double ctemp=0.0L; | ||
| 39 | |||
| 40 | int check_lower_temps=FALSE; | ||
| 41 | |||
| 42 | char probe[MAX_INPUT_BUFFER]=""; | ||
| 43 | char label[MAX_INPUT_BUFFER]="Temperature"; | ||
| 44 | char scale[MAX_INPUT_BUFFER]="Degrees"; | ||
| 45 | |||
| 46 | FILE *fp; | ||
| 47 | |||
| 48 | |||
| 49 | int main(int argc, char **argv){ | ||
| 50 | int result=STATE_OK; | ||
| 51 | char command[MAX_INPUT_BUFFER]; | ||
| 52 | double temp=0.0L; | ||
| 53 | char input_buffer[MAX_INPUT_BUFFER]; | ||
| 54 | int found=0; | ||
| 55 | |||
| 56 | /* process command line arguments */ | ||
| 57 | result=process_arguments(argc,argv); | ||
| 58 | |||
| 59 | /* display usage if there was a problem */ | ||
| 60 | if(result==ERROR){ | ||
| 61 | printf("Incorrect arguments supplied\n"); | ||
| 62 | printf("\n"); | ||
| 63 | printf("Hot Little Therm temperature plugin for Nagios\n"); | ||
| 64 | printf("Copyright (c) 1999-2002 Ethan Galstad (nagios@nagios.org)\n"); | ||
| 65 | printf("Last Modified: 02-28-2002\n"); | ||
| 66 | printf("License: GPL\n"); | ||
| 67 | printf("\n"); | ||
| 68 | printf("Usage: %s <probe> <wtemp> <ctemp> [-l label] [-s scale] [-lower]\n",argv[0]); | ||
| 69 | printf("\n"); | ||
| 70 | printf("Options:\n"); | ||
| 71 | printf(" <wtemp> = Temperature necessary to result in a WARNING state\n"); | ||
| 72 | printf(" <ctemp> = Temperature necessary to result in a CRITICAL state\n"); | ||
| 73 | printf(" [label] = A descriptive label for the probe. Example: \"Outside Temp\"\n"); | ||
| 74 | printf(" [scale] = A descriptive label for the temperature scale. Example: \"Celsius\"\n"); | ||
| 75 | printf(" [-lower] = Evaluate temperatures with lower values being more critical\n"); | ||
| 76 | printf("\n"); | ||
| 77 | printf("This plugin checks the temperature of a given temperature probe on a\n"); | ||
| 78 | printf("Hot Little Therm digital thermometer. The plugin uses the 'therm' utility\n"); | ||
| 79 | printf("included with the HLT software to check the probe temperature. Both the\n"); | ||
| 80 | printf("HLT digital thermometer and software are produced by Spiderplant. See\n"); | ||
| 81 | printf("their website at http://www.spiderplant.com/hlt for more information.\n"); | ||
| 82 | printf("\n"); | ||
| 83 | return STATE_UNKNOWN; | ||
| 84 | } | ||
| 85 | |||
| 86 | |||
| 87 | result=STATE_OK; | ||
| 88 | |||
| 89 | /* Set signal handling and alarm */ | ||
| 90 | if(signal(SIGALRM,timeout_alarm_handler)==SIG_ERR){ | ||
| 91 | printf("Cannot catch SIGALRM"); | ||
| 92 | return STATE_UNKNOWN; | ||
| 93 | } | ||
| 94 | |||
| 95 | /* handle timeouts gracefully */ | ||
| 96 | alarm(timeout_interval); | ||
| 97 | |||
| 98 | /* create the command line we're going to use */ | ||
| 99 | snprintf(command,sizeof(command),"%s %s",HLTHERM_COMMAND,probe); | ||
| 100 | command[sizeof(command)-1]='\x0'; | ||
| 101 | |||
| 102 | /* run the command to check the temperature on the probe */ | ||
| 103 | fp=spopen(command); | ||
| 104 | if(fp==NULL){ | ||
| 105 | printf("Could not open pipe: %s\n",command); | ||
| 106 | return STATE_UNKNOWN; | ||
| 107 | } | ||
| 108 | |||
| 109 | if(fgets(input_buffer,MAX_INPUT_BUFFER-1,fp)){ | ||
| 110 | found=1; | ||
| 111 | temp=(double)atof(input_buffer); | ||
| 112 | } | ||
| 113 | |||
| 114 | /* close the pipe */ | ||
| 115 | spclose(fp); | ||
| 116 | |||
| 117 | if(result==STATE_OK){ | ||
| 118 | |||
| 119 | if(found==0){ | ||
| 120 | printf("Therm problem - Could not read program output\n"); | ||
| 121 | result=STATE_CRITICAL; | ||
| 122 | } | ||
| 123 | else{ | ||
| 124 | if(check_lower_temps==TRUE){ | ||
| 125 | if(temp<=ctemp) | ||
| 126 | result=STATE_CRITICAL; | ||
| 127 | else if(temp<=wtemp) | ||
| 128 | result=STATE_WARNING; | ||
| 129 | } | ||
| 130 | else{ | ||
| 131 | if(temp>=ctemp) | ||
| 132 | result=STATE_CRITICAL; | ||
| 133 | else if(temp>=wtemp) | ||
| 134 | result=STATE_WARNING; | ||
| 135 | } | ||
| 136 | |||
| 137 | printf("Therm %s: %s = %2.1f %s\n",(result==STATE_OK)?"ok":"problem",label,temp,scale); | ||
| 138 | } | ||
| 139 | } | ||
| 140 | |||
| 141 | return result; | ||
| 142 | } | ||
| 143 | |||
| 144 | |||
| 145 | /* process command-line arguments */ | ||
| 146 | int process_arguments(int argc, char **argv){ | ||
| 147 | int x; | ||
| 148 | |||
| 149 | /* not enough options were supplied */ | ||
| 150 | if(argc<4) | ||
| 151 | return ERROR; | ||
| 152 | |||
| 153 | /* first option is always the probe name */ | ||
| 154 | strncpy(probe,argv[1],sizeof(probe)-1); | ||
| 155 | probe[sizeof(probe)-1]='\x0'; | ||
| 156 | |||
| 157 | /* 2nd and 3rd options are temperature thresholds */ | ||
| 158 | wtemp=(double)atof(argv[2]); | ||
| 159 | ctemp=(double)atof(argv[3]); | ||
| 160 | |||
| 161 | /* process all remaining arguments */ | ||
| 162 | for(x=5;x<=argc;x++){ | ||
| 163 | |||
| 164 | /* we got the lower temperature option */ | ||
| 165 | if(!strcmp(argv[x-1],"-lower")) | ||
| 166 | check_lower_temps=TRUE; | ||
| 167 | |||
| 168 | /* we got the label */ | ||
| 169 | else if(!strcmp(argv[x-1],"-l")){ | ||
| 170 | if(x<argc){ | ||
| 171 | strncpy(label,argv[x],sizeof(label)); | ||
| 172 | label[sizeof(label)-1]='\x0'; | ||
| 173 | x++; | ||
| 174 | } | ||
| 175 | else | ||
| 176 | return ERROR; | ||
| 177 | } | ||
| 178 | |||
| 179 | /* we got the scale */ | ||
| 180 | else if(!strcmp(argv[x-1],"-s")){ | ||
| 181 | if(x<argc){ | ||
| 182 | strncpy(scale,argv[x],sizeof(scale)); | ||
| 183 | scale[sizeof(scale)-1]='\x0'; | ||
| 184 | x++; | ||
| 185 | } | ||
| 186 | else | ||
| 187 | return ERROR; | ||
| 188 | } | ||
| 189 | |||
| 190 | /* else we got something else... */ | ||
| 191 | else | ||
| 192 | return ERROR; | ||
| 193 | } | ||
| 194 | |||
| 195 | return OK; | ||
| 196 | } | ||
| 197 | |||
| 198 | |||
| 199 | |||
| 200 | /* handle timeouts gracefully... */ | ||
| 201 | static void timeout_alarm_handler(int signo){ | ||
| 202 | |||
| 203 | if(signo==SIGALRM){ | ||
| 204 | |||
| 205 | kill(childpid[fileno(fp)],SIGKILL); | ||
| 206 | printf("Therm problem - Check timed out after %d seconds\n",timeout_interval); | ||
| 207 | exit(STATE_CRITICAL); | ||
| 208 | } | ||
| 209 | } | ||
diff --git a/contrib/check_hprsc.pl b/contrib/check_hprsc.pl new file mode 100755 index 00000000..23e6261f --- /dev/null +++ b/contrib/check_hprsc.pl | |||
| @@ -0,0 +1,215 @@ | |||
| 1 | #!/usr/bin/perl -wT | ||
| 2 | # | ||
| 3 | # Copyright (c) 2000 Hugo Gayosso | ||
| 4 | # | ||
| 5 | # Description: | ||
| 6 | # Nagios plug-in that monitors the resources on an HP-UX machine | ||
| 7 | # by querying the SNMP daemon | ||
| 8 | # | ||
| 9 | # License: General Public License (GPL) | ||
| 10 | # http://www.gnu.org/copyleft/gpl.txt | ||
| 11 | # | ||
| 12 | # ChangeLog | ||
| 13 | # | ||
| 14 | |||
| 15 | # Requirements: Perl 5.005 or higher | ||
| 16 | |||
| 17 | # Variable initialization | ||
| 18 | $ENV{'PATH'}=""; | ||
| 19 | $ENV{'ENV'}=""; | ||
| 20 | $ENV{'BASH_ENV'}=""; | ||
| 21 | |||
| 22 | |||
| 23 | if (-e "/usr/bin/snmpwalk") { | ||
| 24 | $snmpwalk = "/usr/bin/snmpwalk"; | ||
| 25 | } elsif (-e "/usr/local/bin/snmpwalk") { | ||
| 26 | $snmpwalk = "/usr/local/snmpwalk"; | ||
| 27 | } | ||
| 28 | |||
| 29 | |||
| 30 | # HP-UX SNMP OIDs | ||
| 31 | $filesystemID1_OID = ".1.3.6.1.4.1.11.2.3.1.2.2.1.1"; | ||
| 32 | $mounted_OID = ".1.3.6.1.4.1.11.2.3.1.2.2.1.3"; | ||
| 33 | $totalspace_OID = ".1.3.6.1.4.1.11.2.3.1.2.2.1.4"; | ||
| 34 | $freespace_OID = ".1.3.6.1.4.1.11.2.3.1.2.2.1.6"; | ||
| 35 | $path_OID = ".1.3.6.1.4.1.11.2.3.1.2.2.1.10"; | ||
| 36 | $cpu_5min_OID = ".1.3.6.1.4.1.11.2.3.1.1.4"; | ||
| 37 | |||
| 38 | use Getopt::Long; | ||
| 39 | |||
| 40 | GetOptions( "check-filesystem" => \$chk_fs, | ||
| 41 | "show-filesystems" => \$show_fs, | ||
| 42 | "check-filesystemID" => \$chk_fsid, | ||
| 43 | "check-cpu" => \$chk_cpu, | ||
| 44 | "host=s" => \$target_host, | ||
| 45 | "community=s" => \$target_community, | ||
| 46 | "filesystemID1=i" => \$fsid1_opt, | ||
| 47 | "filesystem=s" => \$fs_opt, | ||
| 48 | "warning=i" => \$warning_opt, | ||
| 49 | "critical=i" => \$critical_opt); | ||
| 50 | |||
| 51 | if ($chk_fs) { | ||
| 52 | walk_data($snmpwalk, $target_host, $target_community, $mounted_OID ); | ||
| 53 | walk_data($snmpwalk, $target_host, $target_community, $totalspace_OID ); | ||
| 54 | walk_data($snmpwalk, $target_host, $target_community, $freespace_OID ); check_filesystem($fs_opt, $warning_opt, $critical_opt); | ||
| 55 | } elsif ($show_fs) { | ||
| 56 | walk_data($snmpwalk, $target_host, $target_community, $filesystemID1_OID); | ||
| 57 | walk_data($snmpwalk, $target_host, $target_community, $mounted_OID ); | ||
| 58 | walk_data($snmpwalk, $target_host, $target_community, $path_OID); | ||
| 59 | show_filesystem(); | ||
| 60 | } elsif ($chk_fsid){ | ||
| 61 | $totalspace_fsID_OID = "$totalspace_OID.$fsid1_opt"; | ||
| 62 | $freespace_fsID_OID = "$freespace_OID.$fsid1_opt"; | ||
| 63 | walk_data($snmpwalk, $target_host, $target_community, $totalspace_fsID_OID); | ||
| 64 | walk_data($snmpwalk, $target_host, $target_community, $freespace_fsID_OID); | ||
| 65 | check_filesystemID1($fsid1_opt, $warning_opt, $critical_opt); | ||
| 66 | } elsif ($chk_cpu) { | ||
| 67 | get_cpu_load($snmpwalk, $target_host, $target_community, $cpu_5min_OID); | ||
| 68 | check_cpu_5min($cpu, $warning_opt, $critical_opt); | ||
| 69 | } else { | ||
| 70 | print "\n\nUsage:\n"; | ||
| 71 | print "Checking 5-min CPU Load:\n"; | ||
| 72 | print " $0 --check-cpu -warning <threshold> --critical <threshold> --host <yourhost> --community <SNMP community>\n\n"; | ||
| 73 | print "Checking local filesystem mounted on a host:\n"; | ||
| 74 | print " $0 --show-filesystems --host <hostname> --community <SNMP community>\n\n"; | ||
| 75 | print "Checking by filesystem name:\n"; | ||
| 76 | print " $0 --check-filesystem --filesystem </dev/vg00/lvol1> --warning <% used space> --critical <% used space> --host <hostname> --community <SNMP community>\n\n"; | ||
| 77 | print "Checking by filesystem ID:\n"; | ||
| 78 | print " $0 --check-filesystemID --filesystemID <filesystemID1> --warning <% used space> --critical <% used space> --host <hostname> --community <SNMP community>\n\n"; | ||
| 79 | } | ||
| 80 | |||
| 81 | sub get_cpu_load { | ||
| 82 | my ($snmpwalk, $target_host, $target_community, $OID) = @_; | ||
| 83 | die "cannot fork: $!" unless defined($pid = open(SNMPWALK, "-|")); | ||
| 84 | |||
| 85 | if ($pid) { # parent | ||
| 86 | while (<SNMPWALK>) { | ||
| 87 | my @snmpdata = split(/:/,$_); | ||
| 88 | $cpu = $snmpdata[1]/100; | ||
| 89 | } | ||
| 90 | close(SNMPWALK) or warn "kid exited $?"; | ||
| 91 | } else { # child | ||
| 92 | exec($snmpwalk,$target_host,$target_community,$OID) or die "can't exec program: $!"; | ||
| 93 | } | ||
| 94 | } | ||
| 95 | |||
| 96 | sub walk_data { | ||
| 97 | #This function queries the SNMP daemon for the specific OID | ||
| 98 | my ($snmpwalk, $target_host, $target_community, $OID) = @_; | ||
| 99 | |||
| 100 | die "cannot fork: $!" unless defined($pid = open(SNMPWALK, "-|")); | ||
| 101 | |||
| 102 | if ($pid) { # parent | ||
| 103 | while (<SNMPWALK>) { | ||
| 104 | $output = $_; | ||
| 105 | sort_walk_data($output); | ||
| 106 | } | ||
| 107 | close(SNMPWALK) or warn "kid exited $?"; | ||
| 108 | } else { # child | ||
| 109 | exec($snmpwalk,$target_host,$target_community,$OID) or die "can't exec program: $!"; | ||
| 110 | } | ||
| 111 | } | ||
| 112 | |||
| 113 | sub sort_walk_data { | ||
| 114 | my ($snmp_data) = @_; | ||
| 115 | @fields = split(/\./,$snmp_data); | ||
| 116 | $item = $fields[8]; | ||
| 117 | $filesystemID1 = $fields[9]; | ||
| 118 | @fields2 = split(/=/,$fields[10]); | ||
| 119 | # $filesystemID2 = $fields2[0]; | ||
| 120 | $value = $fields2[1]; | ||
| 121 | chomp($value); | ||
| 122 | if ($value =~ /"/) { | ||
| 123 | @fields3 = split(/"/,$value); | ||
| 124 | $value = $fields3[1]; | ||
| 125 | } | ||
| 126 | if ($item == 3) { | ||
| 127 | $mounted{$filesystemID1} = "$value"; | ||
| 128 | } elsif ($item == 4) { | ||
| 129 | $totalspace{$filesystemID1} = "$value"; | ||
| 130 | } elsif ($item == 6) { | ||
| 131 | $freespace{$filesystemID1} = "$value"; | ||
| 132 | } elsif ($item == 10) { | ||
| 133 | $filesystempath{$filesystemID1} = "$value"; | ||
| 134 | } | ||
| 135 | } | ||
| 136 | |||
| 137 | sub show_filesystem { | ||
| 138 | print "\n\nfilesystemID1\tmounted filesystem\tfilesystem path\n"; | ||
| 139 | foreach $element (keys %mounted) { | ||
| 140 | print "$element\t$mounted{$element}\t\t$filesystempath{$element}\n"; | ||
| 141 | } | ||
| 142 | print "\n\n"; | ||
| 143 | } | ||
| 144 | |||
| 145 | sub check_filesystem { | ||
| 146 | |||
| 147 | # Warning = percentage of used space >= $warning and < $critical | ||
| 148 | # Critical = percentage of used space > $warning and >= $critical | ||
| 149 | # OK = percentage of used space < $warning and < $critical | ||
| 150 | |||
| 151 | my ($mounted_filesystem, $warning, $critical) = @_; | ||
| 152 | foreach $element (keys %mounted) { | ||
| 153 | if ($mounted{$element} eq $mounted_filesystem) { | ||
| 154 | my $warning_result = $totalspace{$element}*(100-$warning)/100; | ||
| 155 | my $critical_result = $totalspace{$element}*(100-$critical)/100; | ||
| 156 | my $result_percent = $freespace{$element}*100/$totalspace{$element}; | ||
| 157 | if (($freespace{$element} <= $warning_result) && ($freespace{$element} > $critical_result)) { | ||
| 158 | printf "Only %d M (%d%s) free\n",$freespace{$element}/1024,$result_percent,"%"; | ||
| 159 | exit 1; | ||
| 160 | } elsif ($freespace{$element} <= $critical_result) { | ||
| 161 | printf "Only %d M (%d%s) free\n",$freespace{$element}/1024,$result_percent,"%"; | ||
| 162 | exit 2; | ||
| 163 | } else { | ||
| 164 | printf "Disk ok - %d M (%d%s) free\n",$freespace{$element}/1024,$result_percent,"%"; | ||
| 165 | exit 0; | ||
| 166 | } | ||
| 167 | } | ||
| 168 | } | ||
| 169 | print "$mounted_filesystem doesn't exist in $target_host\n\n"; | ||
| 170 | exit -1; | ||
| 171 | } | ||
| 172 | |||
| 173 | sub check_filesystemID1{ | ||
| 174 | # Warning = percentage of used space >= $warning and < $critical | ||
| 175 | # Critical = percentage of used space > $warning and >= $critical | ||
| 176 | # OK = percentage of used space < $warning and < $critical | ||
| 177 | |||
| 178 | my ($fsid1, $warning, $critical) = @_; | ||
| 179 | foreach $element (keys %totalspace) { | ||
| 180 | if ($element eq $fsid1) { | ||
| 181 | my $warning_result = $totalspace{$element}*(100-$warning)/100; | ||
| 182 | my $critical_result = $totalspace{$element}*(100-$critical)/100; | ||
| 183 | my $result_percent = $freespace{$element}*100/$totalspace{$element}; | ||
| 184 | if (($freespace{$element} <= $warning_result) && ($freespace{$element} >= $critical_result)) { | ||
| 185 | printf "Only %d M (%d%s) free\n",$freespace{$element}/1024,$result_percent,"%"; | ||
| 186 | exit 1; | ||
| 187 | } elsif ($freespace{$element} <= $critical_result) { | ||
| 188 | printf "Only %d M (%d%s) free\n",$freespace{$element}/1024,$result_percent,"%"; | ||
| 189 | exit 2; | ||
| 190 | } else { | ||
| 191 | printf "Disk ok - %d M (%d%s) free\n",$freespace{$element}/1024,$result_percent,"%"; | ||
| 192 | exit 0; | ||
| 193 | } | ||
| 194 | } | ||
| 195 | } | ||
| 196 | print "$fsid1 doesn't exist in $target_host\n\n"; | ||
| 197 | exit -1; | ||
| 198 | } | ||
| 199 | |||
| 200 | sub check_cpu_5min { | ||
| 201 | my ($cpu, $warn, $crit) = @_; | ||
| 202 | if ($cpu >= $crit) { | ||
| 203 | print "Critical- 5-min load: $cpu\n"; | ||
| 204 | exit 2; | ||
| 205 | } elsif ($cpu >= $warn) { | ||
| 206 | print "Warning - 5-min load: $cpu\n"; | ||
| 207 | exit 1; | ||
| 208 | } else { | ||
| 209 | print "Load ok - 5-min load: $cpu\n"; | ||
| 210 | exit 0; | ||
| 211 | } | ||
| 212 | } | ||
| 213 | |||
| 214 | |||
| 215 | |||
diff --git a/contrib/check_ipxping.c b/contrib/check_ipxping.c index 1ba10fe6..937b921a 100644 --- a/contrib/check_ipxping.c +++ b/contrib/check_ipxping.c | |||
| @@ -27,9 +27,10 @@ | |||
| 27 | * | 27 | * |
| 28 | *****************************************************************************************/ | 28 | *****************************************************************************************/ |
| 29 | 29 | ||
| 30 | #include "../common/config.h" | 30 | #include "config.h" |
| 31 | #include "../common/common.h" | 31 | #include "common.h" |
| 32 | #include "netutils.h" | 32 | #include "netutils.h" |
| 33 | #include "popen.h" | ||
| 33 | 34 | ||
| 34 | /* this should be moved out to the configure script! */ | 35 | /* this should be moved out to the configure script! */ |
| 35 | #define IPXPING_COMMAND "/tmp/ipxping/ipxping" | 36 | #define IPXPING_COMMAND "/tmp/ipxping/ipxping" |
diff --git a/contrib/check_mysql.c b/contrib/check_mysql.c index 9abacf87..56725dc4 100644 --- a/contrib/check_mysql.c +++ b/contrib/check_mysql.c | |||
| @@ -30,8 +30,8 @@ | |||
| 30 | * | 30 | * |
| 31 | *******************************************************************/ | 31 | *******************************************************************/ |
| 32 | 32 | ||
| 33 | #include "../common/config.h" | 33 | #include "config.h" |
| 34 | #include "../common/common.h" | 34 | #include "common.h" |
| 35 | #include "mysql.h" | 35 | #include "mysql.h" |
| 36 | 36 | ||
| 37 | MYSQL mysql; | 37 | MYSQL mysql; |
diff --git a/contrib/check_uptime.c b/contrib/check_uptime.c index 46a1b826..fe981237 100644 --- a/contrib/check_uptime.c +++ b/contrib/check_uptime.c | |||
| @@ -21,10 +21,10 @@ | |||
| 21 | * | 21 | * |
| 22 | *****************************************************************************/ | 22 | *****************************************************************************/ |
| 23 | 23 | ||
| 24 | #include "common/config.h" | 24 | #include "config.h" |
| 25 | #include "common/common.h" | 25 | #include "common.h" |
| 26 | #include "common/utils.h" | 26 | #include "utils.h" |
| 27 | #include "common/popen.h" | 27 | #include "popen.h" |
| 28 | 28 | ||
| 29 | int main(int argc, char **argv) | 29 | int main(int argc, char **argv) |
| 30 | { | 30 | { |
diff --git a/contrib/check_wave.pl b/contrib/check_wave.pl new file mode 100644 index 00000000..56b59fe0 --- /dev/null +++ b/contrib/check_wave.pl | |||
| @@ -0,0 +1,77 @@ | |||
| 1 | #!/usr/bin/perl | ||
| 2 | |||
| 3 | # CHECK_WAVE.PL | ||
| 4 | # Plugin to test signal strength on Speedlan wireless equipment | ||
| 5 | # Contributed by Jeffry Blank | ||
| 6 | |||
| 7 | $Host=$ARGV[0]; | ||
| 8 | $sig_crit=$ARGV[1]; | ||
| 9 | $sig_warn=$ARGV[2]; | ||
| 10 | |||
| 11 | |||
| 12 | |||
| 13 | |||
| 14 | $low1 = `snmpget $Host public .1.3.6.1.4.1.74.2.21.1.2.1.8.1`; | ||
| 15 | @test=split(/ /,$low1); | ||
| 16 | $low1=@test[2]; | ||
| 17 | |||
| 18 | |||
| 19 | $med1 = `snmpget $Host public .1.3.6.1.4.1.74.2.21.1.2.1.9.1`; | ||
| 20 | @test=split(/ /,$med1); | ||
| 21 | $med1=@test[2]; | ||
| 22 | |||
| 23 | |||
| 24 | $high1 = `snmpget $Host public .1.3.6.1.4.1.74.2.21.1.2.1.10.1`; | ||
| 25 | @test=split(/ /,$high1); | ||
| 26 | $high1=@test[2]; | ||
| 27 | |||
| 28 | sleep(2); | ||
| 29 | |||
| 30 | |||
| 31 | |||
| 32 | $snr = `snmpget $Host public .1.3.6.1.4.1.762.2.5.2.1.17.1`; | ||
| 33 | @test=split(/ /,$snr); | ||
| 34 | $snr=@test[2]; | ||
| 35 | $snr=int($snr*25); | ||
| 36 | $low2 = `snmpget $Host public .1.3.6.1.4.1.74.2.21.1.2.1.8.1`; | ||
| 37 | @test=split(/ /,$low2); | ||
| 38 | $low2=@test[2]; | ||
| 39 | |||
| 40 | |||
| 41 | $med2 = `snmpget $Host public .1.3.6.1.4.1.74.2.21.1.2.1.9.1`; | ||
| 42 | @test=split(/ /,$med2); | ||
| 43 | $med2=@test[2]; | ||
| 44 | |||
| 45 | |||
| 46 | $high2 = `snmpget $Host public .1.3.6.1.4.1.74.2.21.1.2.1.10.1`; | ||
| 47 | @test=split(/ /,$high2); | ||
| 48 | $high2=@test[2]; | ||
| 49 | |||
| 50 | |||
| 51 | |||
| 52 | $low=$low2-$low1; | ||
| 53 | $med=$med2-$med1; | ||
| 54 | $high=$high2-$high1; | ||
| 55 | |||
| 56 | $tot=$low+$med+$high; | ||
| 57 | |||
| 58 | |||
| 59 | if ($tot==0) | ||
| 60 | { | ||
| 61 | $ss=0; | ||
| 62 | } | ||
| 63 | else | ||
| 64 | { | ||
| 65 | $lowavg=$low/$tot; | ||
| 66 | $medavg=$med/$tot; | ||
| 67 | $highavg=$high/$tot; | ||
| 68 | $ss=($medavg*50)+($highavg*100); | ||
| 69 | } | ||
| 70 | printf("Signal Strength at: %3.0f%, SNR at $snr%",$ss); | ||
| 71 | #print "Signal Strength at: $ss%, SNR at $snr%"; | ||
| 72 | if ($ss<$sig_crit) | ||
| 73 | {exit(2)} | ||
| 74 | if ($ss<$sig_warn) | ||
| 75 | {exit(1)} | ||
| 76 | |||
| 77 | exit(0); | ||
diff --git a/contrib/readme.txt b/contrib/readme.txt index d9ae0250..6438c99a 100644 --- a/contrib/readme.txt +++ b/contrib/readme.txt | |||
| @@ -4,13 +4,22 @@ Contrib Plugins README | |||
| 4 | This directory contains plugins which have been contributed by various people, but that | 4 | This directory contains plugins which have been contributed by various people, but that |
| 5 | have not yet been incorporated into the core plugins distribution. | 5 | have not yet been incorporated into the core plugins distribution. |
| 6 | 6 | ||
| 7 | Most Perl plugins should work without modification. Some of the C plugins may require | ||
| 8 | a few tweaks to compile. | ||
| 9 | |||
| 7 | If you have questions regarding the use of these plugins, try contacting the author(s) | 10 | If you have questions regarding the use of these plugins, try contacting the author(s) |
| 8 | or post a message to the nagios-users mailing list (nagios-users@onelist.com) | 11 | or post a message to the nagiosplug-help mailing list (nagiosplug-help@lists.sourceforge.net) |
| 9 | requesting assistance. | 12 | requesting assistance. |
| 10 | 13 | ||
| 11 | 14 | ||
| 12 | Plugin Overview | 15 | |
| 13 | --------------- | 16 | Contrib Tarballs |
| 17 | ---------------- | ||
| 18 | |||
| 19 | In addition to the plugins located in this directory, there are some additional tarballs | ||
| 20 | containing plugins in the tarballs/ subdirectory. They have not yet been organized. | ||
| 21 | A brief description of their contents follows. | ||
| 22 | |||
| 14 | 23 | ||
| 15 | berger-ping.tar.gz - Perl script version of the check_ping plugin and a corresponding | 24 | berger-ping.tar.gz - Perl script version of the check_ping plugin and a corresponding |
| 16 | CGI (mtr.cgi) that uses mtr to traceroute a path to a host. | 25 | CGI (mtr.cgi) that uses mtr to traceroute a path to a host. |
| @@ -21,71 +30,13 @@ bowen-langley_plugins.tar.gz | |||
| 21 | (Adam Bown & Thomas Langley) | 30 | (Adam Bown & Thomas Langley) |
| 22 | 31 | ||
| 23 | 32 | ||
| 24 | check_bgpstate.tar.gz - Perl script intended for monitoring BGP sessions on Cisco routers. | 33 | check_bgp-1.0.tar.gz - Perl script intended for monitoring BGP sessions on Cisco routers. |
| 25 | Only useful if you are using BGP4 as a routing protocol. For | 34 | Only useful if you are using BGP4 as a routing protocol. For |
| 26 | critical alert the AS (autonomous system) number has to be in the | 35 | critical alert the AS (autonomous system) number has to be in the |
| 27 | uplinks hash (see the source code). Requires SNMP read community. | 36 | uplinks hash (see the source code). Requires SNMP read community. |
| 28 | (Christoph Kron) | 37 | (Christoph Kron) |
| 29 | 38 | ||
| 30 | check_breeze.tar.gz - Perl script to test signal strength on Breezecom wireless | 39 | check_memory.tgz - C plugin to check available system memory |
| 31 | equipment (Jeffrey Blank) | ||
| 32 | |||
| 33 | check_dns_random.tar.gz - Perl script to see if dns resolves hosts randomly from a list | ||
| 34 | using the check_dns plugin (Richard Mayhew) | ||
| 35 | |||
| 36 | check_flexlm.tar.gz - Perl script to check a flexlm licensing manager using lmtest | ||
| 37 | (Ernst-Dieter Martin) | ||
| 38 | |||
| 39 | check_hltherm.tar.gz - C program to check the temperature on a Hot Little Therm temperature | ||
| 40 | probe. The HLT device, along with temperature probes, can be obtained | ||
| 41 | from Spiderplant at http://www.spiderplant.com | ||
| 42 | (Ethan Galstad) | ||
| 43 | |||
| 44 | check_ifoperstatus.tar.gz | ||
| 45 | - Perl script that checks the operational interface status (up/down) for | ||
| 46 | one interface on cisco/ascend routers. Especially useful for monitoring | ||
| 47 | leased lines. Requires SNMP read community and SNMP interface key. | ||
| 48 | (Christoph Kron) | ||
| 49 | |||
| 50 | check_ifstatus.tar.gz - Perl script that checks operational interface status for every interface | ||
| 51 | on cisco routers. Requires SNMP read community. | ||
| 52 | (Christoph Kron) | ||
| 53 | |||
| 54 | check_ipxping.tar.gz - C program that it similiar to the check_ping plugin, except that it | ||
| 55 | send IPX ping packets to Novell servers or other IPX devices. This | ||
| 56 | requires the ipxping binary for Linux systems. It does NOT by work | ||
| 57 | without modification with the ipxping binary for SunOS/Solaris. | ||
| 58 | (Ethan Galstad) | ||
| 59 | |||
| 60 | check_maxchannels.tar.gz | ||
| 61 | - Perl script that can only be used for monitoring Ascend/Lucent Max/TNT | ||
| 62 | access server. Checks ISDN channels and modem cards. Also shows ISDN and | ||
| 63 | modem usage. Requires SNMP read community. | ||
| 64 | (Christoph Kron) | ||
| 65 | |||
| 66 | check_maxwanstate.tar.gz | ||
| 67 | - Perl script that can only be used for monitoring Ascend/Lucent Max/TNT | ||
| 68 | access server. Checks if every enabled E1/T1 interface is operational | ||
| 69 | (link active). Requires SNMP read community. | ||
| 70 | (Christoph Kron) | ||
| 71 | |||
| 72 | check_memory.tgz - C program to check available system memory - RAM, swap, buffers, | ||
| 73 | and cache (Joshua Jackson) | ||
| 74 | |||
| 75 | check_nfs.tar.gz - Perl script to test and NFS server using rpcinfo | ||
| 76 | (Ernst-Dieter Martin) | ||
| 77 | <NOW PART OF check_rpc IN CORE> | ||
| 78 | |||
| 79 | check_ntp.tar.gz - Perl script to check an NTP time source (Bo Kernsey) | ||
| 80 | <MOVED TO CORE> | ||
| 81 | |||
| 82 | check_ora.tar.gz - Shell script that will check an Oracle database and the TNS listener. | ||
| 83 | Unlike the check_oracle plugin, this plugin detects when a database is | ||
| 84 | down and does not create temp files (Jason Hedden) | ||
| 85 | <MOVED TO CORE> | ||
| 86 | |||
| 87 | check_pop3.tar.gz - Perl script that checks to see if POP3 is running and whether or not | ||
| 88 | authentication can take place (Richard Mayhew) | ||
| 89 | 40 | ||
| 90 | check_radius.tar.gz - C program to check RADIUS authentication. This is a hacked version of | 41 | check_radius.tar.gz - C program to check RADIUS authentication. This is a hacked version of |
| 91 | the Cistron Radiusd program radtest that acts as a plugin for Nagios. | 42 | the Cistron Radiusd program radtest that acts as a plugin for Nagios. |
| @@ -95,24 +46,6 @@ check_radius.tar.gz - C program to check RADIUS authentication. This is a ha | |||
| 95 | will not appear in the core plugin distribution! | 46 | will not appear in the core plugin distribution! |
| 96 | (Adam Jacob) | 47 | (Adam Jacob) |
| 97 | 48 | ||
| 98 | check_real.tar.gz - C program to check the status of a REAL media server | ||
| 99 | (Pedro Leite) | ||
| 100 | <MOVED TO CORE> | ||
| 101 | |||
| 102 | check_rpc.pl.gz - Perl script to check rpc services. Will check to see if the a specified | ||
| 103 | program is running on the specified server (Chris Kolquist) | ||
| 104 | |||
| 105 | check_sap.tar.gz - Shell script to check an SAP message or application server. Requires | ||
| 106 | that you install the saprfc-devel-45A-1.i386.rpm (or higher) package | ||
| 107 | on your system. The package can be obtained from the SAP FTP site in | ||
| 108 | the /general/misc/unsupported/linux directory. (Kavel Salavec) | ||
| 109 | |||
| 110 | check_uptime.tar.gz - C program to check system uptime. Must be compiled with the release | ||
| 111 | 1.2.8 or later of the plugins. (Teresa Ramanan) | ||
| 112 | |||
| 113 | check_wave.tar.gz - Perl script to test signal strength on Speedlan wireless | ||
| 114 | equipment (Jeffrey Blank) | ||
| 115 | |||
| 116 | hopcroft-plugins.tar.gz - Various example plugin scripts contributed by Stanley Hopcroft. | 49 | hopcroft-plugins.tar.gz - Various example plugin scripts contributed by Stanley Hopcroft. |
| 117 | Includes a plugin to check Internet connectivity by checking various | 50 | Includes a plugin to check Internet connectivity by checking various |
| 118 | popular search engines, a plugin to check the availability of login | 51 | popular search engines, a plugin to check the availability of login |
| @@ -121,27 +54,7 @@ hopcroft-plugins.tar.gz - Various example plugin scripts contributed by Stanley | |||
| 121 | search via the web. | 54 | search via the web. |
| 122 | (Stanley Hopcroft) | 55 | (Stanley Hopcroft) |
| 123 | 56 | ||
| 124 | maser-oracle.tar.gz - This is a modification to the check_oracle plugin script that returns | ||
| 125 | the response time in milliseconds. Requires the Oracle tnsping utility. | ||
| 126 | (Christoph Maser) | ||
| 127 | |||
| 128 | radius.tar.gz - Code modifications necessary to make the radexample app | 57 | radius.tar.gz - Code modifications necessary to make the radexample app |
| 129 | supplied with the radiusclient code work as a RADIUS plugin | 58 | supplied with the radiusclient code work as a RADIUS plugin |
| 130 | for Nagios (Nick Shore) | 59 | for Nagios (Nick Shore) |
| 131 | 60 | ||
| 132 | vincent-check_radius.tar.gz | ||
| 133 | - C program to check RADIUS authentication. Requires the radiusclient | ||
| 134 | library available from ftp://ftp.cityline.net/pub/radiusclient/ | ||
| 135 | (Robert August Vincent II) | ||
| 136 | <MOVED TO CORE> | ||
| 137 | |||
| 138 | weipert-mysql.tar.gz - C program to check a connection to a MySQL database server, with an | ||
| 139 | optional username and password. Requires mysql.h and libmysqlclient | ||
| 140 | to compile (Time Weipert) | ||
| 141 | |||
| 142 | wright-mysql.tar.gz - Perl script to check MySQL database servers. Requires that mysqladmin(1) | ||
| 143 | be installed on the system (included in the MySQL distribution). This | ||
| 144 | plugin can accept warning and critical thresholds for the number of threads | ||
| 145 | in use by the server (Mitch Wright) | ||
| 146 | |||
| 147 | |||
diff --git a/contrib/tarballs/berger-ping.tar.gz b/contrib/tarballs/berger-ping.tar.gz index cc58750d..c95b7878 100644 --- a/contrib/tarballs/berger-ping.tar.gz +++ b/contrib/tarballs/berger-ping.tar.gz | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/bowen-langley_plugins.tar.gz b/contrib/tarballs/bowen-langley_plugins.tar.gz index 6195109f..a9ad1e8c 100644 --- a/contrib/tarballs/bowen-langley_plugins.tar.gz +++ b/contrib/tarballs/bowen-langley_plugins.tar.gz | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/check_bgp-1.0.tar.gz b/contrib/tarballs/check_bgp-1.0.tar.gz index 9d45c195..0496ddb6 100644 --- a/contrib/tarballs/check_bgp-1.0.tar.gz +++ b/contrib/tarballs/check_bgp-1.0.tar.gz | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/check_breeze.tar.gz b/contrib/tarballs/check_breeze.tar.gz deleted file mode 100644 index fb5186ef..00000000 --- a/contrib/tarballs/check_breeze.tar.gz +++ /dev/null | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/check_flexlm.tar.gz b/contrib/tarballs/check_flexlm.tar.gz deleted file mode 100644 index 4ab71441..00000000 --- a/contrib/tarballs/check_flexlm.tar.gz +++ /dev/null | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/check_hltherm.tar.gz b/contrib/tarballs/check_hltherm.tar.gz deleted file mode 100644 index 7c45cc87..00000000 --- a/contrib/tarballs/check_hltherm.tar.gz +++ /dev/null | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/check_hprsc.tar.gz b/contrib/tarballs/check_hprsc.tar.gz deleted file mode 100644 index 8998ff83..00000000 --- a/contrib/tarballs/check_hprsc.tar.gz +++ /dev/null | |||
| Binary files differ | |||
diff --git a/contrib/check_memory.tgz b/contrib/tarballs/check_memory.tgz index b0f80160..b0f80160 100644 --- a/contrib/check_memory.tgz +++ b/contrib/tarballs/check_memory.tgz | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/check_radius.tar.gz b/contrib/tarballs/check_radius.tar.gz index 70bb08a2..cca6338a 100644 --- a/contrib/tarballs/check_radius.tar.gz +++ b/contrib/tarballs/check_radius.tar.gz | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/check_wave.tar.gz b/contrib/tarballs/check_wave.tar.gz deleted file mode 100644 index 755be5a9..00000000 --- a/contrib/tarballs/check_wave.tar.gz +++ /dev/null | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/hopcroft-plugins.tar.gz b/contrib/tarballs/hopcroft-plugins.tar.gz index 0406a743..41ad6db4 100644 --- a/contrib/tarballs/hopcroft-plugins.tar.gz +++ b/contrib/tarballs/hopcroft-plugins.tar.gz | |||
| Binary files differ | |||
diff --git a/contrib/tarballs/radius.tar.gz b/contrib/tarballs/radius.tar.gz index 022dc3be..41bca5f2 100644 --- a/contrib/tarballs/radius.tar.gz +++ b/contrib/tarballs/radius.tar.gz | |||
| Binary files differ | |||
diff --git a/plugins/.cvsignore b/plugins/.cvsignore index 58f14fe8..8d64753b 100644 --- a/plugins/.cvsignore +++ b/plugins/.cvsignore | |||
| @@ -39,5 +39,5 @@ stamp-h* | |||
| 39 | *.h | 39 | *.h |
| 40 | Makefile | 40 | Makefile |
| 41 | Makefile.in | 41 | Makefile.in |
| 42 | config.h.in | 42 | #config.h.in |
| 43 | .deps | 43 | .deps |
diff --git a/plugins/config.h.in b/plugins/config.h.in new file mode 100644 index 00000000..f944f512 --- /dev/null +++ b/plugins/config.h.in | |||
| @@ -0,0 +1,223 @@ | |||
| 1 | /* plugins/config.h.in. Generated automatically from configure.in by autoheader. */ | ||
| 2 | |||
| 3 | /* Define to empty if the keyword does not work. */ | ||
| 4 | #undef const | ||
| 5 | |||
| 6 | /* Define for DGUX with <sys/dg_sys_info.h>. */ | ||
| 7 | #undef DGUX | ||
| 8 | |||
| 9 | /* Define if the `getloadavg' function needs to be run setuid or setgid. */ | ||
| 10 | #undef GETLOADAVG_PRIVILEGED | ||
| 11 | |||
| 12 | /* Define if your system has its own `getloadavg' function. */ | ||
| 13 | #undef HAVE_GETLOADAVG | ||
| 14 | |||
| 15 | /* Define if you have <sys/wait.h> that is POSIX.1 compatible. */ | ||
| 16 | #undef HAVE_SYS_WAIT_H | ||
| 17 | |||
| 18 | /* Define if your struct nlist has an n_un member. */ | ||
| 19 | #undef NLIST_NAME_UNION | ||
| 20 | |||
| 21 | /* Define if you have <nlist.h>. */ | ||
| 22 | #undef NLIST_STRUCT | ||
| 23 | |||
| 24 | /* Define to `int' if <sys/types.h> doesn't define. */ | ||
| 25 | #undef pid_t | ||
| 26 | |||
| 27 | /* Define as the return type of signal handlers (int or void). */ | ||
| 28 | #undef RETSIGTYPE | ||
| 29 | |||
| 30 | /* Define to `unsigned' if <sys/types.h> doesn't define. */ | ||
| 31 | #undef size_t | ||
| 32 | |||
| 33 | /* Define if you have the ANSI C header files. */ | ||
| 34 | #undef STDC_HEADERS | ||
| 35 | |||
| 36 | /* Define on System V Release 4. */ | ||
| 37 | #undef SVR4 | ||
| 38 | |||
| 39 | /* Define if you can safely include both <sys/time.h> and <time.h>. */ | ||
| 40 | #undef TIME_WITH_SYS_TIME | ||
| 41 | |||
| 42 | /* Define if your <sys/time.h> declares struct tm. */ | ||
| 43 | #undef TM_IN_SYS_TIME | ||
| 44 | |||
| 45 | /* Define for Encore UMAX. */ | ||
| 46 | #undef UMAX | ||
| 47 | |||
| 48 | /* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h> | ||
| 49 | instead of <sys/cpustats.h>. */ | ||
| 50 | #undef UMAX4_3 | ||
| 51 | |||
| 52 | #undef CGIURL | ||
| 53 | #undef DF_COMMAND | ||
| 54 | #undef HAVE_GETOPT_H | ||
| 55 | #undef HAVE_GETOPT_LONG | ||
| 56 | #undef HAVE_PROC_LOADAVG | ||
| 57 | #undef HAVE_PROC_MEMINFO | ||
| 58 | #undef HAVE_SSL | ||
| 59 | #undef HAVE_SWAP | ||
| 60 | #undef NSLOOKUP_COMMAND | ||
| 61 | #undef PACKAGE_VERSION | ||
| 62 | #undef PATH_TO_DIG | ||
| 63 | #undef PATH_TO_FPING | ||
| 64 | #undef PATH_TO_QSTAT | ||
| 65 | #undef PATH_TO_SNMPGET | ||
| 66 | #undef PATH_TO_SNMPGETNEXT | ||
| 67 | #undef PATH_TO_UPTIME | ||
| 68 | #undef PING_COMMAND | ||
| 69 | #undef PING_PACKETS_FIRST | ||
| 70 | #undef POSIX_STATE_DEFS | ||
| 71 | #undef PROC_LOADAVG | ||
| 72 | #undef PROC_MEMINFO | ||
| 73 | #undef PS_COMMAND | ||
| 74 | #undef PS_FORMAT | ||
| 75 | #undef PS_RAW_COMMAND | ||
| 76 | #undef PS_VARLIST | ||
| 77 | #undef RSS_COMMAND | ||
| 78 | #undef RSS_FORMAT | ||
| 79 | #undef SOCKET_SIZE_TYPE | ||
| 80 | #undef SSH_COMMAND | ||
| 81 | #undef SWAP_COMMAND | ||
| 82 | #undef SWAP_FORMAT | ||
| 83 | #undef USE_PS_VARS | ||
| 84 | #undef VSZ_COMMAND | ||
| 85 | #undef VSZ_FORMAT | ||
| 86 | #undef WHO_COMMAND | ||
| 87 | #undef PACKAGE | ||
| 88 | #undef VERSION | ||
| 89 | |||
| 90 | /* Define if you have the getloadavg function. */ | ||
| 91 | #undef HAVE_GETLOADAVG | ||
| 92 | |||
| 93 | /* Define if you have the getopt_long_only function. */ | ||
| 94 | #undef HAVE_GETOPT_LONG_ONLY | ||
| 95 | |||
| 96 | /* Define if you have the select function. */ | ||
| 97 | #undef HAVE_SELECT | ||
| 98 | |||
| 99 | /* Define if you have the socket function. */ | ||
| 100 | #undef HAVE_SOCKET | ||
| 101 | |||
| 102 | /* Define if you have the strdup function. */ | ||
| 103 | #undef HAVE_STRDUP | ||
| 104 | |||
| 105 | /* Define if you have the strstr function. */ | ||
| 106 | #undef HAVE_STRSTR | ||
| 107 | |||
| 108 | /* Define if you have the strtod function. */ | ||
| 109 | #undef HAVE_STRTOD | ||
| 110 | |||
| 111 | /* Define if you have the strtol function. */ | ||
| 112 | #undef HAVE_STRTOL | ||
| 113 | |||
| 114 | /* Define if you have the strtoul function. */ | ||
| 115 | #undef HAVE_STRTOUL | ||
| 116 | |||
| 117 | /* Define if you have the <crypto.h> header file. */ | ||
| 118 | #undef HAVE_CRYPTO_H | ||
| 119 | |||
| 120 | /* Define if you have the <err.h> header file. */ | ||
| 121 | #undef HAVE_ERR_H | ||
| 122 | |||
| 123 | /* Define if you have the <errno.h> header file. */ | ||
| 124 | #undef HAVE_ERRNO_H | ||
| 125 | |||
| 126 | /* Define if you have the <libpq-fe.h> header file. */ | ||
| 127 | #undef HAVE_LIBPQ_FE_H | ||
| 128 | |||
| 129 | /* Define if you have the <mach/mach.h> header file. */ | ||
| 130 | #undef HAVE_MACH_MACH_H | ||
| 131 | |||
| 132 | /* Define if you have the <mysql/errmsg.h> header file. */ | ||
| 133 | #undef HAVE_MYSQL_ERRMSG_H | ||
| 134 | |||
| 135 | /* Define if you have the <mysql/mysql.h> header file. */ | ||
| 136 | #undef HAVE_MYSQL_MYSQL_H | ||
| 137 | |||
| 138 | /* Define if you have the <openssl/crypto.h> header file. */ | ||
| 139 | #undef HAVE_OPENSSL_CRYPTO_H | ||
| 140 | |||
| 141 | /* Define if you have the <openssl/err.h> header file. */ | ||
| 142 | #undef HAVE_OPENSSL_ERR_H | ||
| 143 | |||
| 144 | /* Define if you have the <openssl/pem.h> header file. */ | ||
| 145 | #undef HAVE_OPENSSL_PEM_H | ||
| 146 | |||
| 147 | /* Define if you have the <openssl/rsa.h> header file. */ | ||
| 148 | #undef HAVE_OPENSSL_RSA_H | ||
| 149 | |||
| 150 | /* Define if you have the <openssl/ssl.h> header file. */ | ||
| 151 | #undef HAVE_OPENSSL_SSL_H | ||
| 152 | |||
| 153 | /* Define if you have the <openssl/x509.h> header file. */ | ||
| 154 | #undef HAVE_OPENSSL_X509_H | ||
| 155 | |||
| 156 | /* Define if you have the <pem.h> header file. */ | ||
| 157 | #undef HAVE_PEM_H | ||
| 158 | |||
| 159 | /* Define if you have the <pgsql/libpq-fe.h> header file. */ | ||
| 160 | #undef HAVE_PGSQL_LIBPQ_FE_H | ||
| 161 | |||
| 162 | /* Define if you have the <postgresql/libpq-fe.h> header file. */ | ||
| 163 | #undef HAVE_POSTGRESQL_LIBPQ_FE_H | ||
| 164 | |||
| 165 | /* Define if you have the <regex.h> header file. */ | ||
| 166 | #undef HAVE_REGEX_H | ||
| 167 | |||
| 168 | /* Define if you have the <rsa.h> header file. */ | ||
| 169 | #undef HAVE_RSA_H | ||
| 170 | |||
| 171 | /* Define if you have the <signal.h> header file. */ | ||
| 172 | #undef HAVE_SIGNAL_H | ||
| 173 | |||
| 174 | /* Define if you have the <ssl.h> header file. */ | ||
| 175 | #undef HAVE_SSL_H | ||
| 176 | |||
| 177 | /* Define if you have the <string.h> header file. */ | ||
| 178 | #undef HAVE_STRING_H | ||
| 179 | |||
| 180 | /* Define if you have the <strings.h> header file. */ | ||
| 181 | #undef HAVE_STRINGS_H | ||
| 182 | |||
| 183 | /* Define if you have the <sys/loadavg.h> header file. */ | ||
| 184 | #undef HAVE_SYS_LOADAVG_H | ||
| 185 | |||
| 186 | /* Define if you have the <sys/socket.h> header file. */ | ||
| 187 | #undef HAVE_SYS_SOCKET_H | ||
| 188 | |||
| 189 | /* Define if you have the <sys/time.h> header file. */ | ||
| 190 | #undef HAVE_SYS_TIME_H | ||
| 191 | |||
| 192 | /* Define if you have the <sys/types.h> header file. */ | ||
| 193 | #undef HAVE_SYS_TYPES_H | ||
| 194 | |||
| 195 | /* Define if you have the <syslog.h> header file. */ | ||
| 196 | #undef HAVE_SYSLOG_H | ||
| 197 | |||
| 198 | /* Define if you have the <uio.h> header file. */ | ||
| 199 | #undef HAVE_UIO_H | ||
| 200 | |||
| 201 | /* Define if you have the <unistd.h> header file. */ | ||
| 202 | #undef HAVE_UNISTD_H | ||
| 203 | |||
| 204 | /* Define if you have the <x509.h> header file. */ | ||
| 205 | #undef HAVE_X509_H | ||
| 206 | |||
| 207 | /* Define if you have the crypt library (-lcrypt). */ | ||
| 208 | #undef HAVE_LIBCRYPT | ||
| 209 | |||
| 210 | /* Define if you have the crypto library (-lcrypto). */ | ||
| 211 | #undef HAVE_LIBCRYPTO | ||
| 212 | |||
| 213 | /* Define if you have the dgc library (-ldgc). */ | ||
| 214 | #undef HAVE_LIBDGC | ||
| 215 | |||
| 216 | /* Define if you have the ldap library (-lldap). */ | ||
| 217 | #undef HAVE_LIBLDAP | ||
| 218 | |||
| 219 | /* Define if you have the pq library (-lpq). */ | ||
| 220 | #undef HAVE_LIBPQ | ||
| 221 | |||
| 222 | /* Define if you have the radiusclient library (-lradiusclient). */ | ||
| 223 | #undef HAVE_LIBRADIUSCLIENT | ||
