Nagios. Відправлення повідомлень користувачам Windows

Система моніторингу Nagios розроблена для Unix-подібних операційних систем та призначена для постійного спостереження за станом сервісів, комп’ютерів і активного мережевого обладнання, інформування адміністраторів про порушення нормальної роботи об’єктів моніторингу. Одразу після встановлення, система передбачає відправлення повідомлень тільки за допомогою електронної пошти. У пропонованій статті розглянуто налаштування системи Nagios, яка встановлена на комп’ютері з ОС FreeBSD, для відправлення повідомлень користувачеві комп’ютеру з ОС Windows.

По-перше, необхідно встановити розширення мови Perl для відправлення повідомлень – Net::NetSend:

cd /usr/ports/net-im/p5-Net-NetSend
make install clean

Далі, потрібно створити скрипт netsend.pl, який власне і здійснюватиме відправлення повідомлень, та зберегти його, наприклад, в директорії /usr/local/etc/nagios:

#!/usr/local/bin/perl
use Net::NetSend qw(:all);
use IO::Socket;
my $source_netbios_name = "Nagios";
my $debug = 0;
my $target_netbios_name = @ARGV[0];
my $message = @ARGV[1];
my $target_ip = inet_ntoa((gethostbyname($target_netbios_name))[4]);
sendMsg($target_netbios_name, $source_netbios_name, $target_ip, $message, $debug); 

Вхідними аргументами цього скрипта є ім’я комп’ютера з ОС Windows та текст повідомлення.

Для відправлення повідомлень про зміну стану хостів та сервисів необхідно створити відповідні команди в конфігураційному файлі commands.cfg:

define command{
command_name notify-host-by-netsend
command_line /usr/local/etc/nagios/netsend.pl $CONTACTADDRESS1$
" $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ !"
}
define command{
command_name notify-service-by-netsend
command_line /usr/local/etc/nagios/netsend.pl $CONTACTADDRESS1$
" $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$
is $SERVICESTATE$ !"
}

Ці команди можна додати в загальний шаблон контактів (конфігураційний файл templates.cfg):

define contact{
name generic-contact
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email,notify-service-by-netsend
host_notification_commands notify-host-by-email,notify-host-by-netsend
register 0
}

І на останок, в конфігураційному файлі контактів contacts.cfg, в розділі, що описує одержувача, потрібно додати параметр "додаткова адреса" (address1), який містить ім’я його комп’ютера. Наприклад :

define contact{
contact_name nagiosadmin ; Ім'я отримувача
use generic-contact ; Шаблон контактів
alias Nagios Admin ; Псевдонім отримувача
email my_name@my_domain.ua ; Адреса електронної пошти
address1 PROGRAMMER ; Додаткова адреса
}

Всього можливо задавати до 6 додаткових адрес (address1 – address6).

Тепер, після перезапуску демона nagios (/usr/local/etc/rc.d/nagios restart) користувач буде отримувати повідомлення Windows.

© Інформаційні технології. Аналітика , Рідна Мережа