Установка и настройка Icinga 2 и Icinga Web 2 на Debian 10
Что такое Icinga 2 и Icinga Web 2
- Icinga 2 — система мониторинга с открытым исходным кодом для проверки доступности и состояния сервисов и хостов в сети.
- Icinga Web 2 — PHP‑веб‑интерфейс для управления и просмотра данных, собираемых Icinga 2.
- IDO (Icinga Data Output) — модуль для сохранения состояния мониторинга в базу данных (MariaDB/MySQL).
Требования
- Сервер с Debian 10.
- Статический IP на сервере.
- Пароль root или доступ по sudo.
- Рекомендуется резервная копия важных данных перед изменением конфигурации.
Быстрый план действий
- Обновить систему.
- Установить Apache и PHP (совместимая версия для Debian 10 — PHP 7.3).
- Установить Icinga 2 и плагины мониторинга.
- Установить MariaDB и модуль icinga2-ido-mysql.
- Установить Icinga Web 2 и выполнить веб‑мастер установки.
- Завершить тонкую настройку прав и безопасности.
Начало работы — обновление системы
Обновите пакеты и перезагрузите систему, если необходимо:
apt-get update -y
apt-get upgrade -yПосле обновления перезагрузите систему, чтобы применить ядро и обновления сервисов.
Установка Apache и PHP
Установите Apache и необходимые PHP‑модули (для Debian 10 обычно PHP 7.3):
apt-get install apache2 libapache2-mod-php php php-common php-curl php-gd php-curl php-dom php-mysql php-intl php-imagick -yОткройте файл конфигурации PHP для Apache и внесите рекомендуемые правки:
nano /etc/php/7.3/apache2/php.iniРекомендуемые параметры (проверьте текущие значения перед изменением):
memory_limit = 256M
file_uploads = On
allow_url_fopen = On
allow_url_include = Off
post_max_size = 64M
upload_max_filesize = 100M
max_execution_time = 300
default_charset = "UTF-8"
# Установите ваш часовой пояс, например:
date.timezone = "Asia/Kolkata"Сохраните изменения и перезапустите Apache:
systemctl restart apache2Совет: если вы используете другой регион, замените date.timezone на ваш локальный часовой пояс (например, Europe/Moscow).
Установка Icinga 2 и плагинов
Icinga 2 доступна в репозиториях Debian 10. Установите её и плагины:
apt-get install icinga2 vim-icinga2 monitoring-plugins-basic monitoring-plugins-common icingacli -yЗапустите сервис и включите автозапуск:
systemctl start icinga2
systemctl enable icinga2Проверить статус:
systemctl status icinga2.serviceВы должны увидеть активный сервис (active (running)). Это указывает, что основной демон запущен.
Установка MariaDB и модуля IDO
Установите сервер баз данных и модуль для записи состояния Icinga в MySQL/MariaDB:
apt-get install mariadb-common mariadb-server icinga2-ido-mysqlВо время установки пакет icinga2-ido-mysql предложит включить ido‑mysql. Выберите yes и нажмите Enter.

Далее вас попросят использовать dbconfig‑common для автоматической настройки базы данных. Выберите yes.

Вас попросят ввести пароль приложения MySQL для icinga2-ido-mysql.


Введите надёжный пароль и подтвердите. Если вы используете автоматическую настройку через dbconfig, скрипты создадут нужные таблицы автоматически.
Создание отдельной базы для Icinga Web 2
Войдите в оболочку MariaDB и создайте базу данных для Icinga Web 2:
mysql -u root -pВ MariaDB выполните:
CREATE DATABASE icingaweb2;
GRANT ALL PRIVILEGES ON icingaweb2.* TO 'icingaweb2'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;Примечание: замените ‘password’ на сложный пароль. Храните его в менеджере паролей.
Установка Icinga Web 2
Установите пакет Icinga Web 2:
apt-get install icingaweb2 -yСоздайте системную группу и добавьте веб‑пользователь Apache (www-data):
addgroup --system icingaweb2
usermod -a -G icingaweb2 www-dataСгенерируйте токен настройки для веб‑мастера Icinga Web 2:
icingacli setup config directory --group icingaweb2
icingacli setup token createВы увидите токен, например:
36ab602342cceb9cЗапомните токен — он понадобится в веб‑мастере при первом запуске.
Перезапустите сервисы:
systemctl restart apache2
systemctl restart icinga2Настройка через веб‑интерфейс Icinga Web 2
Откройте браузер и перейдите по адресу:
http://your-ip-address/icingaweb2/setup
Введите токен настройки, затем следуйте шагам мастера: выбор модулей, проверка PHP‑модулей, выбор типа аутентификации (рекомендуется Database), указание данных базы данных (icingaweb2), создание административного аккаунта.
Последовательность экранов в мастере (на иллюстрациях):

Выберите модули:

Проверьте список модулей и зависимостей PHP:


Выберите тип аутентификации (например, Database):

Укажите ресурс базы данных и параметры доступа к базе, созданной ранее:

Создайте административную учётную запись Icinga Web 2:

Завершите настройку модуля мониторинга, укажите backend и тип ресурса IDO (MySQL/MariaDB):

Укажите параметры подключения к базе IDO (те, что создались при установке icinga2-ido-mysql):

Выберите транспорт команд (локальная командная строка обычно подходит) и завершите установку:

При успешном завершении вы увидите подтверждение:

Войдите в интерфейс Icinga Web 2 под созданным админом:

После логина откроется дашборд:

Проверки и базовая отладка
- Убедитесь, что сервис icinga2 активен: systemctl status icinga2
- Проверьте логи: /var/log/icinga2/icinga2.log
- Apache: systemctl status apache2 и логи /var/log/apache2/error.log
- MariaDB: mysql -u root -p и SHOW DATABASES; чтобы проверить наличие таблиц IDO, используйте USE icinga; SHOW TABLES;
Если веб‑мастер не запускается, проверьте права на каталог конфигураций и членство www‑data в группе icingaweb2.
Контрольные списки
Контрольный список администратора (перед вводом в эксплуатацию)
- Обновление системы выполнено.
- Все необходимые PHP‑модули установлены.
- Icinga 2 запущен и работает без ошибок.
- MariaDB доступна и настроена.
- IDO успешно записывает данные в базу.
- Токен Icinga Web 2 сгенерирован и использован.
- Создан администратор Icinga Web 2.
- Настроены пользователи и права доступа.
- Включены резервные копии конфигураций и БД.
Контрольный список оператора (первые 24 часа)
- Проверить наличие алертов и их корректность.
- Убедиться, что проверки выполняются с ожидаемой периодичностью.
- Проверить очередь команд и задержки передачи команд.
- Отслеживать загрузку CPU и памяти на сервере мониторинга.
- Поддерживать журнал изменений конфигурации.
Критерии приёмки
- Веб‑интерфейс Icinga Web 2 доступен по адресу /icingaweb2 и позволяет войти под админом.
- Icinga 2 генерирует метрики и записи в IDO без ошибок за 1 час тестовой нагрузки.
- Минимум один хост добавлен и проверяется успешно (OK state).
- Резервное копирование конфигураций и дампов базе настроено и протестировано.
Рекомендации по безопасности
- Используйте HTTPS для доступа к Icinga Web 2 (настройте сертификат для Apache).
- Ограничьте доступ по брандмауэру только с управленияющих подсетей.
- Не храните пароли в открытом виде — используйте менеджеры паролей.
- Регулярно обновляйте систему и пакеты (apt‑upgrade).
- Разделите роли: отдельные учётные записи для администраторов и операторов.
Совместимость и миграция
- Debian 10 обычно использует PHP 7.3; при переходе на более новые версии Debian/PHP проверьте совместимость модулей Icinga и PHP‑расширений.
- При миграции IDO между серверами выполните дамп базы и восстановление, затем проверьте целостность таблиц и прав.
Частые проблемы и решения
Проблема: Icinga Web 2 не показывает данные.
- Проверьте, включён ли ido‑mysql в Icinga 2: icinga2 feature list
- Проверьте соединение IDO с БД (параметры в /etc/icinga2/features-enabled/ido-mysql.conf).
Проблема: Ошибки PHP в мастере установки.
- Установите отсутствующие PHP‑модули (проверка в мастере) и перезапустите Apache.
Проблема: Права доступа к файлам конфигурации.
- Убедитесь, что группа icingaweb2 содержит www‑data, и что права на каталог конфигурации корректны.
Короткая методология внедрения
- Подготовьте тестовый сервер с Debian 10.
- Выполните установку и настройку по инструкции.
- Протестируйте функциональность с парой тестовых хостов.
- Настройте оповещения и проверьте сценарии эскалации.
- Перенесите конфигурацию в продакшен по заранее составленному плану отката.
Роль‑ориентированные советы
- Системный администратор: настройте резервное копирование БД и системные обновления.
- Сетевой инженер: добавьте проверки доступности маршрутизаторов и переключателей.
- Оператор NOC: настройте дашборды и предупреждения в соответствии с SLA.
Мини‑факты
- Платформа: Debian 10 (Buster).
- Веб‑сервер: Apache 2.
- PHP: 7.3 (по умолчанию в Debian 10).
- База данных: MariaDB / MySQL.
Тестовые сценарии и приёмка
- Тест 1: Добавить тестовый хост и ожидать состояние OK через 2 минуты.
- Тест 2: Имитировать недоступность порта — получить WARNING/CRITICAL в интерфейсе.
- Тест 3: Проверить запись состояния в базу IDO и соответствие данных в интерфейсе.
Быстрый план отката
- Восстановить дамп базы данных (если изменяли структуру вручную).
- Вернуть конфигурационные файлы Icinga (из резервной копии).
- Перезапустить сервисы: systemctl restart icinga2 && systemctl restart apache2.
Рекомендация по дальнейшему развитию
После базовой установки добавьте:
- HA‑конфигурацию Icinga 2 (если требуется отказоустойчивость).
- Централизованную систему логирования (ELK/Graylog).
- Автоматизированное управление конфигурацией (Ansible/Chef/Puppet).
Итог
Вы установили Icinga 2 и Icinga Web 2 на Debian 10. Система готова для добавления хостов и сервисов. Проведите тестовую валидацию, настройте оповещения и бэкапы, и внесите дополнительные меры безопасности перед вводом в эксплуатацию.
Важно: храните учётные данные и токены в защищённом месте.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента