Глава 7
Подписка на события
Оснастка просмотра событий позволяет собирать сообщения с других компьюте-
ров. Для этого достаточно настроить
подписку
(рис. 7.5). При настройке подписки
вы также указываете правила сбора сообщений (фильтрации), определяете компью-
теры, с которых ведется сбор данных, и т. п. Обычно все собранные таким образом
сообщения направляются в журнал
Пересланные события
, который можно ис-
пользовать при создании собственных настраиваемых сообщений.
Рис. 7.5.
Окно мастера настройки подписки
Создание собственных событий в журналах Windows
Начиная с Windows Server 2003, в составе операционной системы присутствует
команда
EVENTCREATE
. С ее помощью можно записать в любой журнал событие
заданного типа (информация, ошибка и т. п.). Вот примеры использования этой
команды:
eventcreate /t error /id 100 /l application /d "Ошибка"
eventcreate /t information /id 1000 /so winmgmt /d "Информационное сообщение"
eventcreate /t warning /id 1000 /so winmgmt /d "Предупреждение"
Мониторинг информационной системы
309
Информацию об этой команде можно получить по адресу:
https://technet.microsoft.com/en-us/library/bb490899.aspx
.
Настройка журналирования в syslog
Системный журнал Linux — syslog — создается специальным демоном syslogd, ко-
торому программы отправляют свои сообщения. Подробно демон syslogd описан
в
главе 11
.
Утилиты мониторинга
Существует множество систем мониторинга — как платных, так и бесплатных.
Некоторые из таких систем будут не по карману не только средним, но и мно-
гим крупным компаниям. Поэтому в этой книге основное внимание уделено
OpenSource-проектам.
Среди таких решений можно порекомендовать уже упомянутые ранее Zabbix
(
http://www.zabbix.com/ru/
), OpenNMS (
http://www.opemnms.org
) и Nagios
(
https://www.nagios.org/
). Последняя для мониторинга является стандартом
де-факто, и мы ее сейчас рассмотрим подробно.
Система мониторинга Nagios
Необходимость мониторинга сети
Когда в сети один или два сервера, то достаточно просто понять, какой из них ра-
ботает, а какой — нет. А вот когда в большой сети их несколько десятков, и серве-
ры эти находятся даже в разных городах, то хотелось бы иметь полную картину
работоспособности серверов и предоставляемых ими сервисов (FTP, HTTP и пр.).
Можно написать систему мониторинга на bash — это не так уж и сложно. Впрочем,
сложность, конечно, зависит от того, какую информацию вы хотите получить. Если
нужно просто определить доступность сервера, то хватит простого сценария, переби-
рающего в цикле IP-адреса серверов и пингующего их. Однако такой простой сцена-
рий не позволит определить, работают ли запущенные на сервере службы. Придется
его усложнять... Но тратить время на разработку сложного сценария не имеет смыс-
ла — ведь все это за нас уже создано. А простой сценарий и вовсе писать незачем —
уже существует сканер портов nmap, позволяющий просканировать всю сеть и опре-
делить, доступны ли ее узлы.
Так что здесь мы рассмотрим сложную систему Nagios, позволяющую произво-
дить мониторинг всевозможных сервисов сети: FTP, POP, HTTP, IMAP, SQL и пр.
Система обладает модульной структурой, разрешающей добавлять новые опции
мониторинга, имеется также возможность дописывать собственные модули на
bash или Perl. Nagios умеет отправлять уведомления на электронную почту и по-
давать звуковой сигнал. Можно даже создать веб-страничку, на которой будет
отображаться информация о доступности сервисов сети, история сбоев, отчеты
о доступности серверов и т. д. Одним словом, Nagios — полноценная система
мониторинга.
310
Глава 7
Для большего разнообразия рассматриваемых в книге систем, настройка сервера
мониторинга будет производиться в условиях операционной системы FreeBSD
(хотя по приведенному здесь образу и подобию вы настроите Nagios и в Linux).
Установка Nagios
Для работы Nagios нужен веб-сервер Apache. Установим Nagios:
# cd /usr/ports/net-mgmt/nagios
# make install clean
При установке Nagios следует ответить
y
на два вопроса (рис. 7.6):
You need a "nagios" group
Would you like me to create it [YES]?
y
You need a "nagios" user
Would you like me to create it [YES]?
Y
Организуем автоматический запуск Nagios, добавив следующую строку в файл
/etc/rc.conf
:
nagios_enable="YES"
Теперь откройте файл конфигурации Apache
/usr/local/etc/apache22/httpd.conf
и найди-
те в нем строки:
AllowOverride None
Order deny,allow
Deny from all
Рис. 7.6.
Установка Nagios
Мониторинг информационной системы
311
Сразу после них добавьте следующие строки:
ScriptAlias /nagios/cgi-bin /usr/local/www/nagios/cgi-bin/
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
Alias /nagios /usr/local/www/nagios/
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
Этим вы защитите паролем доступ к каталогу
nagios
, чтобы никто, кроме вас, не
смог промониторить вашу сеть. Информация о пользователях и паролях хранится
в файле
/usr/local/etc/nagios/htpasswd.users
. У вас еще нет этого файла — создайте его и
добавьте в него пользователей:
# htpasswd -c /usr/local/etc/nagios/htpasswd.users nagios
# htpasswd /usr/local/etc/nagios/htpasswd.users admin
Перезапустите Apache и обратитесь к Nagios так:
http://адрес_сервера/nagios/
Настройка Nagios
Для настройки Nagios перейдите в каталог
/usr/local/etc/nagios
/. В нем вы найдете
только файлы примеров, на основании которых следует создать реальные конфигу-
рационные файлы.
Начнем с файла
cgi.cfg-sample
— в нем находится конфигурация CGI-части Nagios.
Переименуйте этот файл в
cgi.cfg
. Весь файл со всеми комментариями мы здесь рас-
сматривать не станем, тем более что много параметров там изменять не придется.
312
Do'stlaringiz bilan baham: |