Мониторинг. · 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 updateapt upgrade
На следующем этапе запустите новую команду для установки некоторых необходимых утилит, которые будут использоваться для дальнейшего управления вашей системой из командной строки.
apt install wget unzip zip bash-completionДалее настройте имя вашей системы, выполнив следующую команду:
hostnamectl set-hostname nagios.server.lanПроверьте имя хоста машины и файл hosts, выполнив следующие команды.
hostnamectlcat /etc/hostnamecat /etc/hostsНаконец, перезагрузите систему, чтобы применить новое имя хоста.
init 6Nagios — это веб-приложение для мониторинга, часть которого написана на языке программирования 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
Проверяя вывод команды netstat, вы можете увидеть, что веб-сервер apache слушает входящие сетевые соединения на порту 80.
В случае, если у вас включен межсетевой экран в вашей системе, такой как приложение UFW, вы должны добавить новое правило, чтобы разрешить HTTP-трафик проходить через межсетевой экран, выполнив следующую команду.
ufw allow WWWили
ufw allow 80/tcpВ случае, если вы хотите использовать iptables для разрешения входящего трафика на порт 80 в межсетевом экране, чтобы посетители могли просматривать веб-интерфейс Nagios Core, добавьте следующее правило.
apt-get install -y iptables-persistentiptables -I INPUT -p tcp --destination-port 80 -j ACCEPTsystemctl iptables-persistent savesystemctl iptables-persistent reloadДалее включите и примените следующие модули Apache, необходимые для правильной работы веб-приложения Nagios, выполнив следующую команду.
a2enmod rewrite headers cgisystemctl restart apache2
Наконец, проверьте, может ли веб-страница по умолчанию веб-сервера Apache отображаться в браузере вашего клиента, посетив IP-адрес вашей машины Debian или доменное имя через протокол HTTP, как показано на изображении ниже. Если вы не знаете свой IP-адрес машины, выполните команды ifconfig или ip a.

На следующем этапе нам нужно внести некоторые изменения в файл конфигурации 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.phpsystemctl restart apache2Проверьте, правильно ли настроен часовой пояс PHP, посетив файл скрипта phpinfo из браузера по следующему URL, как показано на изображении ниже. Прокрутите вниз до настройки даты, чтобы проверить настройку часового пояса 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.gzcd nagios-4.3.4/ls
Находясь внутри извлеченной директории исходников Nagios, начните процесс компиляции Nagios из исходников, выполнив следующие команды. Сначала настройте Nagios для компиляции с конфигурационным путем веб-сервера Apache, указывающим на директорию sites-enabled.
./configure --with-httpd-conf=/etc/apache2/sites-enabledЗатем скомпилируйте Nagios, выполнив следующую команду, как показано на изображениях ниже.
make all

Далее создайте системного пользователя и группу nagios и добавьте учетную запись nagios в пользователя времени выполнения Apache, чтобы пользователь nagios имел необходимые разрешения для доступа к веб-ресурсам.
useradd nagiosusermod -a -G nagios www-dataТеперь начните установку бинарных файлов Nagios, CGI-скриптов и HTML-файлов, выполнив следующую команду. Финальный вывод команды make install должен отобразить расположение бинарных файлов, как показано на изображении ниже.
make install
Далее установите файлы инициализации системы Nagios daemon и включите службу nagios по всей системе, выполнив следующие команды.
make install-initsystemctl enable nagios.service
Также установите и настройте внешний файл команд Nagios, выполнив следующую команду.
make install-commandmodeДалее выполните следующую команду, чтобы установить образцы файлов конфигурации Nagios, которые необходимы демону Nagios для запуска и правильной работы.
make install-config
Наконец, установите файл конфигурации веб-сервера Apache для Nagios, который будет находиться в директории /etc/apacahe2/sites-enabled/, выполнив следующую команду.
make install-webconf
Создайте учетную запись пользователя nagiosadmin с соответствующим паролем, необходимым веб-серверу Apache для возможности входа в веб-инструмент Nagios, выполнив следующую команду.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminЧтобы получить доступ к веб-панели Nagios, сначала перезапустите веб-сервер Apache и запустите службу Nagios, выполнив следующие команды.
systemctl restart apache2systemctl start nagiosЗатем войдите в веб-интерфейс Nagios, открыв браузер и посетив IP-адрес вашего сервера или доменное имя или FQDN и добавив путь URL /nagios через протокол HTTP, как показано на скриншотах ниже. Используйте пользователя nagiosadmin с паролем, настроенным ранее для этого пользователя, чтобы войти в веб-интерфейс 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.gzcd nagios-plugins-release-2.2.1/
Чтобы скомпилировать и установить плагины Nagios из исходников, выполните следующие скрипты и команды с правами root, как показано в следующем фрагменте.
./tools/setup./configuremakemake installПосле установки всех плагинов вы можете найти их по системному пути /usr/local/nagios/libexec/. Выполните команду ls, чтобы проверить все содержимое директории /usr/local/nagios/libexec/ и увидеть, какие плагины доступны для Nagios в вашей системе.
ls /usr/local/nagios/libexec/
Чтобы движок Nagios мог использовать установленные плагины, вам нужно перезапустить и проверить статус службы nagios с помощью следующих команд.
systemctl restart nagios.servicesystemctl status nagios.serviceЧтобы протестировать, работают ли плагины Nagios как ожидалось, снова войдите в веб-интерфейс Nagios, открыв браузер и посетив IP-адрес вашего сервера, FQDN или доменное имя и перейдите в меню Хосты или Сервисы, как показано на скриншоте ниже. Мониторируемые хосты и сервисы теперь должны проверяться плагинами и отображать правильный вывод в зависимости от статуса выхода команды плагина. Отображаемые цвета: зеленый для OK, желтый для Предупреждения и красный для Критического.

Чтобы использовать протокол HTTPS для доступа к веб-интерфейсу движка Nagios через защищенное соединение, выполните следующую команду, чтобы включить модуль SSL веб-сервера Apache и файл конфигурации SSL сайта.
a2enmod ssla2ensite default-ssl.confДалее, чтобы заставить посетителей автоматически перенаправляться на протокол HTTPS каждый раз, когда они посещают веб-интерфейс Nagios из своих браузеров, откройте файл /etc/apache2/sites-enabled/000-default.conf для редактирования и добавьте следующие правила переписывания после оператора DocumentRoot, как показано в следующем примере.
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}/$1
Наконец, перезапустите демон 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 ACCEPTsystemctl iptables-persistent savesystemctl iptables-persistent reloadТеперь вы должны автоматически перенаправляться на веб-панель Nagios через протокол HTTPS. Поскольку вы используете автоматически сгенерированные самоподписанные сертификаты, выданные Apache при установке, в браузере должно появиться предупреждение об ошибке. Примите предупреждение браузера и войдите в Nagios с учетными данными, настроенными ранее, как показано на скриншоте ниже.

Чтобы добавить новый хост для мониторинга Nagios, откройте файл конфигурации /usr/local/nagios/etc/objects/localhost.cfg для редактирования и добавьте новое устройство после определения localhost, как показано в следующем примере.
define host{
use linux-server
host_name router
alias router
address 192.168.1.1
}
Замените переменные host_name, alias и IP-адрес соответственно и перезапустите демон Nagios, чтобы загрузить новое определение хоста и применить изменения.
systemctl restart nagiosЧто через несколько минут и перейдите в меню Хосты в веб-интерфейсе Nagios, чтобы проверить статус устройства, как показано на изображении ниже.

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