В инструкции описан процесс установки и настройки системы контроля Nagios на виртуальный сервер под управлением операционной системы Ubuntu Server.
Что это такое?
Nagios - бесплатное программное обеспечение с открытым исходным кодом, которое предназначено для контроля системы, сети и инфраструктуры. Nagios имеет возможности мониторинга серверов, коммутаторов, приложений и сервисов. Он предупреждает пользователей, когда что-то идет не так, и оповещает повторно второй раз, когда проблема решена.
Загрузка и настройка
Для начала обновите локальную базу пакетов:
sudo apt update
Установите все необходимые программы и модули:
sudo apt install build-essential apache2 php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev daemon wget apache2-utils unzip<Создайте пользователя nagios и группу nagcmd, которые необходимы для запуска и корректной работы nagios:
sudo useradd nagios
sudo groupadd nagcmd
Добавьте пользователя nagios и www-data в созданную группу:
sudo usermod -a -G nagcmd nagios
sudo usermod -a -G nagcmd www-data
Загрузите актуальную версию продукта с помощью wget в домашний каталог:
cd ~
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.1.tar.gz
Актуальную версию можно найти на сайте разработчиков.
Разархивируйте содержимое скачанного архива и зайдите в каталог:
tar -zxvf ~/nagios-4.4.1.tar.gz
cd nagios-4.4.1/
Перед созданием Nagios запустите скрипт configure, чтобы указать пользователя и группу, которые необходимо использовать. Используйте пользователя nagios и группу nagcmd, которые были созданы ранее:
./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/
Далее скомпилируйте Nagios:
make all
Теперь запустите эти команды make, чтобы установить Nagios, сценарии инициализации и файлы конфигурации по умолчанию:
sudo make install
sudo make install-init
sudo make install-config
sudo make install-commandmode
sudo make install-webconf
Откройте с помощью текстового редактора файл contacts.cfg:
sudo vi /usr/local/nagios/etc/objects/contacts.cfg
Внесите в поле email переменной contact почтовый адрес, на который будут приходить уведомления:
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email admin@1cloud.ru
}
С помощью следующей команды задайте и подтвердите пароль для администратора:
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
С помощью a2enmod включите модуль cgi для запуска cgi-скриптов:
sudo a2enmod cgi
Перезапустите apache:
sudo service apache2 restart
Загрузка и настройка плагинов
Загрузите актуальную версию продукта с помощью wget в домашний каталог:
cd ~
wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
Актуальную версию можно найти на сайте разработчиков.
Разархивируйте содержимое скачанного архива и зайдите в каталог:
tar -zxvf ~/nagios-plugins-2.2.1.tar.gz
cd ~/nagios-plugins-2.2.1
Выполните компиляцию модулей:
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
Чтобы проверить корректность конфигурации, выполните следующую команду:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
В результате должно отобразить сообщение со следующей информацией в конце:
[...] Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Запуск
Если вам необходимо при загрузке сервера запускать nagios, то создайте специальный uint файл:
sudo vi /etc/systemd/system/nagios.service
И вставьте в него следующие строки:
[Unit]
Description=Nagios
BindTo=network.target
[Install]
WantedBy=multi-user.target
[Service]
User=nagios
Group=nagios
Type=simple
ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg
Не забудьте настроить firewall и открыть порт http для подключения к системе из браузера:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables-save
Примечание: подробно о настройке firewall в Linux с помощью iptables вы можете прочитать в нашей статье.
Запустите nagios:
sudo systemctl start nagios
В браузере перейдите по следующему адресу:
<ip-адрес_или_домен>/nagios
Например:
111.111.111.111/nagios
В поле имя пользователя введите логин, в поле пароль, соответственно, созданный ранее пароль.
Перед вами появится стартовая страница.
Теперь вы можете выполнять мониторинг хоста.