Установка и начальная настройка Nagios на FreeBSD

Установка и начальная настройка Nagios на FreeBSD

01.05.2019

Ставим:

cd /usr/ports/net-mgmt
make && make install && make clean

В rc.conf добавляем строку

nagios_enable="YES"

Вариант 1 - без использования виртуальных хостов

Добавляем в /usr/local/etc/apache22/httpd.conf в конец файла

ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
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 раскомментируем строку

Include etc/apache22/extra/httpd-vhosts.conf

Добавляем в файл /usr/local/etc/apache22/extra/httpd-vhosts.conf следующие строки:

ServerName nagios.domain.local
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

#htpasswd /usr/local/etc/nagios/htpasswd.users nagiosadmin

Далее можно проверить, все ли мы сделали правильно.

Перезапустим apache и запустим Nagios:

#/usr/local/etc/rc.d/apache22 restart
#/usr/local/etc/rc.d/nagios start

Если нет ошибок, заходим на nagios.domain.local (не забудьте настроить DNS или локальный файл hosts на правильное разрешение этого имени), либо на http:///nagios, авторизуемся под созданным нами пользователем.

И возвращаемся в файлы конфигурации Nagios. К сожалению, конфигурация Nagios'а не самое интересное занятие - множество файлов, отличающихся в разных версиях, куча настроек, и т.д.

Допустим, у нас в сети есть маршрутизаторы, коммутаторы и сервера. Для каждой группы хостов я создаю папку, и в ней описание настроек каждого хоста в отдельном файле.

Все папки нужно описать в nagios.cfg

cfg_dir=/usr/local/etc/nagios/routers
cfg_dir=/usr/local/etc/nagios/switches
cfg_dir=/usr/local/etc/nagios/servers

создаем эти папки:

mkdir /usr/local/etc/nagios/routers
mkdir /usr/local/etc/nagios/switches
mkdir /usr/local/etc/nagios/servers

Файл objects/contacts.cfg - поправляем под свои нужды электронную почту контакта.

Рассмотрю пример с маршрутизаторами - их мы будем проверять с помощью ICMP, а так же доступность по SSH.

touch /usr/local/etc/nagios/routers/router1.cfg

Редактируем:

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. Если не нужно, удалите или закомментируйте.

define service
{
use local-service
host_name Router1
service_description SSH
check_command check_ssh
notifications_enabled 0
}

Перезапускаем Nagios.

Вроде бы все.

Показать комментарии ()