Установка и настройка Nagios и NRPE из исходников

Установка и настройка Nagios и NRPE из исходников Установка и настройка Nagios и NRPE из исходников
Установка и настройка Nagios и NRPE из исходников.

Ставим Nagios.

Nagios позволяет следить за серверами и сервисами, а также ведет небольшую статику по всему этому, и вы можете видеть как работает ваш сервер(а), а также получать уведомления на почту об ошибках или критических проблемах.

Создаем пользователя nagios и даем ему пароль: Создаем группу nagcmd и даем права на исполнение команд через веб-интерфейс, добавляем пользователя nagios и apache в эту группу: Скачиваем исходники Nagios-а тут: Скачиваем плагины Nagios-а тут: Распаковываем архивы Nagios-а и ставим: Измените конфигурацию Nagios-а, меняем почтовый ящик для оповещений на ваш в строке "email": Убедитесь, что у вас создался файл /etc/httpd/conf.d/nagios.conf

Если нет, создаем все необходимые папки, то есть /etc/httpd/conf.d/ и запускаем еще раз Потом, открываем конфиг Apache, у меня он лежал в /usr/local/apache/conf/httpd.conf и добавляем строчку Рестартуем Apache: Если нет ошибок и Apache стартанул нормально,- идем дальше, если нет читаем error_log. Ставим пользователя+пароль на веб-интерфейс Nagios-а: При желании можете использовать любое другое имя, и пароль к нему.

Дальше ставим плагины к Nagios-у: Добавляем Nagios в boot-ер (чтобы стартовал сам после перезагрузки сервера): Теперь проверяем, все ли мы поставили нормально: Если ошибок нет, - пошли дальше.

Nagios поставлен, теперь вы можете зайти по URL-у http://ваш_ip_адрес_сервера/nagios/

Известные проблемы, после установки

___________________________________________________________________________________________

1.После установки у меня не работал плагин PING, писало, что сервер "лежит", хотя остальные сервисы были "online", исправляется ошибка очень просто: 2. При попытке задать какие-то изменения через веб-интерфейс (например перепроверить тот или иной сервис) выдавало ошибку: Нужно сделать следующее: После каждого рестарта Nagios-а проблема может повториться... 3. Если стоит и активиорован SuPHP модуль - веб интерфейса вам не видать, по-крайней мере у меня после многочисленных попыток поднять его не получилось, если у кого получилось - пишите, буду очень благодарен 4. При установке nagios-plugins на моменте запуска make выдает ошибку нужно запустить make distclean и переконфигурить.

5. Если видите ошибку: Directory index forbidden by Options directive: /usr/local/nagios/share/, то лечиться так: ___________________________________________________________________________________________

Ставим NRPE и конфигурим его на удаленном сервере.

NRPE - позволяет мониторить через Nagios другие удаленные сервера, даже те, которые могут находиться в локальной сети (главный "мониторящий" сервер должен иметь доступ как в локалку, так и в инет). Чем это удобно? Вам не нужно пробегаться по всем веб-интерфейсам или конфигурить несколько серверов в FireFox плагине Nagios Checker, достаточно иметь доступ только в веб-интерфейс главного "мониторящего" сервера.

Nagios должен стоять на на главном сервере, NRPE и Nagios_plugins ставим на обоих.

Ставим XINETD и OpenSSL Скачиваем NRPE: Добавляем порт NRPE в список сервисов добавляем строчки Перегружаем Nagios и XINETD Проверяем, правильно ли поставили NRPE должно выдать если пишет Connection refused by host добавляем правило для порта 5666 в iptables или "ложим" iptables (как временное решения намного проще) ДО ЭТОГО МОМЕНТА Nagios И NRPE ДОЛЖНЫ СТОЯТЬ НА ОБОИХ СЕРВЕРАХ.

НА УДАЛЕННОМ СЕРВЕРЕ ОТКРЫВАЕМ И МЕНЯЕМ СТРОЧКУ НА ГДЕ ВМЕСТО ХХХ.ХХХ.ХХХ.ХХХ IP АДРЕС ВАШЕГО ГЛАВНОГО СЕРВЕРА. Перегружаем Nagios и XINETD Проверяем связь между главным и удаленным серверами, на ГЛАВНОМ сервере запускаем ГДЕ ВМЕСТО ХХХ.ХХХ.ХХХ.ХХХ IP АДРЕС ВАШЕГО УДАЛЕННОГО СЕРВЕРА. должно выдать Если выдало CHECK_NRPE: Error - Could not complete SSL handshake., значит нужно устанавливать NRPE c ./configure --enable-ssl параметром (смотри выше установку NRPE).

Теперь нужно добавить сервисы с УДАЛЕННОГО сервера в конфигурацию ГЛАВНОГО, для этого на ГЛАВНОМ СЕРВЕРЕ: 1. Копируем localhost.cfg файл и меняем его имя, на что-то другое. 2. Открываем /usr/local/nagios/etc/objects/remote.cfg НА ГЛАВНОМ СЕРВЕРЕ.

и меняем все строчки с параметром host_name с localhost на hostname удаленного сервера (или его IP).

также меняем параметр address с 127.0.0.1 на IP АДРЕС ВАШЕГО УДАЛЕННОГО СЕРВЕРА.

также меняем параметр hostgroup_name например на remote-servers

также меняем названия для следующих переменных: 3. Открываем /usr/local/nagios/etc/nagios.cfg и добавляем /usr/local/nagios/etc/objects/remote.cfg после строчки /usr/local/nagios/etc/objects/localhost.cfg в результате должно выглядеть так: 4. Открываем /usr/local/nagios/etc/nrpe.cfg НА УДАЛЕННОМ СЕРВЕРЕ и добавляем в самый низ следующие строки (ВНИМАНИЕ, там уже будут похожие строки их или комментируем или удаляем) ВНИМАНИЕ: если присмотреться к команде check_disk1, то вы увидите, что я указал в ее конце /dev/sda1, это имя моего диска, у вас оно может быть другим, проверьте через команду df -h в командной строке SSH.

5. Открываем /usr/local/nagios/etc/objects/commands.cfg НА ГЛАВНОМ СЕРВЕРЕ и добавляем в конец следующие строки: 6. Проверяем конфигурацию Nagios-a Если ошибок нет, Перегружаем Nagios и XINETD на обоих серверах Если еще хотите добавить проверку MySQL, то:

1. НА УДАЛЕННОМ СЕРВЕРЕ создаем какого-нибудь mysql юзвера: 2. Открываем НА УДАЛЕННОМ СЕРВЕРЕ /usr/local/nagios/etc/nrpe.cfg и добавляем 3. Рестартуем XINETD НА УДАЛЕННОМ СЕРВЕРЕ 4. НА ГЛАВНОМ СЕРВЕРЕ открываем /usr/local/nagios/etc/objects/commands.cfg и добавляем в конец файла 5. НА ГЛАВНОМ СЕРВЕРЕ открываем конфиг необходимого сервера, в нашем случае был /usr/local/nagios/etc/objects/remote.cfg (не забываем поменять HOSTNAME на имя хоста или айпишник удаленного сервера) и добавляем в конец (как вы видите check_mysql!nagios!nagios содержит юзверя и пароль созданого в MySQL на удаленном сервере) 6. Рестартуем Nagios
More