Howto Installare Observium Network Monitoring Tool

Oggi vi propongo un qualcosa di un po’ più avanzato!

Andremo ad installare Observium, un sistema di monitoraggio di rete Open Source.

observium-125

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 observium

CONFIGURAZIONE 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.php

La 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 rrd

Configuriamo 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 restart

Abbiamo quasi finito!

Aggiungiamo un nuovo utente di livello 10, che sarà il nostro amministratore:

cd /opt/observium
./adduser.php admin admin_password 10

Aggiungiamo 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!

About Paolo Daniele

Inserisci un commento

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>