Гид по технологиям

Установка и настройка Icinga 2 и Icinga Web 2 на Ubuntu 18.04

6 min read Мониторинг. Обновлено 28 Nov 2025
Icinga 2 на Ubuntu 18.04 — установка и настройка
Icinga 2 на Ubuntu 18.04 — установка и настройка

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

Схема мониторинга и логотип Icinga

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

Установка Icinga 2 и плагинов мониторинга

После установки запустите сервис и добавьте его в автозагрузку:

systemctl start icinga2  
 systemctl enable icinga2

Сервис Icinga запущен и включён в автозагрузку

Примечание: команда 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 и повторите его.

Установка модуля IDO для Icinga и создание базы

Повторите пароль для пользователя базы данных 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

Установка и настройка Apache и PHP для Icinga Web 2

Далее необходимо сгенерировать 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’ на надёжный пароль.

Генерация токена и создание базы данных для Icinga Web 2

Шаг 4 — Завершение через веб-мастер Icinga Web 2

Откройте браузер и перейдите на адрес вашего сервера:

http://10.5.5.20/icingaweb2/setup

Замените IP на адрес вашего сервера. Вставьте ранее сгенерированный setup token и нажмите Next.

Выберите модуль Monitoring (оставьте по умолчанию) и нажмите Next.

Выбор модуля мониторинга в мастере установки

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

Проверка окружения перед установкой

Выберите метод аутентификации — Database. Введите параметры базы icingaweb2 и проверьте конфигурацию.

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

Создание административного пользователя Icinga Web 2

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

Конфигурация приложения Icinga Web 2

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

Подтверждение конфигурации Icinga Web 2

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

Завершение установки и переход на страницу входа в Icinga Web 2

Вход в Icinga Web 2

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

Дашборд 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
  • Проверить права на файлы конфигурации
  • Настроить аудит логов доступа к веб-интерфейсу

Мини-методология развертывания (быстрое руководство)

  1. Подготовьте сервер: актуальная Ubuntu 18.04, минимум 2 ГБ RAM.
  2. Добавьте репозиторий Icinga и установите пакеты.
  3. Установите MySQL, создайте базы для icinga2 и icingaweb2.
  4. Установите и включите ido-mysql.
  5. Установите icingaweb2, настройте PHP и Apache.
  6. Завершите настройку через веб-мастер, проверьте работу.

Критерии приёмки

  • 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 упрощает начальную настройку, но для продакшена рекомендованы дополнительные меры безопасности.

Дополнительные ресурсы:


Факт-бокс

  • Минимальные ресурсы: 2 ГБ ОЗУ для небольшой установки
  • Основные компоненты: icinga2, monitoring-plugins, icinga2-ido-mysql, icingaweb2
  • Веб-интерфейс: Icinga Web 2 (рекомендуется использовать HTTPS)

Глоссарий (1 строка каждое)

  • Icinga 2 — движок мониторинга для проверки состояния хостов/сервисов.
  • IDO — модуль записи данных в базу (Icinga Data Output).
  • Icinga Web 2 — веб-интерфейс для просмотра состояния и управления.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как совместно редактировать заметки в macOS
macOS

Как совместно редактировать заметки в macOS

Включить Восстановление системы в Windows 10
Windows

Включить Восстановление системы в Windows 10

Настройка Always On Display в One UI 7.0
Android.

Настройка Always On Display в One UI 7.0

Как алфавитно сортировать в Microsoft Excel
Excel

Как алфавитно сортировать в Microsoft Excel

Как связаться с Microsoft — всё о поддержке
Поддержка

Как связаться с Microsoft — всё о поддержке

Как настроить руль для Assetto Corsa на ПК
Симрейсинг

Как настроить руль для Assetto Corsa на ПК