Come rendere interessanti i file di registro

Negli ultimi mesi abbiamo lavorato in una modalità di lavoro piuttosto frammentaria, lavorando su diversi progetti che richiedevano l'uso di vari strumenti e tecnologie. L'articolo di questo mese esamina quali strumenti abbiamo utilizzato mentre entriamo nel 2009, scalciando e urlando. Prima di tutto, come rendere carini i file di registro noiosi.

Come rendere interessanti i file di registro

I file di registro sono, come sa qualsiasi amministratore di rete, fonti vitali di informazioni: un esperto può dare un'occhiata a un registro e individuare immediatamente i problemi, quindi scappare uno script per analizzare il registro ed estrarre qualsiasi informazione saliente richiesta, e infine consegnare quei dati al programmatore che correggerà Esso. Ma poi ci sono le stupide richieste che devi soddisfare. Uno di questi, che sembra stia diventando sempre più popolare in questi giorni, è del cliente che vuole "vedere" quanto è popolare il proprio sito web in tempo reale. Di recente abbiamo incontrato un cliente che desiderava collocare un monitor di grandi dimensioni nella sua area di accoglienza, visualizzando statistiche affascinanti sulla popolarità del suo sito.

Ora, ovviamente, sarebbe abbastanza facile visualizzare testualmente queste informazioni sulla visita del sito, poiché la semplice esecuzione del comando tail -f sul file di registro farebbe il lavoro. “Tail”, per chi non conosce Unix, è un'utilità che visualizza le ultime righe di un file, dieci per impostazione predefinita, e applicando l'opzione -f gli stai dicendo di visualizzare quelle ultime dieci righe più eventuali altre righe aggiunte successivamente a file. Provalo, è divertente! Ma non è affatto quello che era richiesto, perché "dovrebbe sembrare bello" era la richiesta specifica. Questa è senza dubbio una risposta a tutti quei film che presentano una grande sala di controllo piena di monitor che mostrano grafici saltellanti in tempo reale, punti che corrono intorno alle mappe e così via. Il problema sta nel decidere come visualizzare in modo interessante quelle che sono, per la maggior parte, statistiche sul traffico piuttosto pedonale.

Fortunatamente, si scopre che esiste un software molto interessante che farà esattamente ciò che è richiesto. Si chiama glTail, di Erlend Simonsen, ed è un programma Ruby che fornisce una visualizzazione dei dati estremamente funky, ma pratica e utile, praticamente da qualsiasi formato di file di registro. I parser sono integrati per Apache, Rails, IIS, Postfix, MySQL e altri log e puoi scrivere il tuo parser se il formato del tuo file di log non è supportato nativamente. Il display glTail assume la forma di un flusso di punti o palline che scorrono dai lati della finestra verso un deposito centrale: più palline, più richieste; e più grande è la palla, maggiore è la dimensione della richiesta (ad esempio, la dimensione del file servito da Apache). Il programma supporta il tracciamento simultaneo di più file di registro, anche su server diversi e, come dice la documentazione, "se riesci a "codarlo", puoi visualizzarlo".

Poiché glTail è scritto in Ruby, l'installazione è semplice: basta scaricare il codice e installare le Ruby Gems di cui ha bisogno, vale a dire net-ssh e ruby-opengl. Funziona su Linux, Mac OS X e Windows e l'unico problema che abbiamo riscontrato durante l'installazione è che le istruzioni di configurazione sono piuttosto scarse. Fondamentalmente, modifichi un file di configurazione, ma le uniche informazioni sulle opzioni disponibili devono essere raccolto guardando il file di configurazione di esempio (o, ovviamente, leggendo il file glTail source codice).

Tuttavia, anche con questo avvertimento, non ci è voluto molto prima che ci trovassimo di fronte a un bellissimo flusso di punti che mostravano i risultati di un paio di siti campione su cui l'abbiamo provato. Nota che per eseguire glTail è sufficiente che tu sia in grado di accedere tramite ssh al tuo server remoto per accedere al suo file di registro, senza che sia necessaria alcuna modifica alla configurazione del tuo server.