Мониторинг. · 10 min read · Oct 18, 2025

Как установить инструмент мониторинга Nagios 4.3.x на Debian 9

Этот учебник покажет вам, как установить и настроить последнюю версию Nagios Core, в настоящее время 4.3.4, из исходников в Debian 9.1, кодовое имя Stretch.

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

Требования

  • Установленный Debian 9.1 на физической машине или на виртуальном частном сервере. Предпочтительно, чтобы установка выполнялась с минимальными требованиями к программному обеспечению.
  • Сетевая карта, настроенная с статическим IP-адресом.
  • Доступ к учетной записи root или пользователю с правами учетной записи root через sudo.
  • Доменное имя, частное или публичное, с правильно настроенными DNS A записями. В случае, если у вас нет настроенного DNS-сервера на вашем предприятии, вы можете получить доступ к Nagios через IP-адрес сервера.

Начальная настройка

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

apt update
apt upgrade

Установка обновлений Debian

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

apt install wget unzip zip bash-completion

Далее настройте имя вашей системы, выполнив следующую команду:

hostnamectl set-hostname nagios.server.lan

Проверьте имя хоста машины и файл hosts, выполнив следующие команды.

hostnamectl
cat /etc/hostname
cat /etc/hosts

Наконец, перезагрузите систему, чтобы применить новое имя хоста.

init 6

Nagios — это веб-приложение для мониторинга, часть которого написана на языке программирования PHP на стороне сервера, а другие программы — CGI. Чтобы запустить скрипты PHP файла Nagios, необходимо установить и запустить веб-сервер, такой как Apache HTTP сервер, и шлюз обработки PHP в системе. Чтобы установить веб-сервер Apache и интерпретатор PHP вместе со всеми необходимыми модулями PHP, необходимыми для правильной работы Nagios 4, выполните следующую команду в консоли вашего сервера.

apt install apache2 libapache2-mod-php7.0 php7.0

После установки Apache и PHP проверьте, работает ли веб-сервер и слушает ли он сетевые соединения на порту 80, выполнив следующую команду с правами root.

netstat –tlpn

В случае, если утилита netstat не установлена по умолчанию в вашей системе Debian 9, выполните следующую команду для ее установки.

apt install net-tools

Проверка установки apache с помощью команды netstat

Проверяя вывод команды netstat, вы можете увидеть, что веб-сервер apache слушает входящие сетевые соединения на порту 80.

В случае, если у вас включен межсетевой экран в вашей системе, такой как приложение UFW, вы должны добавить новое правило, чтобы разрешить HTTP-трафик проходить через межсетевой экран, выполнив следующую команду.

ufw allow WWW

или

ufw allow 80/tcp

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

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Далее включите и примените следующие модули Apache, необходимые для правильной работы веб-приложения Nagios, выполнив следующую команду.

a2enmod rewrite headers cgi
systemctl restart apache2

Включить модули apache

Наконец, проверьте, может ли веб-страница по умолчанию веб-сервера Apache отображаться в браузере вашего клиента, посетив IP-адрес вашей машины Debian или доменное имя через протокол HTTP, как показано на изображении ниже. Если вы не знаете свой IP-адрес машины, выполните команды ifconfig или ip a.

http://192.168.1.14

Страница по умолчанию Apache

На следующем этапе нам нужно внести некоторые изменения в файл конфигурации PHP по умолчанию, чтобы убедиться, что настройка timezone PHP правильно настроена и соответствует вашему физическому местоположению. Откройте файл /etc/php/7.0/apache2/php.ini для редактирования и убедитесь, что следующие строки настроены следующим образом.

date.timezone = Europe/London

Замените переменную часового пояса в соответствии с вашим физическим временем, проконсультировавшись со списком часовых поясов, предоставленным документацией PHP по следующей ссылке http://php.net/manual/en/timezones.php.

Перезапустите демон apache, чтобы применить изменения.

systemctl restart apache2

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

echo ''| tee /var/www/html/info.php
systemctl restart apache2

Проверьте, правильно ли настроен часовой пояс PHP, посетив файл скрипта phpinfo из браузера по следующему URL, как показано на изображении ниже. Прокрутите вниз до настройки даты, чтобы проверить настройку часового пояса php.

http://192.168.1.14/info.php

Проверка настройки часового пояса PHP

Установка Nagios Core

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

apt install autoconf gcc libc6 make apache2-utils libgd-dev

После установки всех необходимых зависимостей и пакетов для компиляции Nagios из исходников на вашей системе Debian, посетите официальный сайт Nagios по адресу https://www.nagios.org/downloads/nagios-core/ и загрузите последнюю стабильную версию архива исходников Nagios Core, выполнив утилиту wget, как показано в следующем фрагменте команды.

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz

После загрузки исходного tarball Nagios извлеките архив tar и перейдите в извлеченную директорию nagios, выполнив следующие команды. Запустите команду ls внутри извлеченной директории nagios, чтобы перечислить исходные файлы.

tar xzf nagios-4.3.4.tar.gz
cd nagios-4.3.4/
ls

Загрузка Nagios

Находясь внутри извлеченной директории исходников Nagios, начните процесс компиляции Nagios из исходников, выполнив следующие команды. Сначала настройте Nagios для компиляции с конфигурационным путем веб-сервера Apache, указывающим на директорию sites-enabled.

./configure --with-httpd-conf=/etc/apache2/sites-enabled

Затем скомпилируйте Nagios, выполнив следующую команду, как показано на изображениях ниже.

make all

Настройка и компиляция Nagios

Сборка Nagios из исходников

Далее создайте системного пользователя и группу nagios и добавьте учетную запись nagios в пользователя времени выполнения Apache, чтобы пользователь nagios имел необходимые разрешения для доступа к веб-ресурсам.

useradd nagios
usermod -a -G nagios www-data

Теперь начните установку бинарных файлов Nagios, CGI-скриптов и HTML-файлов, выполнив следующую команду. Финальный вывод команды make install должен отобразить расположение бинарных файлов, как показано на изображении ниже.

make install

Установка скомпилированных файлов Nagios

Далее установите файлы инициализации системы Nagios daemon и включите службу nagios по всей системе, выполнив следующие команды.

make install-init
systemctl enable nagios.service

Установка файлов инициализации Nagios

Также установите и настройте внешний файл команд Nagios, выполнив следующую команду.

make install-commandmode

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

make install-config

Установка образцов файлов конфигурации Nagios

Наконец, установите файл конфигурации веб-сервера Apache для Nagios, который будет находиться в директории /etc/apacahe2/sites-enabled/, выполнив следующую команду.

make install-webconf

Установка конфигурации веб-сервера Nagios apache

Создайте учетную запись пользователя nagiosadmin с соответствующим паролем, необходимым веб-серверу Apache для возможности входа в веб-инструмент Nagios, выполнив следующую команду.

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

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

systemctl restart apache2
systemctl start nagios

Затем войдите в веб-интерфейс Nagios, открыв браузер и посетив IP-адрес вашего сервера или доменное имя или FQDN и добавив путь URL /nagios через протокол HTTP, как показано на скриншотах ниже. Используйте пользователя nagiosadmin с паролем, настроенным ранее для этого пользователя, чтобы войти в веб-интерфейс Nagios.

Вход в Nagios

Панель управления Nagios

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

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

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

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

apt install libmcrypt-dev make libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext libldap2-dev smbclient fping default-libmysqlclient-dev

После установки всех пакетов зависимостей в вашей системе перейдите на страницу репозитория плагинов Nagios, посетив следующий адрес https://github.com/nagios-plugins/nagios-plugins/releases и загрузите последний архив исходного кода с помощью утилиты wget, как показано в следующем примере команды.

wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz

Затем извлеките сжатый архив исходного кода плагинов Nagios и перейдите в извлеченную директорию nagios-plugins, выполнив следующие команды.

tar xfz release-2.2.1.tar.gz
cd nagios-plugins-release-2.2.1/

Загрузка плагинов Nagios

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

./tools/setup
./configure
make
make install

После установки всех плагинов вы можете найти их по системному пути /usr/local/nagios/libexec/. Выполните команду ls, чтобы проверить все содержимое директории /usr/local/nagios/libexec/ и увидеть, какие плагины доступны для Nagios в вашей системе.

ls /usr/local/nagios/libexec/

Директория Nagios Libexec

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

systemctl restart nagios.service
systemctl status nagios.service

Чтобы протестировать, работают ли плагины Nagios как ожидалось, снова войдите в веб-интерфейс Nagios, открыв браузер и посетив IP-адрес вашего сервера, FQDN или доменное имя и перейдите в меню Хосты или Сервисы, как показано на скриншоте ниже. Мониторируемые хосты и сервисы теперь должны проверяться плагинами и отображать правильный вывод в зависимости от статуса выхода команды плагина. Отображаемые цвета: зеленый для OK, желтый для Предупреждения и красный для Критического.

Мониторинг сервисов Nagios

Чтобы использовать протокол HTTPS для доступа к веб-интерфейсу движка Nagios через защищенное соединение, выполните следующую команду, чтобы включить модуль SSL веб-сервера Apache и файл конфигурации SSL сайта.

a2enmod ssl
a2ensite default-ssl.conf

Далее, чтобы заставить посетителей автоматически перенаправляться на протокол HTTPS каждый раз, когда они посещают веб-интерфейс Nagios из своих браузеров, откройте файл /etc/apache2/sites-enabled/000-default.conf для редактирования и добавьте следующие правила переписывания после оператора DocumentRoot, как показано в следующем примере.

RewriteEngine on  
RewriteCond %{HTTPS} off  
RewriteRule ^(.*) https://%{HTTP_HOST}/$1

Включить https в apache

Наконец, перезапустите демон Apache, чтобы применить все настроенные правила, и посетите веб-интерфейс Nagios через протокол HTTP.

systemctl restart apache2.service

Чтобы проверить, слушает ли Apache на порту HTTPS, выполните команду netstat и ищите привязку порта 443, как показано на изображении ниже.

netstat -tlpn

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

ufw allow 'WWW Full'

или

ufw allow 443/tcp

В случае, если вы используете межсетевой экран iptables для защиты вашей системы Debian, добавьте следующее правило, чтобы разрешить входящий трафик на порт 443 в межсетевом экране, чтобы посетители могли просматривать веб-интерфейс Nagios Core.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Теперь вы должны автоматически перенаправляться на веб-панель Nagios через протокол HTTPS. Поскольку вы используете автоматически сгенерированные самоподписанные сертификаты, выданные Apache при установке, в браузере должно появиться предупреждение об ошибке. Примите предупреждение браузера и войдите в Nagios с учетными данными, настроенными ранее, как показано на скриншоте ниже.

Nagios с HTTPS

Чтобы добавить новый хост для мониторинга Nagios, откройте файл конфигурации /usr/local/nagios/etc/objects/localhost.cfg для редактирования и добавьте новое устройство после определения localhost, как показано в следующем примере.

define host{  
        use                     linux-server  
        host_name               router  
        alias                   router  
        address                 192.168.1.1  
        }

Редактирование конфигурационного файла nagios

Замените переменные host_name, alias и IP-адрес соответственно и перезапустите демон Nagios, чтобы загрузить новое определение хоста и применить изменения.

systemctl restart nagios

Что через несколько минут и перейдите в меню Хосты в веб-интерфейсе Nagios, чтобы проверить статус устройства, как показано на изображении ниже.

Nagios защищен с SSL / TLS

Вот и все! Вы успешно установили и настроили движок Nagios из исходников в Debian 9. Вы можете начать добавлять сетевые устройства вашей организации, серверы или критические сервисы для мониторинга Nagios. Для других пользовательских конфигураций, касающихся Nagios Core и плагинов Nagios, посетите страницы документации по следующей ссылке https://support.nagios.com/kb/category.php?id=12



Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.