Ricerca nel sito web

Icinga: uno strumento open source di prossima generazione di "monitoraggio del server Linux" per RHEL/CentOS 7.0


Icinga è un moderno strumento di monitoraggio open source che ha avuto origine da un fork di Nagios e ora ha due rami paralleli, Icinga 1 e Icinga 2. Ciò che fa questo strumento non è diverso da Nagios per il fatto che utilizza ancora plugin e componenti aggiuntivi di Nagios e persino file di configurazione per controllare e monitorare servizi di rete e host, ma alcune differenze possono essere individuate sulle interfacce web, specialmente su nuova interfaccia web, funzionalità di reporting e facile sviluppo di componenti aggiuntivi.

Questo argomento si concentrerà su un'installazione di base dello strumento di monitoraggio Icinga 1 dai binari su CentOS o RHEL 7, utilizzando RepoForge repository (precedentemente noti come RPMforge) per CentOS 6, con la classica interfaccia web gestita da Apache Webserver e l'uso dei plugin Nagios che verranno installati sul tuo sistema.

Leggi anche: Installa lo strumento di monitoraggio Nagios in RHEL/CentOS

Requisiti

Un'installazione LAMP di base su RHEL/CentOS 7.0 senza MySQL e PhpMyAdmin, ma con questi moduli PHP: php-cli
php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd.

  1. Installazione di LAMP di base in RHEL/CentOS 7.0

Passaggio 1: installazione dello strumento di monitoraggio Icinga

1. Prima di procedere con l'installazione di Icinga dai binari, aggiungi i repository RepoForge sul tuo sistema emettendo il seguente comando, a seconda del tuo computer.

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

2. Dopo che i repository RepoForge sono stati aggiunti al tuo sistema, inizia con l'installazione di base di Icinga senza ancora l'interfaccia web, eseguendo il seguente comando.

yum install icinga icinga-doc

3. Il passo successivo è provare a installare l'interfaccia web Icinga fornita dal pacchetto icinga-gui. Sembra che per il momento questo pacchetto abbia alcuni problemi irrisolti con CentOS/RHEL 7, e genererà alcuni errori di controllo delle transazioni, ma puoi tranquillamente provare a installare il pacchetto, forse nel frattempo il problema è stato risolto.

Tuttavia, se sul tuo computer riscontri gli stessi errori mostrati nelle immagini seguenti, utilizza il seguente approccio come ulteriormente descritto, per poter installare l'interfaccia web Icinga.

yum install icinga-gui

4. La procedura per installare il pacchetto icinga-gui che fornisce l'interfaccia web è la seguente. Per prima cosa scarica il pacchetto binario dal sito web RepoForge utilizzando il comando wget.

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

5. Dopo che wget ha finito di scaricare il pacchetto, crea una directory denominata icinga-gui (puoi scegliere un altro nome se vuoi), sposta icinga-gui RPM binario in quella cartella, entrare nella cartella ed estrarre il contenuto del pacchetto RPM emettendo la successiva serie di comandi.

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

6. Ora che hai estratto il pacchetto icinga-gui, usa il comando ls per visualizzare il contenuto della cartella – dovrebbero risultare tre nuove directory – < b>etc, usr e var. Inizia eseguendo una copia ricorsiva di tutte e tre le directory risultanti sul layout del file system root del sistema.

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

Passaggio 2: modifica il file di configurazione di Icinga Apache e le autorizzazioni di sistema

7. Come presentato nell'introduzione di questo articolo, il tuo sistema deve avere il server HTTP Apache e PHP installati per poter eseguire l'interfaccia Web Icinga.

Dopo aver completato i passaggi precedenti, un nuovo file di configurazione dovrebbe essere ora presente sul percorso conf.d di Apache denominato icinga.conf. Per poter accedere a Icinga da una postazione remota dal browser, apri questo file di configurazione e sostituisci tutto il suo contenuto con le seguenti configurazioni.

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

Assicurati di sostituire tutto il contenuto del file con quanto segue.

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. Dopo aver modificato il file di configurazione httpd di Icinga, aggiungi l'utente del sistema Apache al gruppo di sistema Icinga e utilizza le seguenti autorizzazioni di sistema sui successivi percorsi di sistema.

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. Prima di avviare il processo di sistema Icinga e il server Apache, assicurati di disabilitare anche il meccanismo di sicurezza SELinux eseguendo il comando setenforce 0 e rendi permanenti le modifiche modificando il file /etc/selinux/config, cambiando il contesto SELINUX da enforcing a disabled.

nano /etc/selinux/config

Modificare la direttiva SELINUX in questo modo.

SELINUX=disabled

Puoi anche usare il comando getenforce per visualizzare lo stato di SELinux.

10. Come ultimo passaggio prima di avviare il processo Icinga e l'interfaccia web, come misura di sicurezza è ora possibile modificare la password dell'amministratore Icinga eseguendo il comando seguente e quindi avviare entrambi i processi.

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

Passaggio 3: installa i plugin Nagios e accedi all'interfaccia Web Icinga

11. Per iniziare a monitorare i servizi pubblici esterni sugli host con Icinga, come HTTP, IMAP, POP3, SSH, DNS, ping ICMP e molti altri servizi accessibili da internet o LAN è necessario installare < Pacchetto b>Nagios Plugins fornito dai repository 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. Per accedere all'interfaccia Web Icinga, aprire un browser e puntarlo all'URL http://system_IP/icinga/. Usa icingaadmin come nome utente e password che hai modificato in precedenza e ora puoi vedere lo stato del tuo sistema localhost.

È tutto! Ora hai Icinga basic con la classica interfaccia web – tipo nagios – installata e funzionante sul tuo sistema. Usando i plugin Nagios puoi ora iniziare ad aggiungere nuovi host e servizi esterni da controllare e monitorare modificando i file di configurazione di Icinga situati nel percorso /etc/icinga/. Se è necessario monitorare i servizi interni su host remoti, è necessario installare un agente su host remoti come NRPE, NSClient++, SNMP per raccogliere dati e inviarli al processo principale Icinga.

Leggi anche

  1. Installa il plugin NRPE e monitora gli host Linux remoti
  2. Installa l'agente NSClient++ e monitora gli host Windows remoti