Установка Icinga 2 на Debian 9
В этом руководстве показано как установить и настроить инструмент для мониторинга сетевой инфраструктуры Icinga 2 в Debian 9.
Что такое Icinga 2?
Icinga представляет собой приложение для мониторинга с открытым исходным кодом, которое можно использовать для наблюдения за критически важными службами и системами на вашем виртуальном сервере. Icinga 2 может отслеживать хосты в сети или проверять внешние сетевые протоколы, такие как состояние HTTP-сервера, почтового сервера, службы обмена файлами и другие.
Icinga 2 можно настроить для мониторинга состояния внутренних систем, для проверки загрузки, памяти, свободного места на диске или других внутренних параметров хостов. Icinga также можно настроить для отправки уведомлений и оповещений по электронной почте или в SMS- системным администраторам, указанным в контактах.
Первоначальные требования
Многие из команд в этом руководстве требуют привилегий суперпользователя. Если при использовании команды sudo появляется ошибка bash: sudo: command not found, вам необходимо активировать режим суперпользователя, установить команду sudo и добавить своего пользователя в группу sudo:
apt-get install sudo -y
usermod -aG sudo yourusername
На виртуальном сервере должен быть установлен LAMP-стек.
Обновите локальные репозитории и пакеты:
Использование OPCache для увеличения скорости загрузки
Чтобы увеличить скорость загрузки вашего приложения с помощью плагина OPCache, доступного в PHP 7, добавьте следующие параметры OPCache в конец файла конфигурации PHP:
Вставьте следующие строки:
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Перезапустите Apache, чтобы изменения вступили в силу:
Настройка баз данных
Установите СУБД, необходимую веб-приложению Icinga 2 для мониторинга, и интерфейсу Icinga Web 2 для хранения пользователей, контактов и других собранных данных. Выполните следующую команду, чтобы установить базу данных MariaDB и модуль PHP, необходимые для доступа к базе данных MySQL в Debian 9:
Войдите в консоль MySQL и защитите учетную запись суперпользователя MariaDB:
Далее выполните сценарий безопасности MySQL:
Войдите в консоль базы данных и создайте базу данных для Icinga 2:
Создайте пользователя с надежным паролем для управления базой данных приложения Icinga 2, введя команды ниже. В этом примере необходимо заменить icingadb, icinga-user и strongpassword своим собственным именем базы данных и учетными данными:
grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by 'strongpassword';
flush privileges;
Создайте вторую базу данных MySQL, используемую Icinga 2 Web для хранения пользователей и групп. Как и в предыдущем шаге замените имя базы данных и учетные данные. Вы можете использовать одну и ту же учетную запись пользователя MySQL для одновременного управления обеими базами данных (icinga_user'@'localhost):
grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'strongpassword';
exit
Установка Icinga 2
Установите Icinga 2 и модуль Icinga 2 MySQL для доступа к базе данных MariaDB:
Во время установки возникнет вопрос использования модуля MySQL. Выберите Yes в командной строке:
После установки Icinga 2 запустите службу Icinga 2 и проверьте состояние демона:
Установка веб-интерфеqса Icinga 2
Для управления Icinga 2 через веб-интерфейс установите пакеты веб-интерфейса Icinga 2 и интерфейса командной строки (CLI):
Перезапустите демон Icinga 2 и проверьте его статус:
Для установки схемы MySQL требуется база данных Icinga 2:
Откройте файл конфигурации Icinga 2 MySQL IDO:
Добавьте учетные данные базы данных Icinga 2 как показано на примере ниже. Используйте учетные данные первой базы данных, созданной на предыдущем этапе создания базы данных:
object IdoMysqlConnection "ido-mysql" {
user = "icinga_user",
password = "strongpassword",
host = "localhost",
database = "icingadb"
}
Сохраните файл и перезапустите демон Icinga 2:
Создайте каталог журналов Icinga Web 2 и добавьте соответствующие разрешения файловой системы, чтобы предоставить разрешения записи групп:
Настройте Icinga 2 через веб-интерфейс
Сгенерируйте токен установки. Сохраните его в легкодоступном месте. Вам нужно будет использовать его для доступа к настройке Icinga 2:
Вывод этой команды должен быть примерно таким:
Примечание: показать сгенерированный токен, если вы его забыли, можно с помощью команды:
Откройте порт HTTP для подключения к веб-интерфейсу:
Откройте браузер и перейдите по адресу http://exampleIP/icingaweb2/setup. Замените exampleIP на IP-адрес вашего виртуального сервера. На первом этапе установки добавьте токен, созданный ранее:
На следующем экране отметьте галочкой модули Doc и Monitoring и нажмите Next для продолжения:
Icinga 2 проверит ваши системные требования и модули PHP, чтобы убедиться, что все требования выполнены, прежде чем продолжить процесс установки и настройки. Если не хватает некоторых модулей, то их необходимо доустановить.
Прокрутите вниз до конца страницы и нажмите Далее, чтобы продолжить:
В качестве типа аутентификации выберите Database:
Используйте информацию из второй базы данных, созданной ранее, чтобы добавить учетные данные, необходимые для доступа к базе данных Icinga 2 для хранения пользователей и групп.
В качестве имени для этого ресурса используйте icingaweb_db.
Параметры Host и Port должны иметь значения localhost и 3306 соответственно. Не включайте постоянные и SSL-опции. Нажмите кнопку Validate configuration, чтобы подтвердить базу данных. После успешной проверки базы данных нажмите Next, чтобы перейти к следующему этапу процесса настройки Icinga 2:
Определите имя для базы данных аутентификации и нажмите Next:
Добавьте имя пользователя с надежным паролем для входа в веб-интерфейс Icinga 2 и нажмите Next:
Далее настройте приложение и выполните настройку регистрации ошибок, используя следующие параметры:
- Отметьте Show Stacktraces;
- Storage Type = Database;
- Logging Type = File;
- Logging Level = Error;
- File path = /var/log/icingaweb2/icingaweb2.log.
Просмотрите информационный отчет и, если ошибок нет, нажмите Next для продолжения:
В следующем окне нажмите Next для продолжения:
Добавьте имя для Icinga 2 Backend, выберите IDO в качестве Backend Type и нажмите Next:
Добавьте учетные данные базы данных для настройки среды ресурса IDO. После добавления нажмите кнопку Validate Configuration, чтобы проверить ресурс IDO мониторинга Icinga.
После появления сообщения Successfully validated нажмите Next:
Выполните настройку транспортного модуля, используя следующие параметры:
Transport Type = Local Command File
Command File = /var/run/icinga2/cmd/icinga2.cmd
Настройте переменные среды безопасности мониторинга (можно оставить значения по умолчанию):
На следующем экране показан подробный отчет о текущей конфигурации. Проверьте конфигурацию и нажмите Готово, чтобы завершить процесс установки:
После завершения процесса установки и настройки появится сообщение о том, что Icinga Web 2 успешно настроена:
Выполните вход в панель Icinga 2 по адресу http://exampleIP/icingaweb2/authentication/login:
Вы будете перенаправлены в панель управления Icinga Web 2, где вы увидите службы и ресурсы виртуального сервера, которые в настоящее время отслеживаются механизмом Icinga 2:
Вы успешно установили, а также настроили приложение мониторинга Icinga 2 и интерфейс Icinga Web 2 в Debian 9.