Установка мониторинг системы Icinga 2 и Icinga Web 2

Установка мониторинг системы Icinga 2 и Icinga Web 2

Icinga 2 популярная система мониторинга с открытым исходным кодом. Icinga Web 2 - удобный веб-интерфейс управления.

Установку будем производить на сервер под управлением CentOS 7.

Шаг 1. Установка необходимых пакетов для работы.

yum install epel-release wget net-tools bind-utils

Шаг 2. Установка HTTPD (Apache)

В данном примере установку будем производить на Apache сервер, но лучше всего проксировать это дело через NGINX.

Установка Apache

yum install httpd

Запретим просмотр корневых каталогов Apache, а также закроем страницу приветствия от Apache.

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Запустим сервис и добавим в автозагрузку:

systemctl start httpd.service
systemctl enable httpd.service

Шаг 3. Установка MariaDB

Установим базу данных MariaDB.

Добавляем репозиторий.
В файл /etc/yum.repos.d/MariaDB.repo добавляем:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Устанавливаем MariaDB:

yum -y install MariaDB-client MariaDB-common MariaDB-compat MariaDB-devel MariaDB-server MariaDB-shared

Запускаем:

systemctl start mariadb.service

Добавляем в автозагрузку:

systemctl enable mariadb.service

Выполняем первоначальную настройку:

/usr/bin/mysql_secure_installation
...
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
...
Remove anonymous users? [Y/n] y
... Success!
...
Disallow root login remotely? [Y/n] y
... Success!
...
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
...
Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Шаг 4. Установка PHP

Установим PHP и необходимые модули для нормальной работы Icinga2 и Icinga Web 2.

yum install php php-gd php-intl php-ldap php-ZendFramework php-ZendFramework-Db-Adapter-Pdo-Mysql php-pgsql

После установки перезагрузим Apache:

systemctl restart httpd.service

Шаг 5. Установка Icinga 2 и зависимых плагинов

В CentOS 7 можно установить Icinga 2 используя icinga-репозиторий.

rpm --import http://packages.icinga.org/icinga.key 
yum install https://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.rpm
yum install icinga2 nagios-plugins-all -y

Запустим сервис Icinga2 и добавим в автозапуск:

systemctl start icinga2.service
systemctl enable icinga2.service

По умолчанию в Icinga2 включены 3 функции: чекер, логирование и уведомление.

Мы можем проверить это выполнив icinga2 feature list:

# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite influxdb livestatus opentsdb perfdata statusdata syslog
Enabled features: checker mainlog notification

Шаг 6. Установка Icinga 2 IDO модуля

Установим IDO (Icinga Data Output) модуль для MySQL.

yum install icinga2-ido-mysql

Подключимся к MySQL и создадим новую базу данных Icinga:

mysql -u root -p
CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'YOURPASSWORD';
FLUSH PRIVILEGES;
EXIT;

Импортируем Icinga2 IDO схему:

mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql

После завершения импорта, включим IDO MySQL модуль. Для этого раскоментируем и изменим данные в конфигурационном файле /etc/icinga2/features-available/ido-mysql.conf.

user = "icinga"
password = "YPURPASSWORD"
host = "localhost"
database = "icinga"

Включим IDO модуль и перезапустим сервис Icinga2:

icinga2 feature enable ido-mysql
systemctl restart icinga2.service

Шаг 7. Установка Icinga Web 2

Включение функции внешнего командного канала

icinga2 feature enable command
systemctl restart icinga2.service

После этого мы можем отправлять команды Icinga2 используя веб-интерфейс.

Необходимо добавить пользователя apache в группу icingacmd:

usermod -a -G icingacmd apache

Проверить добавление в группу можно командой id apache:

# id apache
uid=48(apache) gid=48(apache) группы=48(apache),992(icingacmd),990(icingaweb2)

Установка Icinga Web 2

Установим пакеты Icinga Web 2 и icingacli

yum install icingaweb2 icingacli

Укажем Apache рабочие директории для Icinga Web 2:

icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
systemctl restart httpd.service

Генерация токена для установки

Генерируем токен для последующего использования при установке через веб-интерфейс.

icingacli setup token create

Инициализируем мастер установки Icinga 2 через веб-интерфейс

Перейдем по адресу http://<server-ip>/icingaweb2/setup

Далее следуем подсказкам мастера установки.

На странице приветствия введем токен, который мы создали ранее, и нажимаем кнопку «Далее».

На странице модули выберем модули, которые мы хотим включить (по крайней мере, необходим модуль Мониторинга), а затем нажимаем кнопку «Далее».

На странице «Требования» убедимся, что все требования выполнены, а затем нажимаем кнопку «Далее».

На странице «Идентификация» необходимо выбрать метод проверки подлинности при доступе к Icinga Web 2. Здесь мы можем выбрать «База данных», а затем нажать кнопку «Далее».

На странице «Ресурс базы данных» заполним все необходимые поля и нажимаем - «Далее».

На странице «Внутренняя страница проверки подлинности», используем стандартное имя backend-сервера icingaweb2, нажимаем кнопку «Далее».

На странице администрирования настроим первую учетную запись Icinga Web 2 (например, это icingaweb2admin) и пароль (icingaweb2pass), а затем нажмем кнопку «Далее».

На странице «Конфигурация приложения» мы можем настроить параметры конфигурации, связанные с приложениями и журналами, в соответствии с потребностями. На данный момент мы можем использовать значения по умолчанию, перечисленные ниже, и нажать кнопку «Далее», чтобы продолжить.

Show Stacktraces: Checked
User Preference Storage Type*: Database
Logging Type*: Syslog
Logging Level*: Error
Application Prefix*: icingaweb2

Завершаем оставшиеся три пункта оставляя значения по умолчанию и авторизуемся в веб-интерфейс Icinga Web 2.

На этом установка Icinga2 и Icinga2 Web завершена.

Troubleshooting

Для генерации API-доступов выполняем icinga2 api setup

Комментарии

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×