Настраиваем Nagiosql | Nagios

Настраивать nagios руками, особенно если серверов достаточно много – занятие весьма утомительное. Поэтому для управления nagios есть вебинтерфейс – nagiosql.

Для понимания суть работы nagiosql следующая. Все настройки он хранит в базе и на их основе генерит файлы конфигурации нагиос. Сгенерированные файлы nagiosql раскладывает по директориям nagios. Куда складывать конфиги мы прописыввем в настройках «домена» nagiosql (эти данные храняться в базе в таблице tbl_domain). nagiosql может работать с несколькими экземплярами nagios – «доменами», по дефолту у нас один «домен» – localhost.


Итак для установки nagiosql на машине должны присутствовать.

1. Webserver e.g. Apache 1.x or above
  2. PHP 4.3 or above
  3. MySQL 4.1 or above
  4. Nagios 2 or above
  5. PEAR Module: HTML_Template_IT 1.1 or above
  6. PHP Extension: gettext
  7. PHP Extension: mysql
  8. PHP Extension: ftp
  9. PHP Extension: session
 10. Javascript enabled at your Webbrowser

Плюс поддержка snmp если будем пользоваться…

Я ставил на CentOS. Делаем:

yum install net-snmp net-snmp-utils mod_ssl php php-mysql php-pear

Во FreeBSD nagiosql есть в портах так что проблем там быть не должено.

Ставим темплейт pear:

#pear install HTML_Template_IT

Далее качаем дистрибутив nagiosql и распаковываем в корень вашего вебсервера.
Настраиваем вебсервер.

Создаем в папке install файл с названием ENABLE_INSTALLER.
Переходим в браузере на страницу с вашими файлами: http://yourserver.com/nagiosql

Ставим nagiosql согласно инструкциям – здесь всё просто, нужно только указать рутовый пароль на доступ к mysql. Можно поставить галочку – записать демо данные – так будет проще ориентироваться в интерфейсе. Кстати nagiosql нормально локализован на русский.

Если всё прошло удачно идём в закладку настройки доменов для того чтобы указать куда nagiosql будет складывать конфигурационные файли и откуда их будет брать nagios.

Идём – Администрирование -> Домены. Кликаем по пиктограмме настройки домена localhost.
Задаём настройки как на рисунке:

В CentOS nagios я ставил из исходников. По дефлоту встал в /usr/local/ Файлы конфигов – в /usr/local/nagios/etc/objects/
Основные конфиги в /usr/local/nagios/etc/
Кликаем – Сохранить.

Далее создаем директории которые мы указывали в окне настроек:

# mkdir /usr/local/nagios/etc/objects/services
# mkdir /usr/local/nagios/etc/objects/backup
# mkdir /usr/local/nagios/etc/objects/backup/hosts
# mkdir /usr/local/nagios/etc/objects/backup/services

Задаем права:

# chown nagios:apache /usr/local/nagios/etc/objects/services
# chown nagios:apache /usr/local/nagios/etc/objects/backup
# chown nagios:apache /usr/local/nagios/etc/objects/backup/hosts
# chown nagios:apache /usr/local/nagios/etc/objects/backup/services

Создаем файлы конфигов:

touch /usr/local/nagios/etc/objects/checkcommands.cfg
touch /usr/local/nagios/etc/objects/misccommands.cfg
touch /usr/local/nagios/etc/objects/contactgroups.cfg
touch /usr/local/nagios/etc/objects/contacts.cfg
touch /usr/local/nagios/etc/objects/timeperiods.cfg
touch /usr/local/nagios/etc/objects/hostgroups.cfg
touch /usr/local/nagios/etc/objects/servicegroups.cfg
touch /usr/local/nagios/etc/objects/contacttemplates.cfg
touch /usr/local/nagios/etc/objects/servicedependencies.cfg
touch /usr/local/nagios/etc/objects/hostdependencies.cfg
touch /usr/local/nagios/etc/objects/serviceescalations.cfg
touch /usr/local/nagios/etc/objects/hostescalations.cfg
touch /usr/local/nagios/etc/objects/hostextinfo.cfg
touch /usr/local/nagios/etc/objects/serviceextinfo.cfg
touch /usr/local/nagios/etc/objects/hosttemplates.cfg
touch /usr/local/nagios/etc/objects/servicetemplates.cfg

Задаем владельца и права на файлы – суть простая дать читать и писать в папки и файлы пользователю под которым работает nagios и вебсервер.

# chown nagios:apache /usr/local/nagios/etc -R
# chmod 770 /usr/local/nagios/etc -R

Далее даём права пользователю вебсервера читать другие файлы и директории nagios:

Бинарник (для перезапуска nagios из вебинтерфейса):

# chown nagios:apache /usr/local/nagios/bin/nagios
# chmod 770 /usr/local/nagios/bin/nagios

Командный файл:

# chown nagios:apache /usr/local/nagios/var/rw -R
# chmod 770 /usr/local/nagios/var/rw -R

Спулер:

# chown nagios:apache /usr/local/nagios/var/spool -R
# chmod 770 /usr/local/nagios/var/spool -R

Теперь указываем nagios где барать конфигурационные файлы – данные о сервисах, хостах и т.д. открываем nagios.cfg и добавляем пути к конфигам:

cfg_file=/usr/local/nagios/etc/checkcommands.cfg
cfg_file=/usr/local/nagios/etc/misccommands.cfg
cfg_file=/usr/local/nagios/etc/contactgroups.cfg
cfg_file=/usr/local/nagios/etc/contacts.cfg
cfg_file=/usr/local/nagios/etc/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/hostgroups.cfg
cfg_file=/usr/local/nagios/etc/servicegroups.cfg
cfg_file=/usr/local/nagios/etc/contacttemplates.cfg
cfg_file=/usr/local/nagios/etc/servicedependencies.cfg
cfg_file=/usr/local/nagios/etc/hostdependencies.cfg
cfg_file=/usr/local/nagios/etc/serviceescalations.cfg
cfg_file=/usr/local/nagios/etc/hostescalations.cfg
cfg_file=/usr/local/nagios/etc/hostextinfo.cfg
cfg_file=/usr/local/nagios/etc/serviceextinfo.cfg
cfg_file=/usr/local/nagios/etc/hosttemplates.cfg
cfg_file=/usr/local/nagios/etc/servicetemplates.cfg

Обращаем внимание что некоторые из этих файлов в конфиге nagios уже есть! Дублирование записи пути к конфигу приведёт ктому что нагиос не запустится. Внимательно проверяем что мы хотим скормить нагиосу для обработки. :)

Всё – настройка закончена. Идём в пункт nagiosql Сервис и выбираем Управление Nagios.
Кликаем – Проверить конфигурационные файлы и смотрим лог. Если ошибок нет можно выбрать два верхних пункта – и записать конфиги в директории нагиоса.
После этого можно перезапускать nagios, добавлять хосты, сервисы и т.д.