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
После завершения установки запустите службу Icinga2 и добавьте сервис в автозагрузку.
systemctl start icinga2 systemctl enable icinga2
После этого проверьте службу 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 и сконфигурирован корневой пароль по умолчанию.
Шаг 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'с помощью команды dbconfig, затем выберите "Yes" для продолжения.
Введите свой пароль для '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' была завершена.
Шаг 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
Ниже приведен результат, который вы получите.
В результате была завершена установка 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.
В результате этого установка icingaweb2 завершена и создана новая база данных icingaweb2.
Шаг 6 - Установка Icinga2 и Icinga Stack Post
Откройте веб-браузер и введите IP-адрес сервера, как показано ниже. Замените IP-адрес на IP-адрес своего сервера.
http://IP_адрес/icingaweb2/setup
Вставьте код токена установки в поле и нажмите кнопку 'Далее'.
Теперь вам нужно выбрать модуль Icinga для установки, оставить модуль 'Monitoring' и нажать 'Далее'.
После этого Icinga проверит состояние среды для его установки. Убедитесь, что все необходимые модули находятся в зеленом состоянии, за исключением 'Модулей PostgreSQL', затем нажмите 'Далее'.
Теперь вам нужно выбрать Аутентификацию для доступа к icingaweb2, выбрать 'Database ' (База данных) и нажать 'Next ' (Далее).
Введите все данные базы данных для 'icingaweb2' и нажмите 'Validate Configuration' (Проверить конфигурацию) для тестирования. После того, как все прошло успешно, нажмите кнопку 'Next ' (Далее).
Теперь для аутентификации Backend Authentication выберите 'icingaweb2' и нажмите 'Next ' (Далее).
Введите логин и пароль администратора для icingaweb2 и нажмите 'Далее' еще раз.
В разделе Application Configuration (Конфигурация приложения) оставьте всё по умолчанию и нажмите 'Далее'.
Подтвердите все настройки и нажмите "Далее".
И вы получите страницу приветствия на icingaweb2. Снова нажмите "Далее", чтобы настроить backend мониторинга.
Установите имя Backend как 'icinga2' с типом 'IDO', затем нажмите 'Далее'.
Теперь вам нужно настроить MySQL IDO backend ресурс для приложения icinga2. Введите данные базы данных для icinga2 и нажмите кнопку 'Validate Configuration'.
После успешного завершения нажмите кнопку 'Далее'.
Для 'Command Transport' выберите 'Local Command File' и оставьте его по умолчанию. Затем нажмите 'Далее'.
Для службы Monitoring Security оставьте всё по умолчанию и нажмите 'Далее'.
Подтвердите все настройки и нажмите кнопку 'Готово'.
Теперь установка Icinga 2 и Icinga web 2 завершена, нажмите кнопку 'Login to Icinga Web 2', и вы будете перенаправлены на страницу входа.
Введите пользователя, которого вы настроили в самом начале и нажмите кнопку "Войти".
И, наконец, установка и настройка icinga2 и icingaweb2 на сервере Ubuntu 20.04 успешно завершена.