Поиск по сайту:

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


Это руководство существует для этих версий ОС

  • Debian 9 (растянутый)
  • Debian 5 (Ленни)

На этой странице

  1. Требования
  2. Исходная конфигурация
  3. Установите ядро Nagios
  4. Установите подключаемые модули Nagios

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

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

Требования

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

Начальная конфигурация

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

apt update
apt upgrade

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

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. Для запуска файловых скриптов Nagios PHP в системе должны быть установлены и работать веб-сервер, например HTTP-сервер Apache, и шлюз обработки 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-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 по умолчанию отображаться в браузере вашего клиента, посетив IP-адрес или доменное имя вашего компьютера Debian по протоколу HTTP, как показано на рисунке ниже. Если вы не знаете IP-адрес своего компьютера, выполните команды ifconfig или ip a.

http://192.168.1.14

На следующем шаге нам нужно внести некоторые дополнительные изменения в файл конфигурации PHP по умолчанию, чтобы убедиться, что параметр часового пояса 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 '<?php phpinfo(); ?>'| tee /var/www/html/info.php
systemctl restart apache2

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

http://192.168.1.14/info.php

Установите ядро Nagios

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

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

После того, как в вашей системе Debian будут установлены все необходимые зависимости и пакеты для компиляции Nagios из исходных кодов, посетите официальный веб-сайт 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

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

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

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

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

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

make all

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

useradd nagios
usermod -a -G nagios www-data

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

make install

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

make install-init
systemctl 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, сначала перезапустите HTTP-сервер Apache и запустите службу Nagios, введя следующие команды.

systemctl restart apache2
systemctl start nagios

Затем войдите в веб-интерфейс Nagios, открыв браузер и посетив IP-адрес вашего сервера, доменное имя или полное доменное имя и добавьте 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.gz
cd nagios-plugins-release-2.2.1/

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

./tools/setup
./configure
make
make install

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

ls /usr/local/nagios/libexec/

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

systemctl restart nagios.service
systemctl status nagios.service

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

Чтобы использовать протокол 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

Наконец, перезапустите демон 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, откройте файл конфигурации /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 Plugins, посетите страницы документации по следующей ссылке https://support.nagios.com/kb/category.php?id=12.