Monitorare le nostre web application può essere utile e parecchio facile, così come monitorare l’uptime o il carico di un server. Abbiamo visto qualche tempo fa come monitorare il proprio server Linux sia fattibile anche solo con qualche comando interessante, tuttavia a volte occorre portare la nostra opera di sorveglianza ad un livello successivo. Se siamo sysadmin, può essere utile avere un software che ci tracci l’andamento del traffico su un webserver, per visualizzare immediatamente picchi di traffico e in caso di problemi reagire in maniera adeguata.
E può essere utile vedere tutto ciò renderizzato in maniera carina.
Un software utile per un colpo d’occhio simile è Logstalgia, che si occupa di leggere il file di log di Apache o di un qualsiasi webserver che generi un file con traccia compatibile (come nginx), per poi generare a video un filmato in grafica 2D che simula il comportamento del nostro server web, raffigurato come la barra in una partita di Pong, mentre le richieste arrivano in forma di palline.
Figura 1. Logstalgia in esecuzione su Linux mentre monitora un web server
Un logger per gli amanti del gaming classico, che permette di essere sempre sul pezzo in quanto a sorveglianza: può legggere file di log “precotti”, oppure possiamo utilizzare come input il log del nostro webserver in continuo aggiornamento.
Installare Logstalgia sul nostro server Linux
Installare Logstalgia su Linux è semplice: basta fare riferimento ai repository della propria distribuzione, che in genere lo include precompilato.
sudo apt-get install logstalgia
Altrimenti, possiamo compilarne i sorgenti su ogni altra distro, installandone le dipendenze ed eseguendo i classici comandi per la compilazione di un software, scaricando prima l’archivio.
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libpcre3-dev libftgl-dev libpng12-dev libjpeg62-dev
wget https://logstalgia.googlecode.com/files/logstalgia-1.0.3.tar.gz
tar xvf logstalgia-1.0.3.tar.gz
cd logstalgia
./configure
make
sudo make install
Utilizzare Logstalgia sul nostro server Linux
Utilizzare Logstalgia sulla macchina su cui stiamo lavorando (anziché sul server in produzione) è molto semplice: possiamo utilizzare il comando di default, passando come argomento al software direttamente il file di log degli accessi di Apache.
logstalgia /var/www/apache2/access.log
Però, possiamo anche essere più raffinati e sincronizzare Logstalgia con il file, costantemente, passandogli un flusso STDIN (standard input) che contenga informazioni costanti provenienti sempre dallo stesso file. Per fare questo ci basta usare tail in pipeline e l’opzione sync di Logstalgia:
Ovviamente il software non serve quasi a niente se utilizzato sul nostro server in locale, dove sviluppiamo cosette piccole con la nostra configurazione di development. Il divertimento vero comincia utilizzando Logstalgia per monitorare un server in produzione. Per fare questo non dobbiamo fare altro che utilizzare sapientemente ssh come nell’esempio sottostante, che creerà di fatto una connessione remota con SSH da cui fare streaming dei dati in STDIN.
Abbiamo una riunione col responsabile delle risorse e vogliamo chiedergli un bilanciatore di traffico in più perché i nostri server sono pieni di richieste. Sicuramente possiamo chiederglielo con le buone, con le cattive… ma vuoi mettere far vedere il tutto con un video dove il server Linux e le richieste sono simulati con una battaglia a Pong? Sicuramente fa più effetto: Logstalgia permette di ottenere l’output in formato ppm, e in un paio di passaggi possiamo sfruttare questo file risultante per creare un filmato visualizzabile dalla maggior parte dei player multimediali e, dato che nelle sale riunioni ancora spopolano, dei riproduttori da tavolo in commercio.
Ci è succificiente utilizzare l’opzione –output-ppm-stream, che permette di generare un output in formato ppm: non è leggibile da molti software o hardware, ma è quantomeno qualcosa da cui partire per lavorarci su con altri programmi. Diamo quindi il comando da terminale:
Grazie a ffmpeg infatti possiamo tranquillamente passare in input il file che abbiamo appena estratto da Logstalgia collegato alla nostra macchina Linux remota, per convertire il blob ppm in nostro possesso al fine di renderlo un file edibile da qualsiasi player (o quasi). Per fare tutto ciò dobbiamo semplicemente agire da terminale con ffmpeg e le dovute opzioni. Quello sottostante è un esempio che produce un output MP4 dove il nostro webserver Linux gioca a Pong con i suoi utenti.
Che altro dire? In questo modo potremo essere sicuramente più incisivi nelle riunioni, e monitorare i nostri webserver in maniera più visuale e “divertente”. Riuscissero a rendere divertenti anche i DDoS, sarebbe un altro grosso passo in avanti.
Se vuoi aggiornamenti su Monitoring "divertente" del nostro server web con Logstalgia inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni
relative ai servizi di cui alla presente pagina ai sensi
dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i
seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni
relative ai servizi di cui alla presente pagina ai sensi
dell'informativa sulla privacy.
I Video di HTML.it
Pietro Brambati, App per Windows Phone 8.1
Sviluppare applicazioni in modo “universale” per qualunque dispositivo Windows è una realtà, grazie all’arrivo del nuovo SDK per di Windows […]
Sviluppare App HTML5 ibride per iOS e Andoid senza dover installare e configurare i relativi SDK e testare tutto direttamente sul telefono, grazie alla compilazione su cloud
Abbiamo provato i server dedicati Register.it, mettendo sotto “stress” un Dell Quad E31230 con Ubuntu 10.04 installata e una configurazione classica Apache+MySQL+PHP.
nginx è un web server HTTP leggero e ad alte prestazioni, e rappresenta una delle principali alternative a prodotti simili come Apache. Questa guida pratica e completa offre una panoramica delle principali funzionalità di nginx: partendo dal processo di installazione, si arriverà a capire come configurarlo ed in che modo sfruttare a pieno le sue potenzialità.