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 5 weeks ago
13 years 7 weeks ago
13 years 41 weeks ago
13 years 48 weeks ago
14 years 34 weeks ago
15 years 5 weeks ago
15 years 11 weeks ago
15 years 16 weeks ago
15 years 19 weeks ago
15 years 33 weeks ago