Oggi vi propongo un qualcosa di un po’ più avanzato!
Andremo ad installare Observium, un sistema di monitoraggio di rete Open Source.
Questo tipo di sistema permette di racchiudere in un unica interfaccia, il monitoraggio di più dispositivi di rete utilizzando il protocollo standard SNMP.
Pur essendo uno standard in realtà ci sono diverse varianti a seconda del Vendor (Cisco, Mikrotik, Juniper etc.) la maggior parte delle quali sono già integrate dentro il sistema principale.
Per quello che non è integrato, con un po’ di modifiche e un po’ di lavoro sul codice sorgente è possibile implementare SNMP di altri Vendor.
Observium è sviluppato principalmente per sistemi Debian/Ubuntu ma è compatibile anche per altre piattaforme (CentOS, Rhel etc.) ma per queste non viene garantito il supporto.
Vediamo come installare:
REQUISITI FONDAMENTALI
- Apache
- fping
- MySQL 5
- Net-SNMP 5.4+
- RRDtool 1.3+
- Graphviz
- PHP 5.4+
Per le funzionalità aggiuntive:
- Ipmitool
- Libvirt-bin
apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear snmp graphviz php5-mcrypt php5-json \
subversion mysql-server mysql-client rrdtool fping imagemagick whois mtr-tiny nmap ipmitool python-mysqldb
Per le Libvirt:
apt-get install libvirt-bin
INSTALLAZIONE OBSERVIUM
Creiamo la directory di installazione:
mkdir -p /opt/observium && cd /opt
Le nuove versioni di Observium si dividono tra la Community Edition e la versione con Sottoscrizione. Per chi vuole solo la Community Edition:
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz
Per la revisione NOT-STABLE:
svn co http://svn.observium.org/svn/observium/trunk observium
Per la revisione STABLE:
svn co http://svn.observium.org/svn/observium/branches/stable observiumCONFIGURAZIONE OBSERVIUM
cp config.php.default config.php
Creiamo il Database che conterrà le informazioni del monitoraggio:
mysql -u root -p mysql> CREATE DATABASE observium; mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' -> IDENTIFIED BY '<observium db password>';Una volta fatto questo editiamo i corrispondenti valori (nome database, utente e password) dentro il file config.php
Installiamo le tabelle di base di Observium:
php includes/update/update.phpLa directory dei log la possiamo mettere in /var oppure possiamo direttamente specificare di scrivere i file di log nella /var
IMPORTANTE:
Creare la directory per gli RRD e assegnare i permessi come segue per avere i grafici disegnati in maniera corretta:
mkdir rrd chown www-data:www-data rrdConfiguriamo il Virtual Host di Apache, nel mio caso ho editato quello di default, ma se avete diversi siti è possibile creare un file separato:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /opt/observium/html <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /opt/observium/html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ServerSignature On </VirtualHost>Abilitiamo il modulo rewrite:
a2enmod rewrite service apache2 restartAbbiamo quasi finito!
Aggiungiamo un nuovo utente di livello 10, che sarà il nostro amministratore:
cd /opt/observium ./adduser.php admin admin_password 10Aggiungiamo il primo dispositivo da monitorare:
./add_device.php ip_oppure_hostname public v2c
I parametri che ho usato:
- ip_oppure_hostname: Indirizzo IP o Hostname della macchina da monitorare;
- public: il tipo di community SNMP ( se non siete pratici lasciate public);
- v2c: la versione di SNMP utilizzata
La versione 2c è quella compatibile con quasi tutti i dispositivi, mentre se volete usare autenticazione dovete usare la v3
Adesso popoliamo di dati il nostro Observium:
cd /opt/observium
./discovery.php -h all
./poller.php -h all
Inseriamo queste opzioni sotto crontab cosichhè sia il sistema a lavorare per noi:
crontab -e
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1
Il gioco è fatto!
Andare all’indirizzo ip http://il_vostro_ip e avrete il vostro sistema di monitoraggio pronto!
Enjoy!
Ciao e complimenti per l’articolo, ho fatto come hai scritto tu tutto funziona ma non vedo le interfacce di rete infatti se clicco su PORT in alto mi dice che non ho interface di rete…sapresti come risolvere questo problema?
Grazie mille
Ciao,
dipende dal tipo di apparato che hai collegato.
Devi vedere se non installate le MIBS di quell’apparato oppure se sono disponibili per poterle integrare.
Che cosa hai collegato?