Hello.
Email notification of Opsview distributed monitoring sturcture is occurring
in each slave.
but Mail configuration for every slaves are chore and I had the problem that
slave didn't send notify mail for passive check.
So I tried to modify all mail notification to be done on the master server.
After I knowing that all notify by atom is done by master, I added the
following code at the bottom of /usr/local/bin/atom-generator file.
It works well as i expected.
Note: You must enable both "Notify by Email" and "Notify by WebFeed".
Delete or disable mail agent on every slave not to receive
duplicated mail.
Thank you.
----------------- cut here ------------------
# Send mail
if ( $ENV{NAGIOS_SERVICEDESC} ) {
# IF Service
my $mail_title = qq/"$ENV{NAGIOS_NOTIFICATIONTYPE}:
$ENV{NAGIOS_SERVICEDESC} is $ENV{NAGIOS_SERVICESTATE} on
$ENV{NAGIOS_HOSTNAME}"/;
my $mail_receiver = $ENV{NAGIOS_CONTACTEMAIL};
my $mail_content = <<"MAIL1";
$ENV{NAGIOS_NOTIFICATIONTYPE}: $ENV{NAGIOS_SERVICEDESC} is
$ENV{NAGIOS_SERVICESTATE} on host $ENV{NAGIOS_HOSTNAME}:
$ENV{NAGIOS_SERVICEOUT
PUT}
Service: $ENV{NAGIOS_SERVICEDESC}
Host: $ENV{NAGIOS_HOSTNAME}
Alias: $ENV{NAGIOS_HOSTALIAS}
Address: $ENV{NAGIOS_HOSTADDRESS}
State: $ENV{NAGIOS_SERVICESTATE}
Comment: $ENV{NAGIOS_SERVICEACKCOMMENT} ($ENV{NAGIOS_SERVICEACKAUTHOR})
Date/Time: $ENV{NAGIOS_LONGDATETIME}
Additional Info:
$ENV{NAGIOS_SERVICEOUTPUT}
MAIL1
$mail_content =~ s/\\//g;
open my $fh, '|-', "/usr/bin/Mail -s $mail_title $mail_receiver";
print {$fh} $mail_content;
close $fh;
}
else {
# IF Host
my $mail_title = qq/"$ENV{NAGIOS_NOTIFICATIONTYPE}:
$ENV{NAGIOS_HOSTNAME} is $ENV{NAGIOS_HOSTSTATE}"/;
my $mail_receiver = $ENV{NAGIOS_CONTACTEMAIL};
my $mail_content = <<"MAIL2";
$ENV{NAGIOS_NOTIFICATIONTYPE}: $ENV{NAGIOS_HOSTNAME} is
$ENV{NAGIOS_HOSTSTATE}: $ENV{NAGIOS_HOSTOUTPUT}
Host: $ENV{NAGIOS_HOSTNAME}
Alias: $ENV{NAGIOS_HOSTALIAS}
Address: $ENV{NAGIOS_HOSTADDRESS}
State: $ENV{NAGIOS_HOSTSTATE}
Comment: $ENV{NAGIOS_HOSTACKCOMMENT} ($ENV{NAGIOS_HOSTACKAUTHOR})
Date/Time: $ENV{NAGIOS_LONGDATETIME}
Info: $ENV{NAGIOS_HOSTOUTPUT}
MAIL2
$mail_content =~ s/\\//g;
open my $fh, '|-', "/usr/bin/Mail -s $mail_title $mail_receiver";
print {$fh} $mail_content;
close $fh;
}
----------------- cut here ------------------
_______________________________________________
Opsview-users mailing list
[email protected]
http://lists.opsview.org/lists/listinfo/opsview-users