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
12 years 45 weeks ago
12 years 47 weeks ago
13 years 29 weeks ago
13 years 36 weeks ago
14 years 21 weeks ago
14 years 45 weeks ago
14 years 51 weeks ago
15 years 4 weeks ago
15 years 6 weeks ago
15 years 21 weeks ago