lunedì , dicembre 11 2017
Ultime Notizie
Home / Linux / LibreNMS il fork alternativo a Observium

LibreNMS il fork alternativo a Observium

Oggi parliamo di LibreNMS un’alternativa, totalmente free ed open source, al più noto Observium.

LibreNMS serve per il monitoraggio e il discovery dei dispositivi presenti sulla rete. La discovery può avvenire tramite i seguenti protocolli:

  • CDP
  • FDP
  • LLDP
  • OSPF
  • BGP
  • SNMP
  • ARP

Tra le varie funzionalità include anche un sistema di Billing associato al consumo di banda rilevato dal sistema.

Inoltre il sistema di update automatico tiene sempre aggiornato il software alle ultime release.

E’ presente un sistema che permette di integrare facilmente i plugin scritti dalla community, sempre più in espansione, e una serie di API che permettono di integrare la piattaforma su eventuali sistemi di monitoraggio personalizzati.

Vediamo come installarlo su Debian/Ubuntu

1. Installazione Mysql

apt-get install mysql-server mysql-client

 

mysql -u root -p

Creiamo il database:

CREATE DATABASE librenms;
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'<ip>' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
exit

Dove <ip> è l’indirizzo IP della macchina dove stiamo installando il database e <password> è la password che vogliamo associare all’utente librenms.

2. Installazione Componenti Aggiuntive

apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear snmp graphviz php5-mcrypt php5-json apache2 fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd mysql-client php-net-ipv4 php-net-ipv6 rrdtool git

Se vogliamo aggiungere a monitoraggio anche l’host dove abbiamo installato il software basta semplicemente editare il file /etc/snmp/snmpd.conf

e inserire:

rocommunity public 127.0.0.1

poi con un “service snmpd restart” abbiamo configurato l’snmp per il sistema locale.

Adesso non ci resta che “clonare” il progetto:

cd /opt
git clone https://github.com/librenms/librenms.git librenms
cd /opt/librenms

Creiamo e modifichiamo i permessi delle directory che si occupano della costruzione dei grafici:

mkdir rrd logs
chown www-data:www-data logs/ rrd/<

Aggiungiamo il VirtualHost per Apache:

<VirtualHost *:80>
DocumentRoot /opt/librenms/html/
ServerName librenms.example.com
CustomLog /opt/librenms/logs/access_log combined
ErrorLog /opt/librenms/logs/error_log
AllowEncodedSlashes On
<Directory "/opt/librenms/html/">
Require All granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>

Attiviamo l’host creato abilitando anche la funzione mcrypt di php:

php5enmod mcrypt
a2ensite librenms.conf
a2enmod rewrite
service apache2 restart

L’installazione adesso può proseguire o tramite interfaccia web, dal link http://<ip_locale>/install.php oppure manualmente andando a configurare il file config.php:

cp config.php.default config.php
vim config.php

Fatto questo si configura il DB con:

php build-base.php

E si aggiunge l’utente:

php adduser.php <name> <pass> 10

Fatto questo possiamo iniziare ad aggiungere dispositivi, cominciando da localhost:

php addhost.php localhost public v2c

Una volta aggiunto dobbiamo dire al software di fare la discovery:

php discovery.php -h all && php poller.php -h all

LibreNMS utilizza come Poller, il Job Snijders’ poller-wrapper.py

Questo utilizza fino ad un massimo di 16 threads, ma generalmente si più ridurre (il numero consigliato è 4*num_core_CPU)

Di seguito un esempio di come ridurre a 12:

/opt/librenms/poller-wrapper.py 12 >> /dev/null 2>&1

Finiamo aggiungendo librenms a crontab:

cp librenms.cron /etc/cron.d/librenms

Il gioco è fatto!

Come detto in precedenza il sistema si auto-aggiorna, per disattivare questa opzione basta andare nel file di config e trovare la riga:

#$config[‘update’] = 0;

Togliere il commento (#) così il sistema non effettuerà nessun aggiornamento.

Enjoy!

Info Paolo Daniele

Ingegnere delle Telecomunicazioni, appassionato di informatica fin da piccolo ho trasformato la passione in lavoro. Con il PHP faccio tutto (o quasi…) ma non disprezzo altri linguaggi all’occorrenza. Se vi piace il mio sito, o vi è utile, o vi sto simpatico, offritemi una birra!

Ti potrebbe interessare

Proxmox – Limitare accesso GUI

Ciao Ragazzi, per chi non lo conosce, Proxmox è un ambiente di virtualizzazione open source …

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *