Установка мониторинг системы Icinga 2 и Icinga Web 2
Icinga 2 популярная система мониторинга с открытым исходным кодом. Icinga Web 2 - удобный веб-интерфейс управления.
Установку будем производить на сервер под управлением CentOS 7.
Шаг 1. Установка необходимых пакетов для работы.
1 | yum install epel-release wget net-tools bind-utils |
Шаг 2. Установка HTTPD (Apache)
В данном примере установку будем производить на Apache сервер, но лучше всего проксировать это дело через NGINX.
Установка Apache
1 | yum install httpd |
Запретим просмотр корневых каталогов Apache, а также закроем страницу приветствия от Apache.
1 | sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf |
Запустим сервис и добавим в автозагрузку:
1 | systemctl start httpd.service |
Шаг 3. Установка MariaDB
Установим базу данных MariaDB.
Добавляем репозиторий.
В файл /etc/yum.repos.d/MariaDB.repo
добавляем:
1 | [mariadb] |
Устанавливаем MariaDB:
1 | yum -y install MariaDB-client MariaDB-common MariaDB-compat MariaDB-devel MariaDB-server MariaDB-shared |
Запускаем:
1 | systemctl start mariadb.service |
Добавляем в автозагрузку:
1 | systemctl enable mariadb.service |
Выполняем первоначальную настройку:
1 | /usr/bin/mysql_secure_installation |
Шаг 4. Установка PHP
Установим PHP и необходимые модули для нормальной работы Icinga2 и Icinga Web 2.
1 | yum install php php-gd php-intl php-ldap php-ZendFramework php-ZendFramework-Db-Adapter-Pdo-Mysql php-pgsql |
После установки перезагрузим Apache:
1 | systemctl restart httpd.service |
Шаг 5. Установка Icinga 2 и зависимых плагинов
В CentOS 7 можно установить Icinga 2 используя icinga-репозиторий.
1 | rpm --import http://packages.icinga.org/icinga.key |
Запустим сервис Icinga2 и добавим в автозапуск:
1 | systemctl start icinga2.service |
По умолчанию в Icinga2 включены 3 функции: чекер, логирование и уведомление.
Мы можем проверить это выполнив icinga2 feature list
:
1 | # icinga2 feature list |
Шаг 6. Установка Icinga 2 IDO модуля
Установим IDO (Icinga Data Output) модуль для MySQL.
1 | yum install icinga2-ido-mysql |
Подключимся к MySQL и создадим новую базу данных Icinga:
1 | mysql -u root -p |
1 | CREATE DATABASE icinga; |
Импортируем Icinga2 IDO схему:
1 | mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql |
После завершения импорта, включим IDO MySQL модуль. Для этого раскоментируем и изменим данные в конфигурационном файле /etc/icinga2/features-available/ido-mysql.conf
.
1 | user = "icinga" |
Включим IDO модуль и перезапустим сервис Icinga2:
1 | icinga2 feature enable ido-mysql |
Шаг 7. Установка Icinga Web 2
Включение функции внешнего командного канала
1 | icinga2 feature enable command |
После этого мы можем отправлять команды Icinga2 используя веб-интерфейс.
Необходимо добавить пользователя apache
в группу icingacmd
:
1 | usermod -a -G icingacmd apache |
Проверить добавление в группу можно командой id apache
:
1 | # id apache |
Установка Icinga Web 2
Установим пакеты Icinga Web 2 и icingacli
1 | yum install icingaweb2 icingacli |
Укажем Apache рабочие директории для Icinga Web 2:
1 | icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public |
Генерация токена для установки
Генерируем токен для последующего использования при установке через веб-интерфейс.
1 | icingacli setup token create |
Инициализируем мастер установки Icinga 2 через веб-интерфейс
Перейдем по адресу http://<server-ip>/icingaweb2/setup
Далее следуем подсказкам мастера установки.
На странице приветствия введем токен, который мы создали ранее, и нажимаем кнопку «Далее».
На странице модули выберем модули, которые мы хотим включить (по крайней мере, необходим модуль Мониторинга), а затем нажимаем кнопку «Далее».
На странице «Требования» убедимся, что все требования выполнены, а затем нажимаем кнопку «Далее».
На странице «Идентификация» необходимо выбрать метод проверки подлинности при доступе к Icinga Web 2. Здесь мы можем выбрать «База данных», а затем нажать кнопку «Далее».
На странице «Ресурс базы данных» заполним все необходимые поля и нажимаем - «Далее».
На странице «Внутренняя страница проверки подлинности», используем стандартное имя backend-сервера icingaweb2, нажимаем кнопку «Далее».
На странице администрирования настроим первую учетную запись Icinga Web 2 (например, это icingaweb2admin
) и пароль (icingaweb2pass
), а затем нажмем кнопку «Далее».
На странице «Конфигурация приложения» мы можем настроить параметры конфигурации, связанные с приложениями и журналами, в соответствии с потребностями. На данный момент мы можем использовать значения по умолчанию, перечисленные ниже, и нажать кнопку «Далее», чтобы продолжить.
1 | Show Stacktraces: Checked |
Завершаем оставшиеся три пункта оставляя значения по умолчанию и авторизуемся в веб-интерфейс Icinga Web 2.
На этом установка Icinga2 и Icinga2 Web завершена.
Troubleshooting
Для генерации API-доступов выполняем icinga2 api setup