Главная arrow Статьи arrow Система мониторинга Nagios arrow Система мониторинга на основе Nagios  
 
 
 

Main Menu
Главная
Статьи
Обзоры
Блог
Поиск
 

Система мониторинга на основе Nagios

Написал Бешков Андрей   
Пятница, 01 Апреля 2005
Содержание статьи
Вступление
Установка компонентов
Настройка Nagios
Первый запуск


Перед пробным запуском стоит упомянуть, что 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
Если все сделали правильно, то теперь самое время наслаждаться отлично работающей системой мониторинга. Мы установили наблюдение за двумя тестовыми хостами. Процедуру добавления остальных хостов оставляю читателю в качестве самостоятельного упражнения.






Последнее обновление ( Воскресенье, 17 Июня 2007 )
След. >