Zoeken op website

Icinga: een open source 'Linux Server Monitoring'-tool van de volgende generatie voor RHEL/CentOS 7.0


Icinga is een moderne open source monitoringtool die is ontstaan uit een Nagios-vork en nu twee parallelle takken heeft, Icinga 1 en Icinga 2. Wat deze tool doet is niet veel anders dan Nagios vanwege het feit dat het nog steeds Nagios-plug-ins en add-ons en zelfs configuratiebestanden gebruikt om netwerkdiensten en hosts te controleren en te monitoren, maar er zijn enkele verschillen te zien op webinterfaces, vooral op nieuwe webinterface, rapportagemogelijkheden en eenvoudige ontwikkeling van add-ons.

Dit onderwerp concentreert zich op een basisinstallatie van Icinga 1 Monitoring Tool vanuit binaire bestanden op CentOS of RHEL 7, met behulp van RepoForge > (voorheen bekend als RPMforge) repository's voor CentOS 6, met de klassieke webinterface van Apache Webserver en het gebruik van Nagios Plugins die op uw systeem worden geïnstalleerd.

Lees ook: Installeer Nagios Monitoring Tool in RHEL/CentOS

Vereisten

Een standaard LAMP installatie op RHEL/CentOS 7.0 zonder MySQL en PhpMyAdmin, maar met deze PHP-modules: php-cli
php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd.

  1. Basic LAMP installeren in RHEL/CentOS 7.0

Stap 1: Icinga Monitoring Tool installeren

1. Voordat u doorgaat met de Icinga-installatie vanuit binaire bestanden, voegt u RepoForge-opslagplaatsen toe aan uw systeem door de volgende opdracht te geven, afhankelijk van uw machine.

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

2. Nadat RepoForge-repository's aan uw systeem zijn toegevoegd, begint u met de Icinga-basisinstallatie zonder de webinterface, door de volgende opdracht uit te voeren.

yum install icinga icinga-doc

3. De volgende stap is het proberen de Icinga-webinterface te installeren die wordt geleverd door het icinga-gui-pakket. Het lijkt erop dat dit pakket op dit moment enkele onopgeloste problemen heeft met CentOS/RHEL 7, en enkele transactiecontrolefouten zal genereren, maar u kunt gerust proberen het pakket te installeren, misschien is het probleem inmiddels opgelost.

Als u echter dezelfde fouten op uw machine krijgt als op de onderstaande afbeeldingen te zien is, gebruik dan de volgende aanpak, zoals verder beschreven, om de Icinga-webinterface te kunnen installeren.

yum install icinga-gui

4. De procedure voor het installeren van het icinga-gui pakket dat de webinterface biedt, is als volgt. Download eerst het binaire pakket van de RepoForge-website met de opdracht wget.

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

5. Nadat wget klaar is met het downloaden van het pakket, maakt u een map met de naam icinga-gui (u kunt desgewenst een andere naam kiezen), verplaatst u icinga-gui b> RPM binair naar die map, voer de map in en extraheer de inhoud van het RPM-pakket door de volgende reeks opdrachten te geven.

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

6. Nu je het uitgepakte icinga-gui pakket hebt, gebruik je de opdracht ls om de mapinhoud te visualiseren – dit zou drie nieuwe mappen moeten opleveren – < b>etc, usr en var. Begin met het uitvoeren van een recursieve kopie van alle drie de resulterende mappen in de lay-out van het rootbestandssysteem van uw systeem.

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

Stap 2: Wijzig het Icinga Apache-configuratiebestand en de systeemrechten

7. Zoals gepresenteerd in de inleiding van dit artikel, moet op uw systeem een Apache HTTP-server en PHP zijn geïnstalleerd om Icinga Web Interface te kunnen gebruiken.

Nadat u de bovenstaande stappen hebt voltooid, zou er nu een nieuw configuratiebestand aanwezig moeten zijn op het Apache conf.d pad met de naam icinga.conf. Om toegang te krijgen tot Icinga vanaf een externe locatie vanuit de browser, opent u dit configuratiebestand en vervangt u de volledige inhoud door de volgende configuraties.

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

Zorg ervoor dat u alle bestandsinhoud vervangt door het volgende.

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. Nadat u het Icinga httpd-configuratiebestand heeft bewerkt, voegt u de Apache-systeemgebruiker toe aan de Icinga-systeemgroep en gebruikt u de volgende systeemrechten op de volgende systeempaden.

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. Voordat u het Icinga-systeemproces en de Apache-server start, zorg ervoor dat u ook het SELinux-beveiligingsmechanisme uitschakelt door het setenforce 0-commando uit te voeren en de wijzigingen permanent te maken door het bestand /etc/selinux/config te bewerken, waarbij de SELINUX-context verandert van afdwingen naar uitgeschakeld.

nano /etc/selinux/config

Wijzig de SELINUX-richtlijn zodat deze er zo uitziet.

SELINUX=disabled

Je kunt ook het getenforce commando gebruiken om de SELinux-status te bekijken.

10. Als laatste stap voordat u het Icinga-proces en de webinterface start, kunt u als veiligheidsmaatregel nu het Icinga-beheerderswachtwoord wijzigen door de volgende opdracht uit te voeren, en vervolgens beide processen starten.

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

Stap 3: Installeer Nagios-plug-ins en krijg toegang tot de Icinga-webinterface

11. Om te beginnen met het monitoren van openbare externe services op hosts met Icinga, zoals HTTP, IMAP, POP3, SSH, DNS, ICMP ping en vele andere services die toegankelijk zijn via internet of LAN, moet je < b>Nagios Plugins-pakket geleverd door EPEL Repositories.

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. Om in te loggen op de Icinga-webinterface opent u een browser en wijst u deze naar de URL http://system_IP/icinga/. Gebruik icingaadmin als gebruikersnaam en het wachtwoord dat u eerder heeft gewijzigd en u kunt nu uw localhost-systeemstatus zien.

Dat is alles! Nu heb je Icinga basic met de klassieke webinterface – zoals nagios – geïnstalleerd en actief op je systeem. Met behulp van Nagios Plugins kunt u nu beginnen met het toevoegen van nieuwe hosts en externe services die u kunt controleren en monitoren door de Icinga-configuratiebestanden op het pad /etc/icinga/ te bewerken. Als u interne services op externe hosts moet monitoren, moet u een agent installeren op externe hosts zoals NRPE, NSClient++, SNMP om gegevens te verzamelen en deze naar het hoofdproces van Icinga te sturen.

Lees ook

  1. Installeer de NRPE-plug-in en controleer externe Linux-hosts
  2. Installeer NSClient++ Agent en controleer externe Windows-hosts