X

Installazione di Nagios e Centreon per il monitoraggio della rete.

Monitorare la rete per garantire il corretto funzionamento di tutti i servizi, è un aspetto che ritengo molto importante in una infrastruttura di medie dimensioni.

Di software che svolgono questo compito ce ne sono molti, vi propongo una soluzione freeware e opensource basata sul celebre motore Nagios e Centreon come front-end.

Il sistema operativo da me scelto è “CentOS 6 64-bit minimal installation”

NB. Questa guida non è valida per sistemi operativi o architetture differenti.

 

Terminata l’installazione del sistema operativo, possiamo procedere con l’aggiornamento dei pacchetti.

#yum update

Ora installiamo i package di sistema richiesti per il corretto funzionamento di Nagios.

# yum install system-config-firewall-tui system-config-network-tui wget ntp perl vixie-cron sudo

Disabilitiamo SELINUX e riavviamo per applicare le modifiche.

# vim /etc/selinux/config
    SELINUX=disabled
# reboot

Disabilitiamo anche il firewall

# system-config-firewall-tui

Attiviamo il client NTP e configuriamo il servizio.

# chkconfig ntpd on
# ntpdate pool.ntp.org
# service ntpd start

Ora scarichiamo il repository rpmforge ed installiamolo

# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

# rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Installiamo tutti i pacchetti necessari all’ambiente

#yum -y update
#yum -y install make gcc php-pear* mysql mysql-server php-mbstring mysql-devel httpd net-snmp php-mysql gd-devel perl-GD perl-Config-IniFiles perl-Crypt-DES perl-Digest-HMAC perl-IO-Socket-INET6 perl-Net-SNMP php-ldap php-snmp perl-Socket6 php-gd php-xml mlocate sendmail openssh-clients php-posix mailx system-config-network-tui ntp rrdtool rrdtool-devel php-rrdtool perl-rrdtool net-snmp-utils bc

Abilitiamo e facciamo partire il servizio MySQL

#chkconfig mysqld on
#service mysqld start

Mettiamo in sicurezza MySQL, dobbiamo impostare la password e rispondere in modo affermativo alle richieste.

# mysql_secure_installation

Inseriamo nel file hosts il nome completo del server, in questo modo non dovremmo avere errori o avvisi da parte di Apache.

#vim /etc/hosts

   127.0.0.1 centreon.miodominio.it

Abilitiamo anche Apache

#chkconfig httpd on

#service httpd start

Apportiamo le adeguate modifiche agli utenti e ai gruppi

# groupadd nagios
# adduser nagios -g nagios
# passwd nagios

# usermod -G nagios nagios
# usermod -G apache,nagios apache

Scarichiamo ed estraiamo i pacchetti di Nagios,Centreon e NDOUTILS

#wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz/download
#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
#wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
#wget http://download.centreon.com/index.php?id=169

#tar zxvf nagios-3.2.3.tar.gz
#tar zxvf nagios-plugins-1.4.15.tar.gz
#tar zxvf centreon-2.3.4.tar.gz
#tar zxvf ndoutils-1-4b9.tar.gz

Entriamo nella directory di Nagios, compiliamolo ed installiamolo

#cd nagios-3.2.3
#./configure
#make all
#make install
#make install-init
#make install-commandmode
#make install-config
#make install-webconf

Creiamo l’utente nagiosadmin con password nagiosadmin

#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Abilitiamo il servizio Nagios

#chkconfig –add nagios
#chkconfig nagios on

Ora compiliamo ed installiamo il plugins

#cd nagios-plugins-1.4.15
#./configure
#make
#make install

Compiliamo ed installiamo NDOUtils

#cd ndoutils-1.4b9
#./configure –with-mysql-lib=/usr/lib64/mysql
#make
#make install
#make install-init

Il motore di Nagios è ora installato.

Adesso è il momento di installare Centreon

#cd centreon-2.3.4
#./install.sh -i –v

Rispondete in modo affermativo a tutte le richieste, ed accettare tutti i path di Centreon che vengono proposti, ad eccezione dei seguenti che devono essere cambiati:

RRD Path: /usr/lib64/perl5/RRDs.pm
PEAR Path: /usr/share/pear/PEAR.php
NDOMOD Path: /usr/local/nagios/bin/ndomod.o

Consiglio comunque di controllare l’effettiva esistenza di questi percorsi.

Terminata l’installazione andiamo a cambiare il file sudoers,permettendo ad apache di eseguire script.

#visudo-f /etc/sudoers

In questo file commentiamo la voce “Default requiretty”

Ora dobbiamo editare il file /etc/init.d/nagios inserendo un comando sopra la riga 133

#vim /etc/init.d/nagios

:set number

chmod 777 $NagiosCommandFile

Editiamo la configurazione del demone SNMP per permettere a Centreon di controllare lo stesso server.

#vim /etc/snmp/snmpd.conf

  rocommunity public 127.0.0.1

#service snmpd start
#chkconfig snmpd on

Abilitiamo ndo2db e permettiamo a Nagios di avere diritti sufficienti

#cp /usr/src/ndoutils-1.4b9/config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg

#chown nagios:nagios /usr/local/nagios/etc/ndo2db.cfg

#chmod 775 /usr/local/nagios/etc/ndo2db.cfg

#chmod -R 775 /usr/local/nagios/var/

#chmod 775 /var/lib/centreon/*

#chkconfig ndo2db on
#service ndo2db start

L’installazione di centreon e del database di connessione è terminata.

Ora possiamo aprire il browser puntando all’indirizzo http://mioserver/centreon per terminare la configurazione.

Luca Malatesta:

View Comments (18)

  • Non ci posso credere! Dopo una marea di guide sbagliate e parziali, una esatta dalla A alla Z.
    Grazie

  • Ottimo!!!! Concordo anch'io, l'unica guida veramente fatta bene!
    Complimenti!
    Se non sono troppo indiscreto, hai fatto anche un manuale operativo?

    Grazie!!!

    Fabio

    • Ti ringrazio, ancora non ho fatto un manuale operativo. Se hai qualche domanda specifica puoi chiedermi.
      Ciao
      Luca

      • Grazie!
        Vorrei poter monitorare un servizio attivo su un server e capire quando va giù.
        Ho già aggiunto il file mib con le trap snmp, cerco di creare un servizio con il comando check_centreon_process ma mi restituisce l'errore:
        No output returned from plugin.
        Ho attivato anche il servizio snmp sul server interessato (Windows) in read ONLY.
        Se hai un esempio da mandarmi ti sarei molto grato!

        Fabio
        fabio.tufi@libero.it

        • Ciao, che tipo di servizio devi monitorare? Comunque è possibile che sul server windows devi installare nsclient.

          Sempre verso quel server, stai monitorando altro?

          • Il server è un server dove gira Domino di IBM e devo monitorare lo stato del servizio:
            nserver.exe.

            Grazie per l'aiuto!

          • Ciao, ho provato ad utilizzare il comando check_centreon_processes ed effettivamente anche a me restituiva lo stesso errore.
            Ho risolto in questo modo:
            Configuration,commands,check_centreon_process
            Dalla definizione del comando ho tolto il parametro "-n"

            Comunque in generale quando devo fare il debug di un comando o un servizio, provo prima a lanciarlo collegandomi in ssh al server centreon, in questo caso ho lanciato questo comando per verificare l'esecuzione del processo store.exe
            /usr/local/nagios/libexec/check_centreon_snmp_process -H 10.101.126.3 -p store.exe -C miaCommunity

  • Perfetto ora funziona tutto!
    Grazie per i tuoi consigli molto preziosi e per la tua professionalità!

    Grazie infinite

    Fabio

  • Ciao Luca,

    sono Fabio Tufi.

    Spero di non disturbarti chiedendoti un'ulteriore delucidazione.

    Sto configurando un servizio che controlli un FTP con accesso ed esecuzione di un programma interno e sto utilizzando il plugin check_ftp_rw che necessita, a quanto pare, di alcune configurazioni Perl5 che mi stanno facendo diventare matto.

    Ti dico cosa ho fatto:

    - ho copiato il plugin nel percorso /usr/lib/nagios/plugins/

    - ho cambiato all'interno di check_ftp_rw il percorso /usr/local/nagios/libexec/ con /usr/lib/nagios/plugins

    - ho eseguito il comando perl -MCPAN -e shell

    - install Net::FTPSSL

    tutto come dal link : http://exchange.nagios.org/directory/Plugins/Network-Protocols/FTP/check_ftp_rw/details

    ma niente da fare....

    Rilascia l'errore:

    [root@localhost ~]# /usr/lib/nagios/plugins/check_ftp_rw --host 10.0.0.4 --username user --password password

    Can't locate Net/FTPSSL.pm in @INC (@INC contains:

    /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi

    /usr/lib/perl5/site_perl/5.8.8

    /usr/lib/perl5/site _perl

    /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi

    /usr/lib/perl5/vendor_perl/5.8.8

    /usr/lib/perl5/vendor_perl

    /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi

    /usr/lib/perl5/5.8.8 .) at

    /usr/lib/nagios/plugins/check_ftp_rw line 26.

    BEGIN failed--compilation aborted at /usr/lib/nagios/plugins/check_ftp_rw line 26.

    Hai qualche idea in merito?

    Ti sarei enormemente grato se mi aiutassi.

    Grazie in qualsiasi caso!

    Un saluto

    Fabio Tufi

    • Ciao Fabio, è un problema di dipendenze, ho risolto in questo modo:
      #yum install perl-Net-FTPSSL

      A questo punto lo script funziona, questo è il risultato:

      [root@centreon libexec]# ./check_ftp_rw --host 10.101.126.4 --user ftptest --password test.123 --dir test
      Connected to 10.101.126.4, logged in as ftp, chdir'ed to test

  • Ciao Luca,
    grazie per avermi risposto!
    eseguo yum install perl-Net-FTPSSL ma ricevo questo errore...

    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    *base: centos.crazyfrogs.org
    *extrass: centos.crazyfrogs.org
    *updates: centos.crazyfrogs.org
    Setting up Install Process
    No package perl-Net-FTPSSL available.
    Nothing to do

    .....

    Che posso fare?

    Grazie

    Fabio

  • rpm -Uvh epel-release*rpm
    non viene accettato e rilascia come errore file non trovato da glob.
    Ho provato anche direttamente:
    rpm -Uvh epel-release-6-8.noarch.rpm
    e anche questo non va.
    La mia installazione non è CentOS + Nagios e Centreon ma direttamente l'installazione di Centreon da iso ces-standard-2.2-x86_64.iso versione Central.
    Non so se questo cambi qualcosa.
    Grazie per il tuo aiuto!

    • Ahh, certo. gli RPM sono pacchetti per le distro basate su RH.
      Non so CES su cosa è basata, devi trovare un pacchetto per quella.

Related Post