img

Установка Icinga 2 на Ubuntu 20.04 LTS

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

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

Icinga была создана в 2009 году в качестве разветвления средства мониторинга Nagios. Но потом была заново переписана на С++ и стала одним из самых популярных инструментов мониторинга в интернете. Слово "Ицинга" - это Зулусское слово, означающее "оно ищет", или "оно обозревает", или "оно исследует".

В этом учебном пособии мы покажем вам, как установить и настроить инструмент мониторинга Icinga 2 на сервере LTS Ubuntu 20.04. Мы установим Icinga 2 из официального репозитория, а затем настроим icingaweb2, облегченный и расширяемый веб-интерфейс для системы мониторинга icinga2.


Предпосылки

Для этого руководства мы установим icinga2 и icingaweb2, используя сервер Ubuntu 20.04 с 2 ГБ оперативной памяти. Но эти данные меняются в зависимости от размера вашей ИТ-инфраструктуры.


Что мы будем делать?

  • Установка Icinga2 и Nagios Monitoring Plugins;
  • Установка и настройка базы данных MySQL;
  • Установка и настройка модуля Icinga MySQL;
  • Установка Apache2 и PHP-пакетов;
  • Установка и настройка Icingaweb2;
  • Установка Icinga2 Stack Post.

Шаг 1 - Установка Icinga2 и системы мониторинга Nagios

Сперва мы добавим репозиторий icinga2 для Ubuntu 20.04 и установим пакеты icinga2 и плагины мониторинга Nagios. Добавьте GPG ключ Icinga2 в вашу систему.

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

Теперь перейдите в директорию '/etc/apt/sources.list.d' и создайте новый репозиторий 'icinga-focal.list'.

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

Вставьте следующую конфигурацию репозитория.

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

Нажмите сохранить и закройте. Затем обновите все доступные репозитории и установите подключаемые модули Icinga2 и Nagios Monitoring с помощью команды apt ниже.

sudo apt update
sudo apt install icinga2 monitoring-plugins
curl https://packages.icinga.com/icinga.key | apt-key add -

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

systemctl start icinga2
systemctl enable icinga2

После этого проверьте службу icinga2, используя приведенную ниже команду.

systemctl status icinga2

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

systemctl status icinga2

В результате сервис icinga2 запущен и работает на Ubuntu 20.04 FocalFossa.


Шаг 2 - Установка и настройка базы данных MySQL

На этом этапе мы установим последнюю версию сервера MySQL на нашем Ubuntu 20.04 и установим пароль по умолчанию для пользователя MySQL с root правами. Установите MySQL сервер с помощью команды apt, приведенной ниже.

sudo apt install mysql-server mysql-client

После этого запустите службу MySQL и добавьте её в автозагрузку.

systemctl start mysql
systemctl enable mysql

И сервис MySQL готов и запущен. Далее мы зададим пароль для root - пользователя MySQL с помощью командной строки 'mysql_secure_installation', которые предоставлены MySQL-пакетами. Запустите команду 'mysql_secure_installation', которая представлена ниже.

mysql_secure_installation

Теперь вам будет предложено настроить новый пароль для пользователя root, введите надежный пароль, а затем введите "Y" для прочих конфигураций.

Press y|Y for Yes, any other key for No: 
Please set the password for root here.

New password: 
Re-enter new password:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

В результате завершена установка сервера MySQL и сконфигурирован корневой пароль по умолчанию.

mysql_secure_installation

Шаг 3 - Установка и настройка модуля Icinga MySQL

После установки сервера MySQL мы установим модуль icinga2 для поддержки MySQL под названием 'icinga2-ido-mysql'. Установка 'icinga2-ido-mysql' возможна с помощью команды apt, приведенной ниже.

sudo apt install icinga2-ido-mysql

Теперь вам будет предложено включить функцию icinga2 ido-mysql, выберите "Да", чтобы продолжить.

включить функцию icinga2 ido-mysql

Сконфигурируйте 'icinga2-ido-mysql'с помощью команды dbconfig, затем выберите "Yes" для продолжения.

Сконфигурируйте 'icinga2-ido-mysql'с помощью команды dbconfig

Введите свой пароль для 'icinga2-ido-mysql'.

Введите свой пароль для 'icinga2-ido-mysql'

Повторите пароль для 'icinga2-ido-mysql'.

Повторите пароль для 'icinga2-ido-mysql'

В результате установка пакета 'icinga2-ido-mysql' была завершена, и был создан новый пользователь MySQL 'icinga2'.

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

Войдите в командную строку MySQL, используя нижеприведенную команду.

mysql -u root -p

Теперь измените аутентификацию пользователя 'icinga2@localhost' с помощью собственного плагина аутентификации MySQL, используя следующий запрос.

ALTER USER icinga2@localhost IDENTIFIED WITH mysql_native_password BY 'aqwe123@#$';
flush privileges;

Введите 'exit', чтобы выйти из командной строки MySQL, а пользователь MySQL 'icinga2' теперь будет использовать родной плагин аутентификации.

Далее, включите функцию 'ido-mysql' и проверьте все включенные плагины, используя следующую команду.

icinga2 feature enable ido-mysql
icinga2 feature list

Функция 'ido-mysql' будет включена, чтобы применить новую конфигурацию, перезапустите службу icinga2.

systemctl restart icinga2

Таким образом, установка и настройка 'icinga2-ido-mysql' была завершена.

установка и настройка 'icinga2-ido-mysql' была завершена

Шаг 4 - Установка Apache2 и PHP-пакетов

На этом шаге, мы установим пакеты Apache и PHP для icingaweb2 и мы будем использовать PHP 7.3, который доступен в репозитории PPA, потому что на данный момент icingaweb2 еще не поддерживается в новой версии PHP 7.4.

Сначала установите пакет 'python3-software-properties' и добавьте репозиторий PHP PPA, используя следующую команду.

sudo apt install python3-software-properties
sudo add-apt-repository ppa:ondrej/php

Далее установите Apache и PHP пакеты с помощью команды apt, описанной ниже.

sudo apt install apache2 php7.3 php7.3-common php7.3-gd php7.3-ldap php7.3-intl php7.3-curl libapache2-mod-php7.3 php7.3-mysql php7.3-pgsql php7.3-xml

После того, как вся установка будет завершена, отредактируйте конфигурацию 'php.ini' с помощью vim-редактора.

vim /etc/php/7.3/apache2/php.ini

Снимите комментарий с опции 'date.timezone' и введите свой часовой пояс.

date.timezone = Asia/Singapore

Раскомментируйте конфигурацию 'cgi.fix_pathinfo' и измените значение на '0'.

cgi.fix_pathinfo=0 

Сохраните и закройте. Далее перезапустите службу Apache2 и добавьте ее в автозагрузку.

systemctl restart apache2
systemctl enable apache2

Служба Apache2 запущена и работает, проверьте её, используя следующую команду.

systemctl status apache2

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

systemctl status apache2

В результате была завершена установка Apache и PHP пакетов для icingaweb2.


Шаг 5 - Установка и настройка Icingaweb2

После установки Apache и PHP-пакетов мы установим пакет icingaweb2 и создадим новую базу данных MySQL для icingaweb2. Начните установку пакетов icingaweb2 и icingacli с помощью команды apt.

sudo apt install icingaweb2 icingacli

После завершения установки сгенерируйте токен icingaweb2 для установки с помощью приведенной ниже команды.

icingacli setup token create

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

The newly generated setup token is: 9b871ead0a60c94f

Теперь скопируйте код токена в надёжное место, он будет использован для установки icingaweb2. Далее войдите в командную строку MySQL, используя нижеприведенную команду mysql.

mysql -u root -p

Теперь создайте новую базу данных и пользователя, используя следующие запросы.

create database icingaweb2;
create user icingaweb2@localhost identified with mysql_native_password by "icingaweb2pass";
grant all privileges on icingaweb2.* to icingaweb2@localhost with grant option;
flush privileges;

Введите 'exit', чтобы выйти из командной строки MySQL.

Введите 'exit', чтобы выйти из командной строки MySQL

В результате этого установка icingaweb2 завершена и создана новая база данных icingaweb2.


Шаг 6 - Установка Icinga2 и Icinga Stack Post

Откройте веб-браузер и введите IP-адрес сервера, как показано ниже. Замените IP-адрес на IP-адрес своего сервера.

http://IP_адрес/icingaweb2/setup

Вставьте код токена установки в поле и нажмите кнопку 'Далее'.

Вставьте код токена

Теперь вам нужно выбрать модуль Icinga для установки, оставить модуль 'Monitoring' и нажать 'Далее'.

выбрать модуль Icinga для установки

После этого Icinga проверит состояние среды для его установки. Убедитесь, что все необходимые модули находятся в зеленом состоянии, за исключением 'Модулей PostgreSQL', затем нажмите 'Далее'.

все необходимые модули находятся в зеленом состоянии

Теперь вам нужно выбрать Аутентификацию для доступа к icingaweb2, выбрать 'Database ' (База данных) и нажать 'Next ' (Далее).

выбрать Аутентификацию для доступа к icingaweb2

Введите все данные базы данных для 'icingaweb2' и нажмите 'Validate Configuration' (Проверить конфигурацию) для тестирования. После того, как все прошло успешно, нажмите кнопку 'Next ' (Далее).

Введите все данные базы данных для 'icingaweb2'

Теперь для аутентификации Backend Authentication выберите 'icingaweb2' и нажмите 'Next ' (Далее).

для аутентификации Backend Authentication выберите 'icingaweb2'

Введите логин и пароль администратора для icingaweb2 и нажмите 'Далее' еще раз.

логин и пароль администратора для icingaweb2

В разделе Application Configuration (Конфигурация приложения) оставьте всё по умолчанию и нажмите 'Далее'.

В разделе Application Configuration (Конфигурация приложения) оставьте всё по умолчанию

Подтвердите все настройки и нажмите "Далее".

Подтвердите все настройки и нажмите Далее

И вы получите страницу приветствия на icingaweb2. Снова нажмите "Далее", чтобы настроить backend мониторинга.

настроить backend мониторинга

Установите имя Backend как 'icinga2' с типом 'IDO', затем нажмите 'Далее'.

Установите имя Backend как 'icinga2' с типом 'IDO'

Теперь вам нужно настроить MySQL IDO backend ресурс для приложения icinga2. Введите данные базы данных для icinga2 и нажмите кнопку 'Validate Configuration'.

После успешного завершения нажмите кнопку 'Далее'.

После успешного завершения нажмите кнопку 'Далее'

Для 'Command Transport' выберите 'Local Command File' и оставьте его по умолчанию. Затем нажмите 'Далее'.

Для 'Command Transport' выберите 'Local Command File'

Для службы Monitoring Security оставьте всё по умолчанию и нажмите 'Далее'.

Для службы Monitoring Security оставьте всё по умолчанию и нажмите 'Далее'

Подтвердите все настройки и нажмите кнопку 'Готово'.

одтвердите все настройки и нажмите кнопку 'Готово'

Теперь установка Icinga 2 и Icinga web 2 завершена, нажмите кнопку 'Login to Icinga Web 2', и вы будете перенаправлены на страницу входа.

установка Icinga 2 и Icinga web 2 завершена

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

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

И, наконец, установка и настройка icinga2 и icingaweb2 на сервере Ubuntu 20.04 успешно завершена.

установка и настройка icinga2 и icingaweb2 на сервере Ubuntu 20.04 успешно завершена
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker