Мониторинг. · 5 min read · Oct 21, 2025
Как установить мониторинг сервера Nagios на Ubuntu 16.04
Nagios — это программное обеспечение с открытым исходным кодом для мониторинга систем и сетей. Nagios может отслеживать активность хоста и его служб и предоставляет предупреждение/уведомление, если что-то идет не так на сервере. Nagios может работать на операционных системах Linux. В данный момент я использую Ubuntu 16.04 для установки.
Предварительные требования
- 2 сервера Ubuntu 16.04 - 64bit - 1 - Хост Nagios с IP: 192.168.1.9
- 2 - Клиент Ubuntu с IP: 192.168.1.10
- Доступ Root/Sudo
Что мы будем делать в этом руководстве:
- Установим зависимости программного обеспечения, такие как - LAMP и т.д.
- Настроим пользователей и группы.
- Установим Nagios.
- Настроим Apache.
- Протестируем сервер Nagios.
- Добавим хост для мониторинга.
Установка предварительных требований
Nagios требует компилятор gcc и пакеты build-essentials для компиляции, LAMP (Apache, PHP, MySQL) для веб-интерфейса Nagios и Sendmail для отправки уведомлений с сервера. Чтобы установить все эти пакеты, выполните эту команду (это всего лишь 1 строка):
sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzipНастройка пользователей и групп
Чтобы Nagios работал, вам нужно создать нового пользователя для Nagios. Мы назовем пользователя “nagios” и дополнительно создадим группу с именем “nagcmd”. Мы добавим нового пользователя в группу, как показано ниже:
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagios,nagcmd www-dataУстановка Nagios
Шаг 1 - Скачивание и извлечение ядра Nagios
cd ~
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.2.0Шаг 2 - Компиляция Nagios
Перед тем как собрать Nagios, вам нужно будет настроить его с пользователем и группой, которые вы создали ранее.
./configure --with-nagios-group=nagios --with-command-group=nagcmdДля получения дополнительной информации используйте: ./configure –help.
Теперь установим Nagios:
make all
sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.confИ скопируем директорию evenhandler в директорию nagios:
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlersШаг 3 - Установка плагинов Nagios
Скачайте и извлеките плагины Nagios:
cd ~
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin-2.1.2/Установите плагины Nagios с помощью следующих команд:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
make installШаг 4 - Настройка Nagios
После завершения установки вы можете найти конфигурацию по умолчанию Nagios в /usr/local/nagios/.
Мы настроим Nagios и контакт Nagios.
Отредактируйте конфигурацию nagios по умолчанию с помощью vim:
vim /usr/local/nagios/etc/nagios.cfgраскомментируйте строку 51 для настройки мониторинга хоста.
cfg_dir=/usr/local/nagios/etc/serversСохраните и выйдите.
Добавьте новую папку с именем servers:
mkdir -p /usr/local/nagios/etc/serversКонтакт Nagios можно настроить в файле contact.cfg. Чтобы открыть его, используйте:
vim /usr/local/nagios/etc/objects/contacts.cfgЗатем замените адрес электронной почты по умолчанию на свой собственный адрес.
Настройка Apache
Шаг 1 - Включение модулей Apache
sudo a2enmod rewrite
sudo a2enmod cgiВы можете использовать команду htpasswd для настройки пользователя nagiosadmin для веб-интерфейса nagios
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminи введите свой пароль.
Шаг 2 - Включение виртуального хоста Nagios
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/Шаг 3 - Запуск Apache и Nagios
service apache2 restart
service nagios startКогда Nagios запускается, вы можете увидеть следующую ошибку:
Starting nagios (via systemctl): nagios.serviceFailedИ вот как это исправить:
cd /etc/init.d/
cp /etc/init.d/skeleton /etc/init.d/nagiosТеперь отредактируйте файл Nagios:
vim /etc/init.d/nagios… и добавьте следующий код:
DESC="Nagios"
NAME=nagios
DAEMON=/usr/local/nagios/bin/$NAME
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"
PIDFILE=/usr/local/nagios/var/$NAME.lockСделайте его исполняемым и запустите Nagios:
chmod +x /etc/init.d/nagios
service apache2 restart
servuce nagios startТестирование сервера Nagios
Пожалуйста, откройте ваш браузер и получите доступ к IP сервера Nagios, в моем случае: http://192.168.1.9/nagios.
Вход в Nagios с помощью apache htpasswd.

Панель управления администратором Nagios

Добавление хоста для мониторинга
В этом руководстве я добавлю хост Ubuntu для мониторинга на сервер Nagios, который мы создали выше.
IP сервера Nagios : 192.168.1.9
IP хоста Ubuntu : 192.168.1.10Шаг 1 - Подключение к хосту ubuntu
ssh [email protected]Шаг 2 - Установка службы NRPE
sudo apt-get install nagios-nrpe-server nagios-pluginsШаг 3 - Настройка NRPE
После завершения установки отредактируйте файл nrpe /etc/nagios/nrpe.cfg:
vim /etc/nagios/nrpe.cfg… и добавьте IP сервера Nagios 192.168.1.9 в server_address.
server_address=192.168.1.9
Шаг 4 - Перезапуск NRPE
service nagios-nrpe-server restartШаг 5 - Добавление хоста Ubuntu на сервер Nagios
Пожалуйста, подключитесь к серверу Nagios:
ssh [email protected]Затем создайте новый файл для конфигурации хоста в /usr/local/nagios/etc/servers/.
vim /usr/local/nagios/etc/servers/ubuntu_host.cfgДобавьте следующие строки:
# Файл конфигурации хоста Ubuntu
define host {
use linux-server
host_name ubuntu_host
alias Ubuntu Host
address 192.168.1.10
register 1
}
define service {
host_name ubuntu_host
service_description PING
check_command check_ping!100.0,20%!500.0,60%
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 ubuntu_host
service_description Check Users
check_command check_local_users!20!50
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 ubuntu_host
service_description Local Disk
check_command check_local_disk!20%!10%!/
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 ubuntu_host
service_description Check SSH
check_command 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 ubuntu_host
service_description Total Process
check_command check_local_procs!250!400!RSZDT
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
}Вы можете найти много check_command в файле /usr/local/nagios/etc/objects/commands.cfg. Посмотрите там, если хотите добавить больше служб, таких как DHCP, POP и т.д.
А теперь проверьте конфигурацию:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg… чтобы увидеть, правильна ли конфигурация.

Шаг 6 - Перезапуск всех служб
На хосте Ubuntu запустите службу NRPE:
service nagios-nrpe-server restart… и на сервере Nagios запустите Apache и Nagios:
service apache2 restart
service nagios restartШаг 7 - Тестирование хоста Ubuntu
Откройте сервер Nagios в браузере и посмотрите, как мониторится ubuntu_host.
Хост Ubuntu доступен на мониторируемом хосте.

Все службы мониторятся без ошибок.

Заключение
Nagios — это приложение с открытым исходным кодом для мониторинга системы. Nagios широко используется благодаря простоте настройки. Nagios поддерживается различными плагинами, и вы даже можете создать свои собственные плагины. Смотрите здесь для получения дополнительной информации.
Get new posts in your inbox
No spam. Unsubscribe anytime.