Поиск по сайту:

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.

  1. Установка базовой 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.

Читайте также

  1. Установите плагин NRPE и отслеживайте удаленные хосты Linux
  2. Установите агент NSClient++ и отслеживайте удаленные хосты Windows.