Мониторинг. · 6 min read · Oct 19, 2025

Как установить Nagios Core на CentOS

Nagios — это программное обеспечение с открытым исходным кодом для мониторинга систем и сетей. Nagios может отслеживать активность хоста и его служб и предоставлять предупреждение/уведомление, если что-то пойдет не так на сервере. Nagios может работать на операционных системах Linux, и мы будем использовать сервер CentOS 8.

Этот учебник покажет вам, как установить Nagios Core на систему CentOS 8. Мы установим Nagios Core 4.4.5 из репозитория EPEL, а затем добавим монитор хоста CentOS 8 на сервер Nagios.

Предварительные требования

  • 2 сервера CentOS 8 - сервер Nagios - имя хоста: hakase-nagios с IP: 10.5.5.20
  • Клиент CentOS - имя хоста: client01 с IP: 10.5.5.21
  • Привилегии root

Что мы будем делать:

  • Установить репозиторий EPEL
  • Установить Nagios Core 4.4.5
  • Установить плагин Nagios и плагин NRPE
  • Добавить хост для мониторинга на сервер Nagios
  • Добавить конфигурацию для мониторинга хоста
  • Тестирование

Шаг 1 - Установите репозиторий EPEL

Сначала мы добавим репозиторий EPEL (Дополнительный пакет для корпоративного Linux) в систему CentOS 8. Мы установим пакеты Nagios из репозитория EPEL.

Установите репозиторий EPEL, используя команду dnf ниже.

sudo dnf install epel-release

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

sudo dnf repolist

И вы добавили репозиторий EPEL в систему CentOS 8.

Шаг 2 - Установите и настройте Nagios Core

На этом шаге мы установим и настроим последнюю стабильную версию сервера Nagios 4.4.5 на системе CentOS 8. И мы будем использовать пакет nagios, предоставленный репозиторием EPEL.

Проверьте все доступные пакеты с именем ‘nagios’.

dnf search nagios

Затем проверьте детали пакета ‘nagios’.

dnf info nagios

И вы получите детали о пакете nagios, как показано ниже.

- Установите и настройте Nagios Core 4.4.5

Теперь установите ‘nagios’, используя команду dnf ниже.

sudo dnf install nagios

После завершения установки перейдите в директорию ‘/etc/nagios’ и отредактируйте файл конфигурации ‘nagios.cfg’.

cd /etc/nagios/  
vim nagios.cfg

Уберите комментарий с следующей строки.

cfg_dir=/etc/nagios/servers

Сохраните и закройте.

Теперь создайте новую директорию для хранения всей конфигурации мониторинга хоста.

mkdir -p /etc/nagios/servers

Затем отредактируйте файл конфигурации контактов ‘objects/contacts.cfg’.

vim objects/contacts.cfg

Измените адрес электронной почты на свой собственный.

email       [email protected]

Сохраните и закройте.

И вы настроили сервер Nagios.

- Настройка аутентификации Nagios

Для аутентификации Nagios использует базовую аутентификацию httpd, предоставляемую веб-сервером Apache2.

Теперь создайте новую базовую аутентификацию apache для пользователя ‘nagiosadmin’, используя команду htpasswd ниже.

htpasswd  /etc/nagios/passwd nagiosadmin

Введите и повторите свой надежный пароль, и базовая аутентификация для сервера Nagios была создана.

Далее перейдите в директорию ‘/var/www/html’ и создайте файл index.html.

cd /var/www/html  
echo "This is index.html for Apache" > index.html

Затем запустите службу httpd и добавьте ее в автозагрузку системы.

systemctl enable --now httpd  
systemctl status httpd

И вы создали нового пользователя ‘nagiosadmin’ для сервера Nagios.

- Настройка брандмауэра

Добавьте новые службы http и https в список служб firewalld.

firewall-cmd --add-service=http --permanent  
firewall-cmd --add-service=https --permanent

Перезагрузите firewalld.

firewall-cmd --reload

Теперь вы добавили службы http и https в firewalld. В результате сервер Nagios может быть доступен из веб-браузера.

Шаг 3 - Установите плагин NRPE и плагины Nagios

NRPE (Nagios Remote Plugin Executor) — это агент Nagios, который позволяет удаленной системе выполнять скрипты ‘Nagios Plugins’ на удаленной системе мониторинга.

Установите плагины Nagios и плагины NRPE, используя следующую команду.

sudo dnf install nagios-plugins nrpe nagios-plugins-nrpe

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

Чтобы получить все доступные плагины Nagios, выполните команду ниже.

dnf search nagios-plugins

Теперь вы можете установить плагины Nagios, используя команду bash loop ниже.

for i in users uptime ssh ping procs load http swap disk; do dnf install nagios-plugins-$i -y; done

После завершения всех установок перейдите в директорию ‘/etc/nagios’ и отредактируйте файл конфигурации ‘objects/commands.cfg’.

cd /etc/nagios/  
vim objects/commands.cfg

Вставьте следующую конфигурацию в конец строки.

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

Сохраните и закройте.

Теперь запустите службу Nagios и добавьте ее в автозагрузку системы.

systemctl enable --now nagios

После этого проверьте статус службы Nagios.

systemctl status nagios

Вы получите, что служба Nagios работает.

Теперь откройте веб-браузер и введите URL-адрес сервера Nagios, как показано ниже.

http://10.5.5.20/nagios/

Войдите с пользователем ‘nagiosadmin’ и своим паролем.

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

В результате вы установили сервер Nagios 4.4.5 на систему CentOS 8.

Шаг 4 - Добавьте хост для мониторинга на сервер Nagios

На этом шаге мы добавим систему CentOS 8 на сервер Nagios. Мы добавим сервер CentOS 8 ‘client01’ с IP-адресом ‘10.5.5.21’ на сервер Nagios.

Чтобы добавить хост на сервер Nagios, вам нужно установить NRPE и плагины Nagios на сервер.

На системе ‘client01’ установите сервер NRPE, используя следующую команду.

sudo dnf install nrpe

После этого установите некоторые плагины Nagios, используя команду bash loop ниже.

for i in users uptime ssh ping procs load http swap disk; do dnf install nagios-plugins-$i -y; done

После завершения всех установок перейдите в директорию ‘/etc/nagios’ и отредактируйте файл конфигурации nrpe ‘nrpe.conf’.

cd /etc/nagios/  
vim nrpe.conf

Уберите комментарий с строки ‘server_address’ и измените значение на IP-адрес ‘client01’ ‘10.5.5.21’.

server_address = 10.5.5.71

В строке ‘allowed_hosts’ добавьте IP-адрес сервера Nagios ‘10.5.5.20’.

allowed_hosts=127.0.0.1,::1,10.5.5.70

Определите некоторые команды Nagios для базового мониторинга, как показано ниже.

command[check_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ping]=/usr/lib64/nagios/plugins/check_ping -H 10.5.5.71 -w 100.0,20% -c 500.0,60% -p 5
command[check_ssh]=/usr/lib64/nagios/plugins/check_ssh -4 10.5.5.71
command[check_http]=/usr/lib64/nagios/plugins/check_http -I 10.5.5.71

Сохраните и закройте.

Теперь запустите службу NRPE и добавьте ее в автозагрузку системы.

systemctl enable --now nrpe

Проверьте статус службы NRPE.

systemctl status nrpe

И вы получите, что служба NRPE работает.

Далее добавьте порт nrpe в firewalld и перезагрузите конфигурацию firewalld.

firewall-cmd --add-port=5666/tcp --permanent  
firewall-cmd --reload

И вы завершили конфигурацию NRPE на мониторе хоста ‘client01’.

Теперь вернитесь в терминал сервера Nagios и проверьте хост ‘client01’, используя команду nagios nrpe ниже.

/usr/lib64/nagios/plugins/check_nrpe -H 10.5.5.21  
/usr/lib64/nagios/plugins/check_nrpe -H 10.5.5.21 -c check_ping

В результате вы получите версию NRPE на хосте ‘client01’, и команда ping к ‘client01’ была успешной.

Шаг 5 - Добавьте конфигурацию для мониторинга хоста

Вернитесь на сервер Nagios, перейдите в директорию ‘/etc/nagios/server’ и создайте новую конфигурацию ‘client01.cfg’.

cd /etc/nagios/servers/  
vim client01.cfg

Вставьте следующую конфигурацию в него.

define host {  
        use                             linux-server  
        host_name                       client01  
        alias                           CentOS Host  
        address                         10.5.5.12  
        register                        1  
}  
  
define service {  
      host_name                       client01  
      service_description             PING  
      check_command                   check_nrpe!check_ping  
      max_check_attempts              2  
      check_interval                  2  
      retry_interval                  2  
      check_period                    24x7  
      check_freshness                 1  
      contact_groups                  admins  
      notification_interval            2  
      notification_period              24x7  
      notifications_enabled            1  
      register                        1  
}  
  
define service {  
      host_name                       client01  
      service_description             Check Users  
      check_command                   check_nrpe!check_users  
      max_check_attempts              2  
      check_interval                  2  
      retry_interval                  2  
      check_period                    24x7  
      check_freshness                 1  
      contact_groups                  admins  
      notification_interval            2  
      notification_period              24x7  
      notifications_enabled            1  
      register                        1  
}  
  
define service {  
      host_name                       client01  
      service_description             Check SSH  
      check_command                   check_nrpe!check_ssh  
      max_check_attempts              2  
      check_interval                  2  
      retry_interval                  2  
      check_period                    24x7  
      check_freshness                 1  
      contact_groups                  admins  
      notification_interval            2  
      notification_period              24x7  
      notifications_enabled            1  
      register                        1  
}  
  
define service {  
      host_name                       client01  
      service_description             Check Root / Disk  
      check_command                   check_nrpe!check_root  
      max_check_attempts              2  
      check_interval                  2  
      retry_interval                  2  
      check_period                    24x7  
      check_freshness                 1  
      contact_groups                  admins  
      notification_interval            2  
      notification_period              24x7  
      notifications_enabled            1  
      register                        1  
}  
  
define service {  
      host_name                       client01  
      service_description             Check HTTP  
      check_command                   check_nrpe!check_http  
      max_check_attempts              2  
      check_interval                  2  
      retry_interval                  2  
      check_period                    24x7  
      check_freshness                 1  
      contact_groups                  admins  
      notification_interval            2  
      notification_period              24x7  
      notifications_enabled            1  
      register                        1  
}

Сохраните и закройте.

Теперь перезапустите службу Nagios.

sudo systemctl restart nagios

И вы добавили конфигурацию для хоста ‘client01’ на сервер Nagios.

Шаг 6 - Тестирование

Откройте веб-браузер и войдите в панель управления Nagios.

http://10.5.5.20/nagios/

Нажмите меню ‘Hosts’, и вы увидите ‘client01’ в списке хостов.

Теперь нажмите на имя хоста ‘client01’, и вы получите детали о мониторинге служб для сервера ‘client01’.

В результате вы установили Nagios 4.4.5 на систему CentOS 8 и добавили хост для мониторинга ‘client01’ на сервер Nagios.

Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.