Icinga: инструмент следующего поколения с открытым исходным кодом для мониторинга сервера Linux для RHEL/CentOS 7.0
Icinga — это современный инструмент мониторинга с открытым исходным кодом, созданный на основе ответвления Nagios и теперь имеющий две параллельные ветви: Icinga 1 и Icinga. 2. То, что делает этот инструмент, не отличается от Nagios, поскольку он по-прежнему использует плагины и дополнения Nagios и даже файлы конфигурации для проверки и мониторинга сетевых служб и хостов, но некоторые различия можно заметить в веб-интерфейсах, особенно на новый веб-интерфейс, возможность создания отчетов и простая разработка дополнений.
В этом разделе основное внимание будет уделено базовой установке инструмента мониторинга Icinga 1 из двоичных файлов в CentOS или RHEL 7 с использованием RepoForge (ранее известные как RPMforge) репозитории для CentOS 6 с классическим веб-интерфейсом, поддерживаемым веб-сервером Apache, и использованием плагинов Nagios, которые будут установлены в вашей системе.
Читайте также: установите инструмент мониторинга Nagios в RHEL/CentOS
Требования
Базовая установка LAMP на RHEL/CentOS 7.0 без MySQL и PhpMyAdmin, но со следующими модулями PHP: php-cli
php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd.
- Установка базовой LAMP в RHEL/CentOS 7.0
Шаг 1. Установка инструмента мониторинга Icinga
1. Прежде чем приступить к установке Icinga из двоичных файлов, добавьте репозитории RepoForge в свою систему, введя следующую команду, в зависимости от вашего компьютера.
Для 86-64-битной версии
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Для 32-битной версии
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
2. После добавления репозиториев RepoForge в вашу систему начните с базовой установки Icinga без веб-интерфейса, выполнив следующую команду.
yum install icinga icinga-doc
3. Следующий шаг — попытаться установить веб-интерфейс Icinga, предоставляемый пакетом icinga-gui. Похоже, что на данный момент этот пакет имеет некоторые нерешенные проблемы с CentOS/RHEL 7 и будет генерировать некоторые ошибки проверки транзакций, но вы можете смело попытаться установить пакет, возможно, проблема уже решена.
Тем не менее, если на вашем компьютере возникают те же ошибки, что и на рисунках ниже, используйте следующий подход, как описано далее, чтобы иметь возможность установить веб-интерфейс Icinga.
yum install icinga-gui
4. Процедура установки пакета icinga-gui, предоставляющего веб-интерфейс, следующая. Сначала загрузите двоичный пакет с веб-сайта RepoForge с помощью команды wget.
Для 86-64-битной версии
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.x86_64.rpm
Для 32-битной версии
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.i686.rpm
5. После того, как wget завершит загрузку пакета, создайте каталог с именем icinga-gui (при желании вы можете выбрать другое имя), переместите icinga-gui Двоичный файл RPM в эту папку, войдите в папку и извлеките содержимое пакета RPM, введя следующую серию команд.
mkdir icinga-gui
mv icinga-gui-* icinga-gui
cd icinga-gui
rpm2cpio icinga-gui-* | cpio -idmv
6. Теперь, когда у вас есть извлеченный пакет icinga-gui, используйте команду ls для визуализации содержимого папки – в результате должно появиться три новых каталога – 6. b>etc, usr и var. Начните с выполнения рекурсивного копирования всех трех полученных каталогов в структуру корневой файловой системы вашей системы.
cp -r etc/* /etc/
cp -r usr/* /usr/
cp -r var/* /var/
Шаг 2. Измените файл конфигурации Icinga Apache и системные разрешения.
7. Как показано во введении к этой статье, для запуска веб-интерфейса Icinga в вашей системе должен быть установлен HTTP-сервер Apache и PHP.
После того, как вы выполнили вышеуказанные шаги, новый файл конфигурации должен появиться по пути Apache conf.d с именем icinga.conf. Чтобы иметь возможность получить доступ к Icinga из удаленного места через браузер, откройте этот файл конфигурации и замените все его содержимое следующими конфигурациями.
nano /etc/httpd/conf.d/icinga.conf
Обязательно замените все содержимое файла следующим.
ScriptAlias /icinga/cgi-bin "/usr/lib64/icinga/cgi"
<Directory "/usr/lib64/icinga/cgi">
SSLRequireSSL
Options ExecCGI
AllowOverride None
AuthName "Icinga Access"
AuthType Basic
AuthUserFile /etc/icinga/passwd
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAll>
Require all granted
# Require local
Require valid-user
</RequireAll>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
Require valid-user
</IfModule>
</Directory>
Alias /icinga "/usr/share/icinga/"
<Directory "/usr/share/icinga/">
SSLRequireSSL
Options None
AllowOverride All
AuthName "Icinga Access"
AuthType Basic
AuthUserFile /etc/icinga/passwd
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAll>
Require all granted
# Require local
Require valid-user
</RequireAll>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
Require valid-user
</IfModule>
</Directory>
8. После редактирования файла конфигурации Icinga httpd добавьте системного пользователя Apache в системную группу Icinga и используйте следующие системные разрешения для следующих системных путей.
usermod -aG icinga apache
chown -R icinga:icinga /var/spool/icinga/*
chgrp -R icinga /etc/icinga/*
chgrp -R icinga /usr/lib64/icinga/*
chgrp -R icinga /usr/share/icinga/*
9. Перед запуском системного процесса Icinga и сервера Apache обязательно отключите механизм безопасности SELinux, выполнив команду setenforce 0, и сделайте изменения постоянными. отредактировав файл /etc/selinux/config, изменив контекст SELINUX с принудительного на отключенного.
nano /etc/selinux/config
Измените директиву SELINUX, чтобы она выглядела следующим образом.
SELINUX=disabled
Вы также можете использовать команду getenforce для просмотра статуса SELinux.
10. В качестве последнего шага перед запуском процесса Icinga и веб-интерфейса в качестве меры безопасности теперь вы можете изменить пароль администратора Icinga, выполнив следующую команду, а затем запустить оба процесса.
htpasswd -cm /etc/icinga/passwd icingaadmin
systemctl start icinga
systemctl start httpd
Шаг 3. Установите плагины Nagios и получите доступ к веб-интерфейсу Icinga
11. Чтобы начать мониторинг публичных внешних служб на хостах с помощью Icinga, таких как HTTP, IMAP, POP3, SSH, DNS, ICMP ping и многих других служб, доступных из Интернета или локальной сети, вам необходимо установить 11. b>Пакет плагинов Nagios, предоставленный репозиториями EPEL.
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
yum install yum install nagios-plugins nagios-plugins-all
12. Чтобы войти в веб-интерфейс Icinga, откройте браузер и укажите URL-адрес http://system_IP/icinga/. Используйте icingaadmin в качестве имени пользователя и пароля, которые вы изменили ранее, и теперь вы сможете увидеть состояние вашей локальной системы.
Вот и все! Теперь у вас есть Icinga Basic с классическим веб-интерфейсом, похожим на Nagios, установленным и работающим в вашей системе. Используя плагины Nagios, теперь вы можете начать добавлять новые хосты и внешние службы для проверки и мониторинга, редактируя файлы конфигурации Icinga, расположенные по пути /etc/icinga/. Если вам необходимо отслеживать внутренние службы на удаленных хостах, вам необходимо установить на удаленных хостах агент, такой как NRPE, NSClient++, SNMP, для сбора данных и отправки их в основной процесс Icinga.
Читайте также
- Установите плагин NRPE и отслеживайте удаленные хосты Linux
- Установите агент NSClient++ и отслеживайте удаленные хосты Windows.