Wyszukiwanie w witrynie

Icinga: narzędzie nowej generacji typu open source do monitorowania serwerów Linux dla RHEL/CentOS 7.0


Icinga to nowoczesne narzędzie do monitorowania typu open source, które wywodzi się z forka Nagios i ma obecnie dwie równoległe gałęzie, Icinga 1 i Icinga 2. To narzędzie nie różni się od Nagios tym, że nadal używa wtyczek i dodatków Nagios, a nawet plików konfiguracyjnych do sprawdzania i monitorowania usług sieciowych i hostów, ale pewne różnice można dostrzec w interfejsach internetowych, szczególnie w nowy interfejs sieciowy, możliwość raportowania i łatwe tworzenie dodatków.

W tym temacie skupimy się na podstawowej instalacji narzędzia monitorującego Icinga 1 z plików binarnych na CentOS lub RHEL 7 przy użyciu RepoForge (wcześniej znane jako RPMforge) repozytoria dla CentOS 6, z klasycznym interfejsem internetowym obsługiwanym przez Apache Webserver i wykorzystaniem wtyczek Nagios, które zostaną zainstalowane w twoim systemie.

Przeczytaj także: Zainstaluj narzędzie monitorujące Nagios w RHEL/CentOS

Wymagania

Podstawowa instalacja LAMP na RHEL/CentOS 7.0 bez MySQL i PhpMyAdmin, ale z tymi modułami PHP: php-cli
php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd.

  1. Instalowanie podstawowej LAMPY w RHEL/CentOS 7.0

Krok 1: Instalowanie narzędzia monitorującego Icinga

1. Przed przystąpieniem do instalacji Icinga z plików binarnych dodaj repozytoria RepoForge do swojego systemu, wydając poniższe polecenie, w zależności od komputera.

Dla wersji 86-64-bitowej
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Dla wersji 32-bitowej
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

2. Po dodaniu repozytoriów RepoForge do Twojego systemu, rozpocznij od podstawowej instalacji Icinga bez interfejsu sieciowego, uruchamiając poniższe polecenie.

yum install icinga icinga-doc

3. Następnym krokiem jest próba instalacji interfejsu sieciowego Icinga dostarczanego przez pakiet icinga-gui. Wygląda na to, że w tej chwili ten pakiet ma pewne nierozwiązane problemy z CentOS/RHEL 7 i będzie generował pewne błędy sprawdzania transakcji, ale możesz spróbować zainstalować pakiet, być może w międzyczasie problem został rozwiązany.

Jeśli jednak na komputerze pojawiają się te same błędy, co pokazano na poniższych zdjęciach, zastosuj poniższe podejście zgodnie z dalszym opisem, aby móc zainstalować interfejs sieciowy Icinga.

yum install icinga-gui

4. Procedura instalacji pakietu icinga-gui udostępniającego interfejs sieciowy jest następująca. Najpierw pobierz pakiet binarny ze strony RepoForge za pomocą polecenia wget.

Dla wersji 86-64-bitowej
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.x86_64.rpm
Dla wersji 32-bitowej
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.i686.rpm

5. Gdy wget zakończy pobieranie pakietu, utwórz katalog o nazwie icinga-gui (możesz wybrać inną nazwę, jeśli chcesz), przenieś icinga-gui b> RPM binary do tego folderu, wejdź do folderu i wyodrębnij zawartość pakietu RPM, wydając następną serię poleceń.

mkdir icinga-gui
mv icinga-gui-* icinga-gui
cd icinga-gui
rpm2cpio icinga-gui-* | cpio -idmv

6. Teraz, gdy masz wyodrębniony pakiet icinga-gui, użyj polecenia ls, aby zwizualizować zawartość folderu – powinno to skutkować trzema nowymi katalogami – < b>etc, usr i var. Zacznij od wykonania rekursywnego kopiowania wszystkich trzech wynikowych katalogów w układzie głównego systemu plików.

cp -r etc/* /etc/
cp -r usr/* /usr/
cp -r var/* /var/

Krok 2: Zmodyfikuj plik konfiguracyjny Icinga Apache i uprawnienia systemowe

7. Jak przedstawiono we wstępie tego artykułu, Twój system musi mieć zainstalowany serwer Apache HTTP i PHP, aby móc uruchomić interfejs sieciowy Icinga.

Po wykonaniu powyższych kroków w ścieżce Apache conf.d powinien znajdować się nowy plik konfiguracyjny o nazwie icinga.conf. Aby móc uzyskać dostęp do Icinga ze zdalnej lokalizacji z poziomu przeglądarki, otwórz ten plik konfiguracyjny i zastąp całą jego zawartość poniższymi konfiguracjami.

nano /etc/httpd/conf.d/icinga.conf

Upewnij się, że zastąpiłeś całą zawartość pliku następującą.

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. Po edycji pliku konfiguracyjnego httpd Icinga, dodaj użytkownika systemu Apache do grupy systemowej Icinga i korzystaj z poniższych uprawnień systemowych na kolejnych ścieżkach systemowych.

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. Przed uruchomieniem procesu systemowego Icinga i serwera Apache upewnij się, że wyłączyłeś także mechanizm bezpieczeństwa SELinux, uruchamiając polecenie setenforce 0 i zapisz zmiany na stałe edytując plik /etc/selinux/config, zmieniając kontekst SELINUX z wymuszający na wyłączony.

nano /etc/selinux/config

Zmodyfikuj dyrektywę SELINUX, aby wyglądała tak.

SELINUX=disabled

Możesz także użyć polecenia getenforce, aby wyświetlić status SELinuksa.

10. Jako ostatni krok przed uruchomieniem procesu Icinga i interfejsu internetowego, ze względów bezpieczeństwa możesz teraz zmodyfikować hasło administratora Icinga, uruchamiając poniższe polecenie, a następnie uruchomić oba procesy.

htpasswd -cm /etc/icinga/passwd icingaadmin
systemctl start icinga
systemctl start httpd

Krok 3: Zainstaluj wtyczki Nagios i uzyskaj dostęp do interfejsu internetowego Icinga

11. Aby rozpocząć monitorowanie publicznych usług zewnętrznych na hostach z Icingą, takich jak HTTP, IMAP, POP3, SSH, DNS, ICMP ping i wiele innych usług dostępnych z Internetu lub sieci LAN należy zainstalować 11. Pakiet b>Wtyczek Nagios dostarczany przez repozytoria 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. Aby zalogować się do interfejsu internetowego Icinga, otwórz przeglądarkę i wskaż adres URL http://system_IP/icinga/. Użyj icingaadmin jako nazwy użytkownika i hasła, które zmieniłeś wcześniej, a teraz możesz zobaczyć status swojego systemu localhost.

To wszystko! Teraz masz Icinga basic z klasycznym interfejsem internetowym – takim jak nagios – zainstalowany i działający w Twoim systemie. Korzystając z wtyczek Nagios, możesz teraz rozpocząć dodawanie nowych hostów i usług zewnętrznych do sprawdzania i monitorowania, edytując pliki konfiguracyjne Icinga znajdujące się w ścieżce /etc/icinga/. Jeśli chcesz monitorować usługi wewnętrzne na zdalnych hostach, musisz zainstalować agenta na zdalnych hostach, takiego jak NRPE, NSClient++, SNMP, aby zbierać dane i wysyłać je do głównego procesu Icinga.

Przeczytaj także

  1. Zainstaluj wtyczkę NRPE i monitoruj zdalne hosty Linux
  2. Zainstaluj agenta NSClient++ i monitoruj zdalne hosty Windows