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 | ; Псевдонім отримувача | |
my_name@my_domain.ua | ; Адреса електронної пошти | ||
address1 | PROGRAMMER | ; Додаткова адреса | |
} |
Всього можливо задавати до 6 додаткових адрес (address1 – address6).
Тепер, після перезапуску демона nagios (/usr/local/etc/rc.d/nagios restart) користувач буде отримувати повідомлення Windows.
Recent comments
13 years 13 weeks ago
13 years 15 weeks ago
13 years 49 weeks ago
14 years 4 weeks ago
14 years 41 weeks ago
15 years 13 weeks ago
15 years 19 weeks ago
15 years 24 weeks ago
15 years 26 weeks ago
15 years 41 weeks ago