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

Как установить инструмент мониторинга Icinga2 в Ubuntu 20.04/22.04


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

Icinga2 масштабируется и может отслеживать как малые, так и большие и сложные сети в разных местах. В этом руководстве вы узнаете, как установить инструмент мониторинга Icinga2 в Ubuntu 20.04 и Ubuntu 22.04.

Шаг 1. Установите Apache, MariaDB и PHP.

Начнем с установки Apache, MariaDB и PHP с дополнительными модулями PHP, которые потребуются во время окончательной установки. Icinga2 в веб-браузере.

sudo apt install apache2 mariadb-server mariadb-client mariadb-common php php-gd php-mbstring php-mysqlnd php-curl php-xml php-cli php-soap php-intl php-xmlrpc php-zip  php-common php-opcache php-gmp php-imagick php-pgsql -y

После установки убедитесь, что все службы работают. Если да, выполните следующие команды.

sudo systemctl start {apache2,mariadb}
sudo systemctl enable {apache2,mariadb}
sudo systemctl status {apache2,mariadb}

Далее вам нужно использовать сценарий mysql_secure_installation, чтобы установить пароль для учетной записи root базы данных, удалить анонимных пользователей, запретить удаленный вход в систему root и удалить тестовую базу данных.

sudo mysql_secure_installation

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

Откройте файл в предпочитаемом вами редакторе. Здесь. мы используем редактор командной строки nano.


sudo nano /etc/php/8.1/apache2/php.ini   [On Ubuntu 22.04]
sudo nano /etc/php/7.4/apache2/php.ini   [On Ubuntu 20.04]

Внесите следующие изменения в следующие параметры.

memory_limit = 256M 
post_max_size = 64M
upload_max_filesize = 100M	
max_execution_time = 300
default_charset = "UTF-8"
date.timezone = "Asia/Kolkata"
cgi.fix_pathinfo=0

Для параметра date.timezone обязательно настройте его так, чтобы он отражал ваш текущий часовой пояс. Вот список часовых поясов, поддерживаемых PHP.

Чтобы применить внесенные изменения, просто перезапустите веб-сервер Apache.

sudo systemctl restart apache2

Шаг 2. Установите Icinga2 в Ubuntu

Закончив с настройкой PHP, мы приступим к установке Icinga2. Однако репозиторий Icinga2 не входит в состав репозиториев Ubuntu 20.04. Таким образом, нам необходимо вручную добавить репозиторий в вашу систему.

Поэтому начните с добавления ключа GPG с помощью команды curl.

curl https://packages.icinga.com/icinga.key | apt-key add -

Затем создайте файл репозитория для Icinga2.

sudo vim /etc/apt/sources.list.d/icinga-focal.list

Добавьте следующие записи.

deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main

Сохраните и выйдите из файла.

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

sudo apt update

Затем установите Icinga2 и плагины мониторинга.

sudo apt install icinga2 monitoring-plugins

После завершения установки включите и запустите службу Icinga2.

sudo systemctl enable icinga2
sudo systemctl start icinga2

Чтобы убедиться, что служба Icinga2 запущена, выполните:

sudo systemctl status icinga2

Вывод показывает, что демон Icinga2 запущен, и все готово.

Шаг 3. Установите модуль IDO Icinga2.

Вывод данных Icinga2 (IDO) экспортирует всю информацию о конфигурации и состоянии в базу данных. База данных IDO затем используется Icinga Web 2 в качестве базы данных.

Для установки модуля выполните команду

sudo apt install icinga2-ido-mysql -y

По пути на терминале будет отображаться всплывающее окно. Чтобы включить функцию ido-mysql Icinga2, выберите «Да» и нажмите ENTER.

Для пакета icinga2-ido-mysql требуется установленная и настроенная база данных. Это можно сделать с помощью dbconfig-common, но мы собираемся создать базу данных самостоятельно. Поэтому выберите «Нет» и откажитесь от этой опции.

Затем войдите на свой сервер базы данных MariaDB.

sudo mysql -u root -p

Затем создайте базу данных и пользователя базы данных для пакета icinga2-ido-mysql и предоставьте этому пользователю все права доступа к базе данных.

> CREATE DATABASE icinga_ido_db;
> GRANT ALL ON icinga_ido_db.* TO 'icinga_ido_user'@'localhost' IDENTIFIED BY 'Password321';
> FLUSH PRIVILEGES;
> EXIT;

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

sudo mysql -u root -p icinga_ido_db < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Шаг 4. Включите модуль Icinga2 IDO.

Чтобы включить связь базы данных icinga2-ido-mysql с Icinga Web 2, нам нужно пойти еще дальше и внести изменения в файл конфигурации по умолчанию.

Откройте файл конфигурации icinga2-ido-mysql.

sudo vim /etc/icinga2/features-available/ido-mysql.conf

Отредактируйте следующие записи и установите их в соответствии с данными базы данных icinga2-ido-mysql, как указано в шаге 3.

Сохраните изменения и выйдите.

Затем включите функцию icinga2-ido-mysql.

sudo icinga2 feature enable ido-mysql

Чтобы изменения вступили в силу, перезапустите Icinga2.

sudo systemctl restart icinga2 

Шаг 5. Установите и настройте IcingaWeb2.

Последний компонент, который необходимо установить и настроить, — это IcingaWeb 2, который представляет собой быструю, мощную и расширяемую платформу PHP, выступающую в качестве внешнего интерфейса для Icinga2.

Итак, установите IcingaWeb2 и Icinga CLI, запустите команду.

sudo apt install icingaweb2 icingacli -y

Нам нужно создать вторую схему базы данных, которая будет предназначена для Icinga Web 2.

Еще раз войдите на сервер базы данных.

sudo mysql -u root -p

Затем создайте базу данных и пользователя базы данных для Icingaweb2 и предоставьте все разрешения пользователю базы данных в базе данных.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO 'icingaweb2user'@'localhost' IDENTIFIED BY 'P@ssword';
> FLUSH PRIVILEGES;
> EXIT;

После этого создайте токен установки с помощью следующей команды. Токен настройки будет использоваться во время аутентификации при настройке Icinga2 в браузере.

sudo icingacli setup token create

В случае, если вы потеряете или забудете токен, вы можете просмотреть его, выполнив команду:

sudo icingacli setup token show

Шаг 6. Завершите установку IcingaWeb2 в Ubuntu

Имея все настройки, мы завершим настройку Icinga2 в веб-браузере. Итак, запустите браузер и перейдите по указанному URL-адресу.

http://server-ip/icingaweb2/setup

Вы попадете на страницу приветствия, как показано на рисунке. Помните созданный вами токен установки? Скопируйте и вставьте его в текстовое поле и нажмите «Далее».

На странице «Модули» модуль «Мониторинг» включен по умолчанию. Однако вы можете включить предпочитаемые вами модули.

Затем прокрутите вниз и нажмите «Далее».

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

Затем прокрутите вниз и нажмите «Далее».

На странице «Аутентификация» выберите «База данных» в качестве типа аутентификации и нажмите «Далее».

В разделе «Ресурс базы данных» введите данные базы данных для IcingaWeb2, как указано в Шаге 5.

Затем прокрутите вниз и нажмите «Проверить конфигурацию», чтобы проверить данные базы данных.

Если все прошло хорошо, конфигурация базы данных будет успешно проверена. После успешной проверки прокрутите вниз и нажмите «Далее».

На следующем шаге нажмите «Далее», чтобы принять значения по умолчанию.

В разделе «Конфигурация приложения» нажмите «Далее», чтобы принять значения по умолчанию.

На следующем этапе потратьте некоторое время и просмотрите все изменения для Icinga Web 2. Убедитесь, что все конфигурации верны, и можете вернуться назад и внести необходимые исправления.

Если все в порядке, прокрутите вниз и нажмите «Далее».

Последний раздел веб-настройки Icinga2 влечет за собой настройку модуля мониторинга. Итак, нажмите «Далее».

Затем заполните данные базы данных для модуля Icinga2 IDO, как указано в Шаге 3.

Затем прокрутите вниз и нажмите «Проверить конфигурацию».

Еще раз: проверка данных базы данных должна пройти успешно. Если вы получили ошибку, вернитесь назад и убедитесь, что все данные верны.

Чтобы перейти к следующему шагу, прокрутите вниз и нажмите «Далее».

В разделе «Командный транспорт» выберите «Локальный командный файл» в качестве типа транспорта и нажмите «Далее».

В разделе «Мониторинг безопасности» просто нажмите «Далее», чтобы перейти к настройкам по умолчанию.

Просмотрите все изменения модуля мониторинга. Если что-то выглядит неуместно, вернитесь назад и внесите необходимые исправления.

Затем прокрутите вниз и нажмите «Готово».

На этом этапе Icinga Web 2 успешно настроен, и вы должны увидеть уведомление об этом, как показано ниже. Чтобы войти в панель управления Icinga2, нажмите «Войти в Icinga Web 2».

Вы попадете на страницу входа, как показано на рисунке. Укажите данные своей учетной записи администратора и нажмите ENTER, чтобы войти в систему.

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

Чтобы убедиться в этом, мы вернемся к терминалу и выполним команду:

sudo apt list --upgradable

Чтобы обновить пакеты, мы просто запустим:

sudo apt upgrade -y

И это решает проблему. На панели мониторинга вы можете видеть, что проблем больше не отображается.

В этом руководстве мы продемонстрировали, как установить инструмент мониторинга Icinga2 в Ubuntu. Правда, установка довольно долгая и требует внимания к деталям. Тем не менее, если вы выполнили шаги, описанные в последнем пункте, все должно работать нормально.