Рассмотрим установку системы мониторинга Icinga 2 на базе Ubuntu 20.04.
Данная система мониторинга проста в первоначальной установке, поддерживает массу плагинов и модулей в следствии чего может легко масштабироваться для мониторинга различных сервисов и предоставления необходимой отчетности.
На момент написания актуальная версия Icinga 2.12.3.
1. Установка
1.1 Добавление репозитория
sudo su
apt-get -y install apt-transport-https wget gnupg
wget -O - https://packages.icinga.com/icinga.key | apt-key add -
. /etc/os-release; if [ ! -z ${UBUNTU_CODENAME+x} ]; then DIST="${UBUNTU_CODENAME}"; else DIST="$(lsb_release -c| awk '{print $2}')"; fi; echo "deb https://packages.icinga.com/ubuntu icinga-${DIST} main" > /etc/apt/sources.list.d/${DIST}-icinga.list; echo "deb-src https://packages.icinga.com/ubuntu icinga-${DIST} main" >> /etc/apt/sources.list.d/${DIST}-icinga.list
apt-get update
1.2 Установка
До установки Icinga 2 я уже установил и настроил Web-сервер Apache и БД MySQL.
Устанавливаем Icinga 2 и компоненты необходимые для предоставления WEB-интерфейса и хранения данных в БД MySQL
sudo apt-get install icinga2 icingaweb2 icinga2-ido-mysql snmp
Во время настройки пакета icinga2-ido-mysql будет предложение настройки БД. Производим настройку согласно заданным вопросам конфигуратора, запросы могут отличатся в зависимости от настройки сервера БД MySQL. Перечень запросов:
Пароль пользователя icinga2-ido-mysql
Активация модуля Icinga 2's ido-mysql
Метод подключения к БД
Адрес хоста БД MySQL (locathost)
Номер порта сервера БД MySQL (3306)
Плагин аудентификации БД MySQL (default)
Имя БД (icinga2)
Имя пользователя (icinga2@localhost)
Пароль пользователя
Все данные для подключения сохранились в файле /etc/icinga2/features-available/ido-mysql.conf
Активируем модуль подключения к БД MySQL
sudo icinga2 feature enable ido-mysql
sudo service icinga2 restart
Проверяем работу сервиса
service icinga2 status
● icinga2.service - Icinga host/service/network monitoring system
Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/icinga2.service.d
└─limits.conf
Active: active (running) since Fri 2021-04-16 14:20:28 EEST; 33min ago
Main PID: 145351 (icinga2)
Tasks: 36
Memory: 18.0M
CGroup: /system.slice/icinga2.service
├─145351 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon --close-stdio -e /var/log/icinga2/error.log
├─145412 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon --close-stdio -e /var/log/icinga2/error.log
└─145429 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon --close-stdio -e /var/log/icinga2/error.log
2. Настройка доступа через ВЕб
Во время установки пакета icingaweb2 создается конфигурационный файл Apache /etc/apache2/conf-enabled/icingaweb2.conf , в котором указан алиас для директории icingaweb2. По умолчанию доступ к Web-интерфейсу Icinga2 по адресу http://myhost.org/icingaweb2
По Вашему выбору можно оставить доступ по данному адресу или перенести на отдельное доменное имя через конфигурацию Виртуальных хостов
2.1 Доступ через отдельный адрес
Для доступа к Web-интерфейсу через отдельный адрес создаем файл конфигурации Виртуального хоста /etc/apache2/sites-available/mon.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /usr/share/icingaweb2/public
ErrorLog ${APACHE_LOG_DIR}/monpl-error.log
CustomLog ${APACHE_LOG_DIR}/monpl-access.log combined
ServerName mon.myhost.org
<Directory "/usr/share/icingaweb2/public">
Options SymLinksIfOwnerMatch
AllowOverride None
SetEnv ICINGAWEB_CONFIGDIR "/etc/icingaweb2"
EnableSendfile Off
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
<IfModule !mod_rewrite.c>
DirectoryIndex error_norewrite.html
ErrorDocument 404 /error_norewrite.html
</IfModule>
</Directory>
</VirtualHost>
Применяем изменения
sudo sudo a2disconf icingaweb2
sudo a2ensite monitoring.conf
sudo service apache2 reload
2.2 Настройка Web-интерфейса
Переходим по адресу
http://mon.myhost.org/setup или http://myhost.org/icingaweb2/setup в зависимости от того, какой вариант доступа вы выбрали.
Во время настройки WEB-интерфейса следуем инструкции и подсказкам установщика, остановлюсь на некоторых их них.
2.2.1 Создаем токен-ключ
sudo icingacli setup token create
The newly generated setup token is: ae8bc5bbcad0b497
2.2.2 При выборе модулей оставляем значения по умолчанию
2.2.3 Тип авторизации
На этой странице можно выбрать механизм аутентификации пользователей интерфейса. В данном случае, будет использоваться стандартная опция Database (пользователи будут храниться в БД MySQL).
2.2.4 Параметры подключения к БД
Предварительно создаем пользователя и БД. Я создал пользователя и БД icingaweb.
Заполняем данные, проверяем, нажав "Validate Configuration" и переходим к следующему экрану
Пример заполненных данных ниже
Resource Name icingaweb_db
Database Type MySQL
Host * localhost
PortThe 3306
Database Name * icingaweb
Username * icingaweb
Password * ********
Character Set __________
PersistentCheck __________
2.2.5 Создание администратора (Administration)
Вводим имя пользователя и пароль первого пользователя, он будет администратором
2.2.6 Конфигурация модулей (Application Configuration)
Настройки ведения логов, можем изменить настройки ведения логов
2.3 Конфигурация модуля Мониторинга
2.3.1 Конфигурация подключения к БД мониторинга
Все настройки можно взять в файле /etc/icinga2/features-available/ido-mysql.conf
2.3.2 Настройка передачи команд
В данном диалоге указывается как именно будут передаваться команды из Web-интерфейса на сервер мониторинга, Рекомендуется использовать icinga API
Активируем icinga2 api
sudo icinga2 api setup
sudo service icinga2 restart
Смотрим данные для авторизации в файле /etc/icinga2/conf.d/api-users.conf
Пример файла
object ApiUser "root" {
password = "feb9d86bd1bfa199"
// client_cn = ""
permissions = [ "*" ]
}
Где
root - Имя пользователя
feb9d86bd1bfa199 - пароль
Эти данные переносим в диалог конфигурации модуля Мониторинга icingaweb2, в качестве адреса хоста указываем localhost
После внесения данных нажимаем "Validate Configuration", если введено все верно должны получить сообщение "The configuration has been successfully validated."
После завершения настройки на предложит войти в Web-интерфейс, для входа используем логин пароль пользователя созданного при установке.
Web-интерфейс частично локализирован на русский язык, изменить язык интерфейса можно перейти в настройки аккаунта и выбрав нужный язык, пример на скриншоте ниже
![]() |
Изменение языка локализации |
В случае получения ошибки "Your language setting is not applied because your platform is missing the corresponding locale. Make sure to install the correct language pack and restart your web server afterwards." необходимо сгенерировать соответствующую локаль на сервере, для русского языка необходимо выполнить с командной строки
sudo locale-gen ru_RU
sudo locale-gen ru_RU.UTF-8
Список доступных локализация можно посмотреть в файле /etc/locale.gen
3. Список директорий сервера
/etc/icinga/ - директория с файлами конфигурации Icinga 2
/etc/icinga2/conf.d/ - директория с файлами конфигурации Icinga 2, в данной директории рекомендуется хранить файлы конфигурации мониторинга, директория считывается рекурсивно
/etc/icingaweb2/ - директория с файлами конфигурации IcingaWeb 2
/usr/share/icingaweb2/public - директория Web-интерфейса
/usr/share/icingaweb2/modules - директория с модулями Web-интерфейса
Так же рекомендую ознакомится с информацией о мониторинге по протоколу SNMP данная информация по прежнему актуальна
Комментариев нет:
Отправить комментарий