Ставим:
make && make install && make clean
В rc.conf добавляем строку
Вариант 1 - без использования виртуальных хостов
Добавляем в /usr/local/etc/apache22/httpd.conf в конец файла
Alias /nagios /usr/local/www/nagios/
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Login"
AuthType Basic
AuthUSerFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Login"
AuthType Basic
AuthUSerFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
Вариант 2 - делаем виртуальный хост nagios.domain.local, необходимо сначала сделать описанное в варианте 1 - там прописаны разрешения на папки, параметры авторизации и т.д., так что дублировать мы их не будем.
В httpd.conf раскомментируем строку
Добавляем в файл /usr/local/etc/apache22/extra/httpd-vhosts.conf следующие строки:
ServerAlias nagios.domain.local
DocumentRoot /usr/local/www/nagios/
# Alias nagios.domain.local /usr/local/www/nagios/
# ScriptAlias nagios.domain.local/cgi-bin /usr/local/www/nagios/cgi-bin
Создаем пользователя nagiosadmin
Далее можно проверить, все ли мы сделали правильно.
Перезапустим apache и запустим Nagios:
#/usr/local/etc/rc.d/nagios start
Если нет ошибок, заходим на nagios.domain.local (не забудьте настроить DNS или локальный файл hosts на правильное разрешение этого имени), либо на http:///nagios, авторизуемся под созданным нами пользователем.
И возвращаемся в файлы конфигурации Nagios. К сожалению, конфигурация Nagios'а не самое интересное занятие - множество файлов, отличающихся в разных версиях, куча настроек, и т.д.
Допустим, у нас в сети есть маршрутизаторы, коммутаторы и сервера. Для каждой группы хостов я создаю папку, и в ней описание настроек каждого хоста в отдельном файле.
Все папки нужно описать в nagios.cfg
cfg_dir=/usr/local/etc/nagios/switches
cfg_dir=/usr/local/etc/nagios/servers
создаем эти папки:
mkdir /usr/local/etc/nagios/switches
mkdir /usr/local/etc/nagios/servers
Файл objects/contacts.cfg - поправляем под свои нужды электронную почту контакта.
Рассмотрю пример с маршрутизаторами - их мы будем проверять с помощью ICMP, а так же доступность по SSH.
Редактируем:
define host
{
use linux-server #какой шаблон используем
host_name Router1
alias Router1
address 192.168.0.1 #адрес пингуемого хоста
}
define service
{
use local-service
host_name Router1
service_description PING
check_command check_ping!100.0,20%!500.0,60% #Настройка проверки по ICMP - если пинг выше 100, на почту будет приходить оповещение. Ставим значение под свои нужды.
}
###тут проверка доступности хоста по SSH. Если не нужно, удалите или закомментируйте.
Перезапускаем Nagios.
Вроде бы все.