|
Page 4 of 4
Перед пробным запуском стоит упомянуть, что Nagios может быть запущен четырьмя способами. Давайте, перечислим их.
1)Вручную как процесс переднего плана.
2)Вручную как фоновый процесс.
3)Вручную как демон.
4)Автоматически как демон, при старте системы.
Для проверки конфигурации воспользуемся третьим способом. Собравшись с духом, можно попытаться запустить систему и начать мониторинг. Воспользуемся для этих целей скриптом nagios.sh.
# /usr/local/etc/rc.d/nagios.sh После этого должно произойти одно из двух: либо Nagios начнет работать, либо на экране появится следующая ошибка.
Starting network monitor: nagios
/bin/sh: -l: unrecognized option Не пугайтесь, если Вам довелось наступить на эти грабли. Приведенное выше сообщение об ошибке значит, что операционная система, на которой Вы работаете, не поддерживает опцию -l команды su. В случае с FreeBSD дело обстоит именно таким образом. Поэтому команда должна выглядеть так su -. В файле /usr/local/etc/rc.d/ nagios.sh ищем строку, содержащую символы su -l и удаляем из нее букву l. Вот теперь-то все должно работать, как положено. Снова запускаем Nagios. Проверяем, как он себя чувствует, с помощью ключа командной строки status.
# /usr/local/etc/rc.d/nagios.sh status
PID TT STAT TIME COMMAND
101 ?? Ss 0:20.81 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc Если, несмотря на все принятые предосторожности, Nagios продолжает кричать об ошибках, то стоит убедиться, что директория /usr/local/nagios/ вместе со всем свои содержимым принадлежит пользователю nagios и группе nagios. В случае ежели подобные ожидания не оправдываются, выполняем смену владельца.
# chown -R nagios:nagios /usr/local/nagios/ Ну, если и это не помогло, то Вам стоит запустить Nagios в режиме отладки.
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg В режиме отладки тексты сообщений обо всех найденных неполадках будут более подробными. Это обстоятельство поможет легче и быстрее обнаружить ошибки.
Процедура исправления ошибок в таком случае довольно проста. Исходя из этого, я надеюсь, что у Вас все получится если не с первого, то со второго раза точно.
Nagios уже выполняет мониторинг сервисов и при наступлении критических событий отправляет оповещения всем, кому положено. Но по одним оповещениям понять, что происходит, не так уж и легко. Согласитесь, что в интерактивном режиме смотреть статистику работы и разбираться с проблемами гораздо легче. Исходя из этого, давайте, обратим наши взоры к процедуре настройки web-интерфейса. В данной статье предполагается, что на машине, занимающейся системой мониторинга, работает web-сервер Apache. Он обязан быть хотя бы минимально настроен и должен функционировать достаточно стабильно.
В файле настроек Apache httpd.conf ищем такой фрагмент текста:
<Directory "/usr/local/apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory> Сразу же после них добавляем такие строки:
ScriptAlias /nagios/cgi-bin/ "/usr/local/nagios/sbin/"
<Directory "/usr/local/nagios/sbin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /nagios/ /usr/local/nagios/share/
<Directory "/usr/local/nagios/share/">
AllowOverride AuthConfig
Options None
Order allow,deny
Allow from all
</Directory> Выполнив эту, процедуру мы создали два псевдонима. Первый - для cgi директории nagios, находящейся в "/usr/local/nagios/sbin/". Доступ к ней можно получить, выполнив подобный http запрос http://ваш сайт/nagios/cgi-bin/. Второй псевдоним указывает, что в директории /usr/local/nagios/share/ находятся html файлы web-интерфейса и справочной документации. Просмотреть эти страницы можно, посетив адрес http://ваш сайт /nagios/. При попытке посетить эти страницы, получаем ошибку. Для того чтобы псевдонимы и авторизация заработали, нужно создать файл .htaccess в директории /usr/local/nagios/sbin/ и внести в него следующие строки:
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
require valid-user Для вступления в силу выполненных изменений осталось лишь перезапустить Apache.
# /usr/local/apache/bin/apachectl restart Таким образом, мы объясняем web-серверу, что доступ к файлам директории /usr/local/nagios/sbin/ может получить только авторизованный пользователь. Если есть желание, чтобы пользователи не смогли войти даже на главную страницу Nagios без ввода пароля, то нужно скопировать файл .htaccess из директории /usr/local/nagios/sbin/ в /usr/local/nagios/share/.
Список паролей и имен пользователей должен находится в файле /usr/local/nagios/etc/htpasswd.users, который на данный момент еще не существует. Заводим нового пользователя и заодно с помощью ключа c создаем файл.
# /usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users tigrisha
New password: ******
Re-type new password: ******
Adding password for user tigrisha С помощью той же команды, но без ключа с, создаем еще одного пользователя.
# /usr/local/apache/bin/htpasswd /usr/local/nagios/etc/htpasswd.users amon
New password: ******
Re-type new password: ******
Adding password for user amon Теперь давайте займемся конфигурационным файлом /usr/local/nagios/etc/cgi.cfg. Нам нужно изменить некоторые параметры:
authorized_for_system_information=tigrisha, amon
# Список пользователей, которым разрешен просмотр
# информации о работе процесса Nagios
authorized_for_configuration_information= tigrisha, amon
# Список пользователей, которым разрешен просмотр
# информации о конфигурации всех хостов и сервисов.
# По умолчанию пользователь может смотреть
# конфигурацию только хостов и сервисов,
# принадлежащих к его контактной группе.
authorized_for_system_commands=tigrisha, amon
# Список пользователей, авторизованных для выполнения
# через cmd.cgi команд управления процессом Nagios.
authorized_for_all_services=tigrisha, amon
authorized_for_all_hosts=tigrisha, amon
# Эти два параметра определяют список пользователей, которым разрешен просмотр
# информации обо всех наблюдаемых хоста и сервисах.
# По умолчанию пользователь может видеть
# только те хосты и сервисы, которые принадлежат к его контактной группе.
refresh_rate=10
# Частота обновления (в секундах) информации, просматриваемой через web-интерфейс.
# По умолчанию установлено 90 секунд, но нам такой большой интервал не подходит.
# Поэтому поставим 10 секунд.
Теперь в файл nagios.cfg вносим следующие изменения
date_format=euro
# Устанавливаем формат даты более привычный для России
use_authentication=1
# Включаем аутентификацию пользователей
check_external_commands=1
# Разрешаем обрабатывать команды, передаваемые процессу Nagios через web-интерфейс.
command_file=/usr/local/nagios/var/nagios.cmd
# Местоположение файла внешних команд.
Для того чтобы внесенные изменения вступили в силу, перезапускаем процесс Nagios:
# /usr/local/etc/rc.d/nagios.sh restart Если все сделали правильно, то теперь самое время наслаждаться отлично работающей системой мониторинга. Мы установили наблюдение за двумя тестовыми хостами. Процедуру добавления остальных хостов оставляю читателю в качестве самостоятельного упражнения.
|