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

Как установить Icinga2 на RHEL, Rocky и AlmaLinux


Icinga2 — это многофункциональное приложение для мониторинга сети и оповещения с открытым исходным кодом, которое является ответвлением инструмента мониторинга Nagios.

Он был создан для устранения недостатков Nagios и внедрения новых функций, таких как улучшенный и современный пользовательский интерфейс, REST API для интеграции новых расширений без необходимости внесения изменений в ядро Icinga и дополнительные соединители базы данных.

Icinga2 отслеживает доступность хостов и сервисов. Некоторые из этих служб включают SNMP, HTTP, HTTPS и SSH. Он также контролирует сетевые устройства, такие как маршрутизаторы и коммутаторы.

Icinga также собирает показатели и создает журналы, чтобы дать вам полное представление о вашей сетевой инфраструктуре. Затем журналы и показатели визуализируются на информационных панелях, чтобы представить все в лучшем контексте.

В этой статье мы покажем, как установить приложение мониторинга Icinga2 на RHEL, Rocky Linux и AlmaLinux.

Предварительные условия

Для установки Icinga2 необходимо установить стек LAMP. Небольшое предостережение: для установки Icinga2 требуется PHP 7.3 и более поздние версии.

У нас уже есть руководство по установке LAMP на RHEL 8. Используйте эту статью только для установки веб-сервера Apache и сервера базы данных MariaDB, поскольку инструкции посвящены установке PHP 7.2, который не поддерживается Icinga2.

На первом этапе этого руководства мы покажем вам процесс установки PHP 7.4 и необходимых модулей.

Шаг 1. Установите PHP и модули PHP

Установив Apache и MariaDB, давайте продолжим и установим PHP 7.4. Если у вас установлен PHP 7.2 и более поздние версии, удалите его, выполнив:

sudo dnf remove php

Затем сбросьте текущий модуль PHP в системе.

sudo dnf module reset php

После этого перечислите доступные версии PHP, как показано.

sudo dnf module list php

Затем включите PHP 7.4.

sudo dnf module enable php:7.4

После включения модуля PHP 7.4 установите PHP и необходимые расширения PHP.

sudo dnf install php-gd php-mbstring php-mysqlnd php-curl php-devel php-pear php-xml php-cli php-soap php-intl php-json php-ldap php-xmlrpc php-zip php-json php-common php-opcache php-gmp php-pgsql make -y

Для Icinga2 также требуется расширение php-imagick. Однако его нельзя установить обычным способом, как мы это делали с другими модулями PHP.

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

dnf install -y ImageMagick ImageMagick-devel
sudo pecl install imagick

Затем переключитесь на пользователя root и добавьте расширения в файл PHP.INI.

su -
echo "extension=imagick.so" > /etc/php.d/20-imagick.ini

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

sudo systemctl restart httpd

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

Чтобы установить Icinga2, нам необходимо добавить репозиторий Icinga, поскольку Icinga2 не размещается в репозиториях AppStream.

Для этого сначала включите репозиторий EPEL.

sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Затем включите ключ подписи GPG.

sudo rpm --import https://packages.icinga.com/icinga.key

Затем создайте файл репозитория в каталоге /etc/yum.repos.d.

sudo vim  /etc/yum.repos.d/icinga2.repo

Вставьте следующий блок кода

 
[icinga2]
name=Icinga 2 Repository for EPEL 8
baseurl=https://packages.icinga.com/epel/8/release
enabled=1

Сохраните и выйдите из файла репозитория. Затем обновите пакеты кеша,

sudo dnf makecache

После добавления репозитория установите пакет Icinga2 и другие связанные пакеты Icinga2.

sudo dnf install icinga2 icinga2-ido-mysql icinga2-selinux  vim-icinga2 -y

Затем установите плагины Nagios, которые будут использоваться для мониторинга как физических, так и виртуальных хостов.

sudo dnf install nagios-plugins-all -y

Затем включите модуль Icinga2 ido-mysql и другие функции.

sudo icinga2 feature enable ido-mysql syslog command

Затем перезапустите Icinga, чтобы изменения вступили в силу.

sudo systemctl restart icinga2

Шаг 3. Создайте базу данных для модуля MySQL Icinga-IDO.

Функция mysql icinga2-IDO (Вывод данных Icinga) — это серверная функция, которая сопоставляет и экспортирует всю информацию о конфигурации и состоянии в базу данных. По этой причине нам необходимо создать базу данных для функции Icinga2-ido-mysql.

Итак, войдите на сервер базы данных MySQL:

sudo mysql -u root -p

Создайте базу данных, а также пользователя базы данных для Icinga2. Затем предоставьте все привилегии пользователя базы данных базе данных Icinga2.

> CREATE DATABASE icinga2;
> GRANT ALL PRIVILEGES ON icinga2.* TO 'icinga2_user'@'localhost' IDENTIFIED BY 'P@ssword321';

Примените изменения и выйдите из сервера базы данных.

> FLUSH PRIVILEGES;
> EXIT;

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

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

Двигаясь дальше, отредактируйте файл конфигурации ido-mysql.

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

Раскомментируйте блок базы данных и укажите сведения о базе данных.

Сохранить и выйти.

Затем запустите и включите Icinga2.

sudo systemctl start icinga2
sudo systemctl enable icinga2

Затем проверьте статус Icinga2, как показано.

sudo systemctl status icinga2

Из приведенного ниже вывода ясно, что Icinga работает, как и ожидалось.

Шаг 4. Установите IcingaWeb2 на RHEL 8.

IcingaWeb2 — это веб-инструмент мониторинга с открытым исходным кодом, который также имеет интерфейс командной строки. Он поддерживает все внутренние функции Icinga, такие как Icinga-ido-mysql, Icinga core, Icinga2 и другие модули.

Чтобы установить IcingaWeb2, установите PowerTools, используя следующую команду.

sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --set-enabled powertools

После завершения установки установите IcingaWeb2 и CLI, как показано.

sudo dnf install icingaweb2 icingacli

Шаг 5. Создайте базу данных для IcingaWeb2.

Точно так же, как мы создали схему базы данных для функции Icinga2-IDO-mysql, нам также необходимо создать вторую схему для Icinga Web2.

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

sudo mysql -u root -p

Создайте базу данных и пользователя базы данных для IcingaWeb2, затем предоставьте все разрешения пользователю базы данных в базе данных Icinga Web2.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO icingaweb2@localhost IDENTIFIED BY 'P@ssword321';

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

> FLUSH PRIVILEGES;
> QUIT

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

cat /etc/httpd/conf.d/icingaweb2.conf

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

sudo systemctl restart httpd

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

sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Шаг 6. Завершите настройку Icinga2 из браузера.

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

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

sudo icingacli setup token create

Скопируйте и сохраните токен установки. Если в случае потери токена вы можете получить его, выполнив команду:

sudo icingacli setup token show

На данный момент в этом руководстве все конфигурации проверены. Осталось завершить установку из веб-браузера. Для этого просмотрите указанный URL-адрес

http://server-ip/icingaweb2/setup

На странице приветствия вставьте токен установки, который вы создали ранее.

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

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

В этом разделе убедитесь, что выполнены все предварительные требования PHP, включая модули PHP, библиотеки и каталоги. Если все в порядке, прокрутите вниз и нажмите «Далее».

На странице «Аутентификация» оставьте все как есть и нажмите «Далее».

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

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

Если все пойдет хорошо, вы должны получить уведомление об успешной проверке конфигурации.

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

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

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

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

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

Нажмите «Далее», чтобы продолжить.

На следующем шаге заполните форму с данными базы данных для функции Icinga2-ido-mysql, как указано в Шаге 3.

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

Вы получите уведомление о том, что конфигурация успешно проверена.

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

В разделе «Мониторинг безопасности» нажмите «Далее».

Еще раз просмотрите все конфигурации модуля мониторинга Icinga2. Если все выглядит хорошо, нажмите «Готово». В противном случае вернитесь и внесите необходимые изменения.

Если с настройкой Icinga Web 2 все прошло успешно, вы должны получить уведомление о том, что Icinga Web 2 успешно настроен. Чтобы войти в веб-интерфейс, нажмите ссылку «Войти в Icinga Web 2».

Откроется интерфейс Icinga Web 2. Укажите данные учетной записи администратора и нажмите «Войти».

Вы попадете на панель мониторинга Icinga2, как показано на рисунке.

Вот и все. Отсюда вы можете отслеживать различные хосты и службы в вашей сетевой инфраструктуре. В этом руководстве мы рассказали вам об установке Icinga Web 2 на RHEL 8, Rocky Linux и AlmaLinux . .