Smokeping è un tool che tiene traccia della latenza della rete:
Migliore visualizzazione della latenza.
Esploratore grafico interattivo.
Ampia gamma di plug-in di misurazione della latenza.
Sistema Master / Slave per misure distribuite.
Sistema di avviso altamente configurabile.
Grafici live latency con i grafici più ‘interessanti’.
Software gratuito e OpenSource scritto in Perl scritto da Tobi Oetiker, il creatore di MRTG e RRDtool
PRE-REQUISITI
Questa guida presume sia già installato un server LibreNMS e che funzioni con Apache o Nginx.
Installazione e Configurazione di LibreNMS su Ubuntu Server 16.04
INSTALLAZIONE DI SMOKEPING
Per installare SmokePing sul server lanciare il comando:
0 |
sudo apt update && sudo apt install smokeping |
CONFIGURAZIONE DI SMOKEPING
Smokeping ha diversi file di configurazione. Per impostazione predefinita, questi si trovano in /etc/smokeping/config.d/
Modificare il proprietario e il contatto del file di configurazione General e i dettagli del nome host cgiurl:
0 |
nano /etc/smokeping/config.d/General |
Aggiungiamo all’interno del file le seguenti righe
0 1 2 |
owner = LibreNMS-Admin contact = raffaele.chiatto@librenms.com cgiurl = http://NOME-SERVER-LIBRENMS/cgi-bin/smokeping.cgi |
In pratica dovremmo vedere all’inteno del file di configurazione le seguenti righe:
0 1 2 3 4 5 6 7 8 9 |
*** General *** owner = LibreNMScontact = raffaele.chiatto@librenms.com cgiurl = http://NOME-SERVER-LIBRENMS/cgi-bin/smokeping.cgi # NOTE: do not put the Image Cache below cgi-bin # since all files under cgi-bin will be executed ... this is not # good for images.cgiurl = http://some.url/smokeping.cgi # specify this to get syslog loggingsyslogfacility = local0 # each probe is now run in its own process# disable this to revert to the old behaviour # concurrentprobes = no @include /etc/smokeping/config.d/pathnames |
Salvare il file e chiuderlo
CONFIGURAZIONE DI SMOKEPING PER UTILIZZARE L’ELENCO DEI NODI DI LIBRENMS
Aggiungere le seguenti righe nel file di configurazione /etc/smokeping/config con il comando:
0 |
sudo nano /etc/smokeping/config |
ed aggiungere la seguente riga al fondo:
0 |
@include /opt/smokeping/etc/librenms.conf |
In pratica dovremmo vedere all’inteno del file di configurazione le seguenti righe:
0 1 2 3 4 5 6 7 |
@include /etc/smokeping/config.d/General @include /etc/smokeping/config.d/Alerts @include /etc/smokeping/config.d/Database @include /etc/smokeping/config.d/Presentation @include /etc/smokeping/config.d/Probes @include /etc/smokeping/config.d/Slaves @include /etc/smokeping/config.d/Targets @include /opt/smokeping/etc/librenms.conf |
Nel prossimo step genereremo il file di configurazione.
GENERARE L’ELENCO LIBRENMS DEI NODI SI SMOKEPING
LibreNMS è dotato di uno script che esporta il nostro elenco di nodi da LibreNMS in un file di configurazione nel formato richiesto da Smokeping.
Per generare il file di configurazione una volta lanciare il seguente comando:
0 |
php /opt/librenms/scripts/gen_smokeping.php > /opt/smokeping/etc/librenms.conf |
Tuttavia, è più desiderabile impostare un cron job che rigenera il nostro elenco di nodi e li aggiunge a Smokeping. È possibile aggiungere quanto segue alla fine del cron job di librenms, ad es. nano /etc/cron.d/librenms
In Ubuntu 16.04 se voglimao schedulare il task ogni gionro alle 00:30 lanciare il comando:
0 |
05 00 * * * root echo "+ LibreNMS"; php -f /opt/librenms/scripts/gen_smokeping.php > /etc/smokeping/config.d/librenms.conf && systemctl reload smokeping.service >> /dev/null 2>&1 |
In Ubuntu 14.04 se voglimao schedulare il task ogni giorno alle 00:30 lanciare il comando:
0 |
30 00 * * * root (echo "+ LibreNMS"; php -f /opt/librenms/scripts/gen_smokeping.php) > /opt/smokeping/etc/librenms.conf && /opt/smokeping/bin/smokeping --reload >> /dev/null 2>&1 |
CONFIGURARE LIBRENMS
Modifica /opt/librenms/config.php con il comando:
0 |
sudo nano /opt/librenms/config.php |
e aggiungere quanto segue:
NOTA BENE: assicurarsi di indirizzare la directory corretta verso la directory dei dati di Smokeping:
0 1 2 3 |
$config['smokeping']['dir'] = '/var/lib/smokeping'; // Ubuntu 16.04 Location #$config['smokeping']['dir'] = '/opt/smokeping/data'; $config['smokeping']['pings'] = 20; // should be equal to "pings" in your smokeping config $config['smokeping']['integration'] = true; |
CONFIGURARE IL WEB SERVER
Questa sezione visualizza la configurazione richiesta per il server web.
Di seguito la configurazione per Apache e per Nginx.
CONFIGURAZIONE DI APACHE
Smokeping dovrebbe installare automaticamente un file di configurazione di Apache in /etc/apache2/Conf-available/
Verificare questo utilizzando il comando:
0 |
librenms@librenms:~/scripts$ ls /etc/apache2/conf-available/ | grep smokeping |
Se non viene visualizzato smokeping.conf dovrai creare un link simbolico con il comando:
0 |
ln -s /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf |
Dopo aver creato il collegamento simbolico, riavviare Apache con il comando:
0 |
sudo systemctl apache2 restart |
A questo punto dovremmo essere in grado di caricare l’interfaccia web Smokeping richiamando il link http://NOME-HOST/cgi-bin/smokeping.cgi
CONFIGURAZIONE DI NGINX
Questa sezione presume che tu abbia configurato LibreNMS con Nginx
Aggiungere la seguente configurazione al file di configurazione /etc/nginx/conf.d/librenms.conf
Eseguire il comando:
0 |
sudo nano /etc/nginx/conf.d/librenms.conf |
la configurazione seguente setta Nginx per rispondere al link http://NOME-HOST/smokeping:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#Browsing to `http://librenms.xxx/smokeping/` should bring up the smokeping web interface server { location = /smokeping/ { fastcgi_intercept_errors on; fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/smokeping.cgi; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param HTTPS $https if_not_empty; fastcgi_pass unix:/var/run/fcgiwrap.socket; } location ^~ /smokeping/ { alias /usr/share/smokeping/www/; index smokeping.cgi; gzip off; } } |
Salvare il file e chiuderlo
Dopo aver salvato il file di configurazione, verificare che la sintassi del file di configurazione Nginx sia corretta con il comando:
0 |
sudo nginx -t |
Quindi riavviamo Nginx con il comando:
0 |
sudo systemctl restart nginx |
A questo punto se richiamiamo il link http://NOME-HOST/smokeping dovrebbe rispondere la pagina web relativa al tool.
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
0 Comments