R
Size: a a a
R
VG
R
SZ
VG
R
R
R
R
R
MA
як
use strict;
use warnings;
use Getopt::Long;
# PRTG-Status from
# https://kb.paessler.com/en/topic/39513-is-there-a-shell-script-example-for-the-prtg-ssh-script-sensor
my $prtg_status_ok = 0;
my $prtg_status_warning = 1;
my $prtg_status_error = 2;
# Defaults:
my $smtp_server = '';
my $warning_number_of_days = 30;
my $critical_number_of_days = 10;
GetOptions(
"smtp_server=s", \$smtp_server,
"warning_number_of_days=s", \$warning_number_of_days,
"critical_number_of_days=s", \$critical_number_of_days,
);
# Sanity check of arguments from commandline
if ( !$smtp_server
|| $smtp_server !~ m/^[a-z0-9\-\.]+$/
|| $critical_number_of_days !~ m/^[0-9]+$/
|| $warning_number_of_days !~ m/^[0-9]+$/ )
{
print
"$prtg_status_error:0:Usage $0 --smtp_server=smtp-relay.gmail.com --warning_number_of_days=30 --critical_number_of_days=10\n";
exit;
}
my $cmd = sprintf '/usr/lib64/nagios/plugins/check_smtp -H %s -S -D %d,%d',
$smtp_server, $warning_number_of_days, $critical_number_of_days;
my $result_from_nagioscheck = `$cmd`;
# Defaults:
my $prtg_status = $prtg_status_error;
my $prtg_status_text = 'unknown';
# I don't care because I do not get number of days
# of certificate valid on all 3 statuses from Nagios check
my $prtg_number_to_return = 0;
if ($result_from_nagioscheck =~ m/^WARNING/) {
$prtg_status = $prtg_status_warning;
$prtg_status_text = $result_from_nagioscheck;
} elsif ($result_from_nagioscheck =~ m/^CRITICAL/) {
$prtg_status = $prtg_status_error;
$prtg_status_text = $result_from_nagioscheck;
} elsif ($result_from_nagioscheck =~ m/^OK/) {
$prtg_status = $prtg_status_ok;
$prtg_status_text = $result_from_nagioscheck;
}
print join( ':', $prtg_status, $prtg_number_to_return, $prtg_status_text )
як
AT
SZ
як
/usr/lib64/nagios/plugins/check_smtp -H smtp-relay.gmail.com --certificate=выдаёт дату в формате
SSL OK - Certificate 'smtp-relay.gmail.com' will expire in 54 days on 2021-01-26 10:37 +0300/MSK.или
SSL CRITICAL - Certificate 'mail.example.com' expired on 2018-10-02 16:25 +0300/MSK.
як
YM
YM
VG