edimusrex has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/perl use warnings; use strict; use POSIX qw(strftime); use Date::Calc qw(Delta_Days); my $domainList = 'domains.txt'; my (@display, $stat, $expDate, $daysLeft, $diff, $spec, $len); my $date = strftime "%Y-%m-%d", localtime; my $flag = 0; open (FILE, $domainList); my @dom = <FILE>; foreach my $dm (@dom) { chomp $dm; $stat = `whois $dm | egrep "Registrar Registration Expiration Date +|Registry Expiry Date"`; $stat =~ m/(\d{4}-\d{2}-\d{2})/; $expDate = $1; $diff = &dateDiff($expDate); $len = length($dm); if ($len <= 7) { $spec = $dm."\t\t\t".$diff; } if ($len > 7 && $len <=16) { $spec = $dm."\t\t".$diff; } if ($len > 16) { $spec = $dm."\t".$diff; } if ($diff < 28 && $diff > 14) { $flag = 1; } if ($diff <= 14) { $flag = 2; } push @display, "$spec"; } close FILE; if ($flag == 2) { my $status = "CRIT: There are Certificates Expiring Soon. Please +Resolve"; unshift @display, $status; print join("\n",@display); exit 2; } if ($flag == 1) { my $status = "WARN: There are Certificates Expiring within a month +. Please Resolve"; unshift @display, $status; print join("\n",@display); exit 1; } else { my $status = "OK: Certificates Look good"; unshift @display, $status; print join("\n",@display); exit 0; } sub dateDiff { my $ex = $_[0]; $ex =~ m/(\d{4})-(\d{2})-(\d{2})/; my $y = $1; my $m = $2; my $d = $3; my @exDate = ($y, $m, $d); $date =~ m/(\d{4})-(\d{2})-(\d{2})/; my $yLoc = $1; my $mLoc = $2; my $dLoc = $3; my @curDate = ($yLoc, $mLoc, $dLoc); my $diffSub = Delta_Days(@curDate, @exDate); return($diffSub); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Nagios custom Perl check
by atcroft (Abbot) on Jul 21, 2014 at 19:13 UTC | |
by edimusrex (Monk) on Jul 21, 2014 at 19:37 UTC | |
|
Re: Nagios custom Perl check
by Old_Gray_Bear (Bishop) on Jul 22, 2014 at 00:05 UTC | |
|
Re: Nagios custom Perl check
by McA (Priest) on Jul 22, 2014 at 01:31 UTC | |
by edimusrex (Monk) on Jul 22, 2014 at 13:07 UTC | |
by edimusrex (Monk) on Jul 22, 2014 at 15:31 UTC |