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.
View Comments (18)
Grazie per le informazioni!
Prego, spero che l'articolo sia stato esauriente..
Non ci posso credere! Dopo una marea di guide sbagliate e parziali, una esatta dalla A alla Z.
Grazie
GRANDE 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!
Hai provato leggendo questa wiki?
http://www.slideshare.net/fabiograsso/monitorare-lotus-domino-con-nagios-e-centreon-dominopoint-days-2012-13426453
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
Prova ad installare il repository epel.
http://dl.fedoraproject.org/pub/epel/6/i386/
rpm -Uvh epel-release*rpm
yum install perl-Net-FTPSSL
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.