diff options
Diffstat (limited to 'contrib/check_dns_random.pl')
-rw-r--r-- | contrib/check_dns_random.pl | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/contrib/check_dns_random.pl b/contrib/check_dns_random.pl new file mode 100644 index 0000000..787d464 --- /dev/null +++ b/contrib/check_dns_random.pl | |||
@@ -0,0 +1,75 @@ | |||
1 | #!/usr/bin/perl | ||
2 | # ------------------------------------------------------------------------------ | ||
3 | # File Name: check_dns_random.pl | ||
4 | # Author: Richard Mayhew - South Africa | ||
5 | # Date: 2000/01/26 | ||
6 | # Version: 1.0 | ||
7 | # Description: This script will check to see if dns resolves hosts | ||
8 | # randomly from a list using the check_dns plugin. | ||
9 | # Email: netsaint@splash.co.za | ||
10 | # ------------------------------------------------------------------------------ | ||
11 | # Copyright 1999 (c) Richard Mayhew | ||
12 | # Credits go to Ethan Galstad for coding Nagios | ||
13 | # If any changes are made to this script, please mail me a copy of the | ||
14 | # changes :) | ||
15 | # License GPL | ||
16 | # ------------------------------------------------------------------------------ | ||
17 | # Date Author Reason | ||
18 | # ---- ------ ------ | ||
19 | # 1999/09/26 RM Creation | ||
20 | # ------------------------------------------------------------------------------ | ||
21 | |||
22 | # -----------------------------------------------------------------[ Require ]-- | ||
23 | require 5.004; | ||
24 | |||
25 | # --------------------------------------------------------------------[ Uses ]-- | ||
26 | use Socket; | ||
27 | use strict; | ||
28 | |||
29 | # --------------------------------------------------------------[ Enviroment ]-- | ||
30 | $ENV{PATH} = "/bin"; | ||
31 | $ENV{BASH_ENV} = ""; | ||
32 | $|=1; | ||
33 | |||
34 | my $host = shift || &usage; | ||
35 | |||
36 | my $domainfile = "/usr/local/nagios/etc/domains.list"; | ||
37 | my $wc = `/usr/bin/wc -l $domainfile`; | ||
38 | my $check = "/usr/local/nagios/libexec/check_dns"; | ||
39 | my $x = 0; | ||
40 | my $srv_file = ""; | ||
41 | my $z = ""; | ||
42 | my $y = ""; | ||
43 | |||
44 | open(DOMAIN,"<$domainfile") or die "Error Opening $domainfile File!\n"; | ||
45 | while (<DOMAIN>) { | ||
46 | $srv_file .= $_; | ||
47 | } | ||
48 | close(DOMAIN); | ||
49 | my @data = split(/\n/,$srv_file); | ||
50 | |||
51 | chomp $wc; | ||
52 | $wc =~ s/ //g; | ||
53 | $wc =~ s/domains//g; | ||
54 | |||
55 | $x = rand $wc; | ||
56 | ($z,$y) = split(/\./,$x); | ||
57 | |||
58 | print `$check $data[$z] $host`; | ||
59 | |||
60 | |||
61 | |||
62 | sub usage | ||
63 | { | ||
64 | print "Minimum arguments not supplied!\n"; | ||
65 | print "\n"; | ||
66 | print "Perl Check Random DNS plugin for Nagios\n"; | ||
67 | print "Copyright (c) 2000 Richard Mayhew\n"; | ||
68 | print "\n"; | ||
69 | print "Usage: check_dns_random.pl <host>\n"; | ||
70 | print "\n"; | ||
71 | print "<host> = DNS server you would like to query.\n"; | ||
72 | exit -1; | ||
73 | |||
74 | } | ||
75 | |||