Как установить Nagios 4 и контролировать свои серверы в CentOS 7

Вступление

В этом руководстве мы рассмотрим установку очень популярной системы мониторинга с открытым исходным кодом Nagios 4 на CentOS 7 или RHEL 7. Мы рассмотрим некоторые основные настройки, чтобы вы могли отслеживать ресурсы хоста через веб-интерфейс. Мы также будем использовать Nagios Remote Plugin Executor (NRPE), который будет установлен в качестве агента на удаленных хостах, для мониторинга их локальных ресурсов.

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

Предпосылки

Чтобы следовать этому руководству, вы должны иметь привилегии суперпользователя на сервере CentOS 7, на котором будет работать Nagios. В идеале вы будете использовать пользователя без полномочий root с привилегиями суперпользователя. Если вам нужна помощь в настройке, выполните шаги с 1 по 3 в этом руководстве: Initial Настройка сервера с CentOS 7 .

Стек LAMP также требуется. Следуйте этому руководству, если вам нужно его настроить: How Для установки стека LAMP на CentOS 7.

В этом руководстве предполагается, что на вашем сервере включена частная сеть. Если это не так, просто замените все ссылки на частные IP-адреса публичными IP-адресами.

Теперь, когда у нас есть предварительные условия, давайте перейдем к установке Nagios 4.

Установите Nagios 4

В этом разделе будет рассказано, как установить Nagios 4 на ваш сервер мониторинга. Вам нужно заполнить этот раздел только один раз.

Установить зависимости сборки

Поскольку мы собираем Nagios Core из исходного кода, мы должны установить несколько библиотек разработки, которые позволят нам завершить сборку.

Сначала установите необходимые пакеты:

sudo yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip

Создать пользователя и группу Nagios

Мы должны создать пользователя и группу, которые будут запускать процесс Nagios. Создайте пользователя «nagios» и группу «nagcmd», затем добавьте пользователя в группу с помощью следующих команд:

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios

Давайте установим Nagios сейчас.

Установите Nagios Core

Загрузите исходный код для последней стабильной версии Nagios Core. Перейдите на Nagios страницу загрузки и нажмите ссылку * Пропустить для загрузки * под формой. Скопируйте адрес ссылки для последней стабильной версии, чтобы вы могли загрузить ее на свой сервер Nagios.

На момент написания этой статьи последней стабильной версией является Nagios 4.1.1. Загрузите его в свой домашний каталог с помощью curl:

cd ~
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-.tar.gz

Распакуйте архив Nagios с помощью этой команды:

tar xvf nagios-*.tar.gz

Затем перейдите в извлеченный каталог:

cd nagios-

Перед сборкой Nagios мы должны настроить его с помощью этой команды:

./configure --with-command-group=nagcmd

Теперь скомпилируйте Nagios с помощью этой команды:

make all

Теперь мы можем запустить эти команды make для установки Nagios, сценариев инициализации и примеров файлов конфигурации:

sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
sudo make install-webconf

Чтобы выдавать внешние команды через веб-интерфейс для Nagios, мы должны добавить пользователя веб-сервера + apache + в группу + nagcmd +:

sudo usermod -G nagcmd apache

Установите плагины Nagios

Найти последнюю версию плагинов Nagios можно здесь: Nagios Download Plugins Download. Скопируйте адрес ссылки для последней версии и скопируйте адрес ссылки, чтобы вы могли загрузить его на свой сервер Nagios.

На момент написания этой статьи последней версией является Nagios Plugins 2.1.1. Загрузите его в свой домашний каталог с помощью curl:

cd ~
curl -L -O http://nagios-plugins.org/download/nagios-plugins-.tar.gz

Извлеките архив плагинов Nagios с помощью этой команды:

tar xvf nagios-plugins-*.tar.gz

Затем перейдите в извлеченный каталог:

cd nagios-plugins-*

Прежде чем создавать плагины Nagios, мы должны его настроить. Используйте эту команду:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

Теперь скомпилируйте плагины Nagios с помощью этой команды:

make

Затем установите его с помощью этой команды:

sudo make install

Установить NRPE

Найти исходный код последней стабильной версии NRPE можно на странице загрузок NRPE. Загрузите последнюю версию на свой сервер Nagios.

На момент написания этой статьи последний выпуск был 2.15. Загрузите его в свой домашний каталог с помощью curl:

cd ~
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/.tar.gz

Извлеките архив NRPE с помощью этой команды:

tar xvf nrpe-*.tar.gz

Затем перейдите в извлеченный каталог:

cd nrpe-*

Настройте NRPE с этими командами:

./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu

Теперь соберите и установите NRPE и его скрипт запуска xinetd с помощью этих команд:

make all
sudo make install
sudo make install-xinetd
sudo make install-daemon-config

Откройте скрипт запуска xinetd в редакторе:

sudo vi /etc/xinetd.d/nrpe

Измените строку + only_from +, добавив частный IP-адрес вашего сервера Nagios в конец (замените фактический IP-адрес вашего сервера):

only_from = 127.0.0.1

Сохранить и выйти. Только серверу Nagios будет разрешено общаться с NRPE.

Перезапустите службу xinetd, чтобы запустить NRPE:

sudo service xinetd restart

Теперь, когда Nagios 4 установлен, нам нужно его настроить.

Настроить Nagios

Теперь давайте выполним начальную настройку Nagios. Вам нужно выполнить этот раздел только один раз на вашем сервере Nagios.

Организовать конфигурацию Nagios

Откройте основной файл конфигурации Nagios в вашем любимом текстовом редакторе. Мы будем использовать vi для редактирования файла:

sudo vi /usr/local/nagios/etc/nagios.cfg

Теперь найдите раскомментируйте эту строку, удалив + # +:

#cfg_dir=/usr/local/nagios/etc/servers

Сохранить и выйти.

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

sudo mkdir /usr/local/nagios/etc/servers

Настроить контакты Nagios

Откройте конфигурацию контактов Nagios в своем любимом текстовом редакторе. Мы будем использовать vi для редактирования файла:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

Найдите директиву электронной почты и замените ее значение (выделенная часть) на свой собственный адрес электронной почты:

email                                   ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

Сохранить и выйти.

Настроить команду check_nrpe

Давайте добавим новую команду в нашу конфигурацию Nagios:

sudo vi /usr/local/nagios/etc/objects/commands.cfg

Добавьте следующее в конец файла:

define command{
       command_name check_nrpe
       command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Сохранить и выйти. Это позволяет вам использовать команду + check_nrpe + в ваших определениях сервиса Nagios.

Настройте Apache

Используйте htpasswd, чтобы создать пользователя-администратора с именем «nagiosadmin», который может получить доступ к веб-интерфейсу Nagios:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users

Введите пароль в командной строке. Запомните этот логин, так как он понадобится вам для доступа к веб-интерфейсу Nagios.

Nagios готов к запуску. Давайте сделаем это и перезапустите Apache:

sudo systemctl daemon-reload
sudo systemctl start nagios.service
sudo systemctl restart httpd.service

Чтобы включить Nagios при загрузке сервера, выполните следующую команду:

sudo chkconfig nagios on
Необязательно: ограничить доступ по IP-адресу

Если вы хотите ограничить IP-адреса, которые могут получить доступ к веб-интерфейсу Nagios, вам нужно отредактировать файл конфигурации Apache:

sudo vi /etc/httpd/conf.d/nagios.conf

Найдите и прокомментируйте следующие две строки, добавив перед ними символы + # +:

Order allow,deny
Allow from all

Затем раскомментируйте следующие строки, удалив символы + # +, и добавьте IP-адреса или диапазоны (разделенные пробелами), которые вы хотите разрешить в строке + Allow from +:

#  Order deny,allow
#  Deny from all
#  Allow from 127.0.0.1

Поскольку эти строки появятся дважды в файле конфигурации, вам придется выполнить эти шаги еще раз.

Сохранить и выйти.

Теперь запустите Nagios и перезапустите Apache, чтобы изменения вступили в силу:

sudo systemctl restart nagios.service
sudo systemctl restart httpd.service

Nagios сейчас запущен, так что давайте попробуем войти в систему.

Доступ к веб-интерфейсу Nagios

Откройте ваш любимый веб-браузер и перейдите на сервер Nagios (замените выделенный фрагмент IP-адресом или именем хоста):

http:///nagios

Поскольку мы настроили Apache для использования htpasswd, вы должны ввести учетные данные, которые вы создали ранее. Мы использовали «nagiosadmin» в качестве имени пользователя:

изображение: https: //assets.digitalocean.com/articles/nagios/htpasswd_prompt.png [запрос аутентификации htaccess]

После аутентификации вы увидите домашнюю страницу Nagios по умолчанию. Нажмите на ссылку * Hosts * в левой панели навигации, чтобы увидеть, какие хосты отслеживает Nagios:

изображение: https: //assets.digitalocean.com/articles/nagios/hosts_link.png [Страница хостов Nagios]

Как видите, Nagios отслеживает только «localhost» или самого себя.

Давайте следить за другим хостом с помощью Nagios!

Мониторинг хоста CentOS 7 с помощью NRPE

В этом разделе мы покажем вам, как добавить новый хост в Nagios, поэтому он будет отслеживаться. Повторите этот раздел для каждого сервера CentOS или RHEL, который вы хотите отслеживать.

На сервере, который вы хотите отслеживать, установите репозиторий EPEL:

sudo yum install epel-release

Теперь установите плагины Nagios и NRPE:

sudo yum install nrpe nagios-plugins-all

Теперь давайте обновим файл конфигурации NRPE. Откройте его в своем любимом редакторе (мы используем vi):

sudo vi /etc/nagios/nrpe.cfg

Найдите директиву + allow_hosts + и добавьте частный IP-адрес вашего сервера Nagios в список, разделенный запятыми (замените его вместо выделенного примера):

allowed_hosts=127.0.0.1

Сохранить и выйти. Это настраивает NRPE для приема запросов от вашего сервера Nagios через его частный IP-адрес.

Перезапустите NRPE, чтобы изменения вступили в силу:

sudo systemctl start nrpe.service
sudo systemctl enable nrpe.service

Как только вы закончите установку и настройку NRPE на хостах, которые вы хотите отслеживать, вам нужно будет добавить эти хосты в конфигурацию вашего сервера Nagios, прежде чем он начнет их мониторинг.

Добавить хост в конфигурацию Nagios

На вашем сервере Nagios создайте новый файл конфигурации для каждого из удаленных хостов, которые вы хотите отслеживать, в + / usr / local / nagios / etc / servers / +. Замените выделенное слово yourhost на имя вашего хоста:

sudo vi /usr/local/nagios/etc/servers/.cfg

Добавьте следующее определение хоста, заменив значение + host_name + на ваше удаленное имя хоста (в данном примере «web-1»), значение + alias + описанием хоста и значение + address + на частный IP-адрес удаленного хоста:

define host {
       use                             linux-server
       host_name
       alias
       address
       max_check_attempts              5
       check_period                    24x7
       notification_interval           30
       notification_period             24x7
}

С помощью приведенного выше файла конфигурации Nagios будет отслеживать только то, работает ли хост или нет. Если вам этого достаточно, сохранитесь и выйдите, затем перезапустите Nagios. Если вы хотите отслеживать определенные службы, читайте дальше.

Добавьте любой из этих сервисных блоков для сервисов, которые вы хотите отслеживать. Обратите внимание, что значение check_command определяет, что будет отслеживаться, включая пороговые значения состояния. Вот несколько примеров, которые вы можете добавить в файл конфигурации вашего хоста:

Пинг:

define service {
       use                             generic-service
       host_name
       service_description             PING
       check_command                   check_ping!100.0,20%!500.0,60%
}

SSH (notifications_enabled, установленный в 0, отключает уведомления для службы):

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

Если вы не уверены, что означает + использование generic-service +, это просто наследование значений шаблона службы, называемого «generic-service», который определен по умолчанию.

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

sudo systemctl reload nagios.service

Как только вы закончите настройку Nagios для мониторинга всех ваших удаленных хостов, вы должны быть настроены. Обязательно получите доступ к веб-интерфейсу Nagios и перейдите на страницу * Services *, чтобы увидеть все ваши контролируемые хосты и сервисы:

изображение: https: //assets.digitalocean.com/articles/nagios/services.png [Страница служб Nagios]

Заключение

Теперь, когда вы отслеживаете свои хосты и некоторые из их сервисов, вы можете потратить некоторое время на то, чтобы выяснить, какие сервисы важны для вас, чтобы вы могли начать их мониторинг. Возможно, вы также захотите настроить уведомления, чтобы, например, вы получали электронное письмо, когда использование вашего диска достигает критического или критического порога или ваш основной веб-сайт не работает, чтобы вы могли разрешить ситуацию незамедлительно или даже до возникновения проблемы.

Удачи!

Related