Установка и настройка Icinga 2 и Icinga Web 2 на Ubuntu 18.04
Важно: все команды запускайте с правами root или через sudo. Замените примеры паролей и IP-адреса на свои значения.

Icinga 2 — свободный и открытый инструмент мониторинга. Он позволяет централизованно контролировать несколько серверов или целые дата-центры. Icinga 2 проверяет доступность ресурсов: сеть, систему, обновления и сервисы. Icinga Web 2 — лёгкий и расширяемый веб-интерфейс для визуализации состояния и управления.
Кому будет полезно: системным администраторам, инженерам по мониторингу и архитекторам инфраструктуры.
Краткий план
- Установка Icinga 2 и плагинов Monitoring Plugins
- Установка и настройка MySQL (модуль IDO)
- Установка и настройка Icinga Web 2
- Завершение постустановочной конфигурации и базовая проверка
- Дополнительно: безопасность, отладка, чек-листы и рекомендации
Требования
- Сервер Ubuntu 18.04 LTS
- Рекомендуемая память: минимум 2 ГБ (для небольших установок). Для крупных инсталляций — больше RAM и CPU.
- Доступ в интернет для репозиториев
- Права администратора (root/sudo)
Определения
- Icinga 2: движок мониторинга, проверяющий хосты и сервисы.
- IDO (Icinga Data Output): модуль, который записывает данные в базу (MySQL/PostgreSQL).
- Icinga Web 2: веб-интерфейс для управления и визуализации состояния мониторинга.
Что мы сделаем
- Установим Icinga 2 и Nagios-плагины
- Настроим MySQL и модуль ido-mysql
- Установим icingaweb2 и настроим соединение с базой
- Выполним окончательную настройку через веб-мастер
Шаг 1 — Установка Icinga 2 и Monitoring Plugins
Сначала добавим официальный ключ репозитория Icinga и сам репозиторий. Это гарантирует получение актуальных пакетов.
Выполните:
curl https://packages.icinga.com/icinga.key | apt-key add -Создайте файл репозитория:
cd /etc/apt/sources.list.d/
vim icinga2.listВставьте конфигурацию репозитория:
deb http://packages.icinga.com/ubuntu icinga-bionic main
deb-src http://packages.icinga.com/ubuntu icinga-bionic mainСохраните и выполните обновление и установку:
sudo apt update
sudo apt install icinga2 monitoring-plugins
После установки запустите сервис и добавьте его в автозагрузку:
systemctl start icinga2
systemctl enable icinga2
Примечание: команда apt может предложить дополнительные зависимости. Подтвердите установку.
Шаг 2 — Установка и настройка MySQL для Icinga
Icinga использует модуль IDO для записи статусов и истории в базу данных. Для этого установим MySQL и модуль icinga2-ido-mysql.
Установите MySQL:
sudo apt install mysql-server mysql-clientЗапустите и включите MySQL:
systemctl start mysql
systemctl enable mysqlНастройте базовую безопасность MySQL и установите пароль root:
mysql_secure_installationПосле этого установите модуль IDO для Icinga 2:
sudo apt install icinga2-ido-mysqlВо время установки вы увидите диалоги конфигурации:
- Подтвердите включение модуля ido-mysql (выберите OK).
- Разрешите dbconfig-common создать базу данных (Yes).
- Введите пароль для пользователя базы данных icinga2 и повторите его.


После успешной установки включите модуль и перезапустите Icinga 2:
icinga2 feature enable ido-mysql
systemctl restart icinga2Теперь Icinga 2 записывает данные в MySQL.
Шаг 3 — Установка и настройка веб-интерфейса Icinga Web 2
Установим icingaweb2, утилиту icingacli и дополнительный пакет PHP GD (для графиков):
sudo apt install icingaweb2 icingacli php-gd -yПосле установки правим PHP-конфигурацию (таймзона). Откройте php.ini и укажите вашу зону:
cd /etc/php/7.2/apache2/
vim php.iniНайдите и откомментируйте строку timezone, например:
date.timezone = Asia/JakartaСохраните и перезапустите Apache:
systemctl restart apache2
Далее необходимо сгенерировать setup token для веб-мастера Icinga Web 2:
icingacli setup token createСкопируйте сгенерированный токен в заметки — он понадобится при настройке через браузер.
Создайте базу и пользователя для icingaweb2:
mysql -u root -p
create database icingaweb2;
grant all privileges on icingaweb2.* to icingaweb2@localhost identified by 'icingaweb2-password';
flush privileges;
quit;Замените ‘icingaweb2-password’ на надёжный пароль.

Шаг 4 — Завершение через веб-мастер Icinga Web 2
Откройте браузер и перейдите на адрес вашего сервера:
http://10.5.5.20/icingaweb2/setup
Замените IP на адрес вашего сервера. Вставьте ранее сгенерированный setup token и нажмите Next.
Выберите модуль Monitoring (оставьте по умолчанию) и нажмите Next.

Мастер проверит окружение. Убедитесь, что все необходимые модули отмечены зелёным, кроме PostgreSQL, если вы не используете её.

Выберите метод аутентификации — Database. Введите параметры базы icingaweb2 и проверьте конфигурацию.
Далее создайте бэкенд-аутентификацию (backend authentication) — укажите пользователя icingaweb2 и пароль. Установите администратора веб-интерфейса и пароль.

Оставьте остальные параметры по умолчанию, подтвердите конфигурацию и завершите мастер.

Подтвердите итоговую конфигурацию и нажмите Finish.

Затем вас перенаправит на страницу логина. Войдите под созданным пользователем.


После входа вы увидите дашборд Icinga 2 с состоянием хостов и сервисов.

Поздравляем — установка завершена.
Проверки и типичные команды для отладки
- Статус сервиса Icinga 2:
systemctl status icinga2- Проверить лог Icinga 2:
journalctl -u icinga2 -b- Проверить статус соединения с базой:
mysql -u icinga2 -p -e "SHOW DATABASES;"- Проверить доступность веб-интерфейса и Apache:
systemctl status apache2Частые ошибки и как их решать
Проблема: Web setup не принимает токен.
- Причина: токен просрочен или вы используете другой каталог конфигурации.
- Решение: сгенерируйте новый токен: icingacli setup token create
Проблема: Icinga не записывает данные в MySQL.
- Причина: модуль ido-mysql не включён или неверные права у пользователя базы.
- Решение: включите модуль icinga2 feature enable ido-mysql и проверьте привилегии в MySQL.
Проблема: ошибки PHP или отсутствуют расширения.
- Решение: установите необходимые PHP-модули (php7.2-mysql, php7.2-xml, php7.2-gd и др.) и перезапустите Apache.
Рекомендации по безопасности
- Ограничьте доступ к интерфейсу Icinga Web 2 по IP с помощью конфигурации Apache или брандмауэра.
- Используйте HTTPS для веб-интерфейса. Настройте сертификат (Let’s Encrypt или внутренний CA).
- Храните пароли для баз в файлах конфигурации с минимальными правами доступа.
- Обновляйте пакеты и принимайте обновления безопасности для Ubuntu и Icinga.
Пример быстрой настройки HTTPS (Let’s Encrypt):
sudo apt install certbot python-certbot-apache
sudo certbot --apache -d monitoring.example.comЗамените домен на ваш. После получения сертификата проверьте доступ по https://.
Чек-листы по ролям
Системный администратор:
- Установить пакеты icinga2, monitoring-plugins
- Настроить и защитить MySQL
- Включить ido-mysql и перезапустить сервис
- Настроить бэкапы базы данных
Инженер по мониторингу:
- Добавить хосты и сервисы в конфигурацию Icinga 2
- Настроить уведомления и контакты
- Протестировать проверки вручную (icinga2 daemon validation)
Инженер по безопасности:
- Развернуть HTTPS и ограничить доступ по IP
- Проверить права на файлы конфигурации
- Настроить аудит логов доступа к веб-интерфейсу
Мини-методология развертывания (быстрое руководство)
- Подготовьте сервер: актуальная Ubuntu 18.04, минимум 2 ГБ RAM.
- Добавьте репозиторий Icinga и установите пакеты.
- Установите MySQL, создайте базы для icinga2 и icingaweb2.
- Установите и включите ido-mysql.
- Установите icingaweb2, настройте PHP и Apache.
- Завершите настройку через веб-мастер, проверьте работу.
Критерии приёмки
- Icinga 2 сервис работает и включён в автозапуск.
- Модуль ido-mysql включён, данные записываются в MySQL.
- Icinga Web 2 доступна по HTTPS, успешно выполняется вход.
- Минимум один хост и один сервис отображаются в дашборде как проверенные.
Альтернативные подходы
- Использовать PostgreSQL вместо MySQL для IDO (убедитесь, что выбрали соответствующий пакет ido-pgsql).
- Развернуть Icinga на контейнерах Docker для изоляции и упрощённого управления зависимостями.
- Использовать конфигурацию в Git (git-based config) для управления конфигурацией Icinga 2.
Советы по миграции с Nagios
Icinga 2 совместим по логике проверок с Nagios, но конфигурация отличается. При миграции:
- Экспортируйте конфигурации Nagios.
- Преобразуйте шаблоны и команды в формат Icinga 2 (есть утилиты и скрипты сообщества).
- Тестируйте на отдельной среде перед переносом в прод.
Краткое резюме
- Icinga 2 и Icinga Web 2 можно установить на Ubuntu 18.04 через официальный репозиторий.
- MySQL и модуль ido-mysql обеспечивают хранение данных мониторинга.
- Веб-мастер icingaweb2 упрощает начальную настройку, но для продакшена рекомендованы дополнительные меры безопасности.
Дополнительные ресурсы:
- Официальная документация: https://icinga.com/docs/
Факт-бокс
- Минимальные ресурсы: 2 ГБ ОЗУ для небольшой установки
- Основные компоненты: icinga2, monitoring-plugins, icinga2-ido-mysql, icingaweb2
- Веб-интерфейс: Icinga Web 2 (рекомендуется использовать HTTPS)
Глоссарий (1 строка каждое)
- Icinga 2 — движок мониторинга для проверки состояния хостов/сервисов.
- IDO — модуль записи данных в базу (Icinga Data Output).
- Icinga Web 2 — веб-интерфейс для просмотра состояния и управления.
Если нужны примеры конфигураций хостов, шаблонов или playbook для Ansible — дайте знать, и я добавлю готовые сниппеты.
Похожие материалы
Как совместно редактировать заметки в macOS
Включить Восстановление системы в Windows 10
Настройка Always On Display в One UI 7.0
Как алфавитно сортировать в Microsoft Excel
Как связаться с Microsoft — всё о поддержке