I migliori tools per la gestione dei Log di Linux

(Tempo di lettura 11 minuti)

Durante l’esecuzione di un sistema Linux, specie se ospita uno stack LAMP/LEMP, si verificano una moltitudine di eventi generati dai numerosi processi in esecuzioni. Basti pensare a quanti eventi e relativi log vengono generati dai web server Apache ed Nginx, o anche dal database, e non dimentichiamo le enormi quantità di log generati dai vari demon (ad esempio IPTables, SSH) e quelli di sistema.

Tutti i processi, demoni e servizi in esecuzioni producono una grande quantità di log, ovvero dei file di testo all’interno dei quali sono riportate molte informazioni che possono risultare estremamente utili per monitorare lo stato di salute del nostro sistema oppure per risolvere eventuali problemi o malfunzionamenti dello stack software.

È quindi necessario che l’amministratore di sistema sia in grado di districarsi tra questa miriade di informazioni che spesso sono presenti in quantità davvero notevole.

Dal momento che, come dicevamo, i processi in esecuzioni sono molteplici e gli eventi generati molto numerosi, i log spesso assumono dimensioni davvero importanti: circostanza che rende estremamente difficile una loro analisi manuale.

È sotto questo aspetto che entrano in gioco i log analyzer, ovvero degli strumenti in grado di analizzare, filtrare, ordinare le informazioni presenti nei file di log in modo da permetterci di concentrare la nostra attenzione solo sugli aspetti che ci interessano per il particolare aspetto (o problema) che vogliamo monitorare.

In questo articolo offriremo una breve carrellata di 5 famosi log manager.


Graylog

Graylog è uno dei tools più apprezzati ed utilizzati dagli amministratori di sistema, grazie alla completezza delle informazioni e alla sua grande versatilità.

Per ogni servizio che si vuole analizzare è necessario installare sul sistema un client agent, che avrà appunto il compito di monitorare il particolare servizio oggetto della nostra attenzione. Una volta installato l’agent comincerà a raccogliere le informazioni e a passarle al server Graylog.

Una volta raccolti, come di consueto per i software di questo tipo, è possibile ordinare, filtrare ed elaborare i dati in tantissimi modi, sfruttando le numerose funzionalità avanzate del software.

Graylog immagazzina i dati ricevuti dai suoi agent in un database MongoDB al quale si accede tramite Elasticsearch: il celebre motore di ricerca open source. Questa scelta consente un’enorme flessibilità, oltre ad un’elevata potenza, nell’elaborazione dei dati immagazzinati. Come sappiamo infatti la potenza di Elasticsearch e la flessibilità di MongoDB permettono di creare query personalizzate e molto potenti in grado di estrarre praticamente qualsiasi tipo di informazione dai nostri log. La scelta di Elasticsearch in particolare si è rivelata sicuramente azzeccata, data la sua estrema potenza e flessibilità, di converso però dobbiamo segnalare che su Graylog non esiste alternativa ad Elasticsearch come strumento di ricerca ed elaborazione dei dati, e magari sotto certi aspetti la cosa potrebbe essere limitante.

Aggiungiamo tuttavia che il software può vantare delle funzioni avanzate che sono di grande aiuto per l’amministratore, come il Search Workflows, ovvero una serie di funzionalità che permettono di risparmiare tempo nell’elaborazione di query ripetitive e che sono in grado di realizzare una combinazione di più query di ricerca effettuandole in un’unica operazione. Alla fine, i risultati possono essere visualizzati graficamente con una grande quantità di opzioni.

Ovviamente i Workflows possono essere salvati per essere riutilizzati successivamente facendo risparmiare tempo ed è possibile collezionarli in apposite librerie. I Workflows sono uno strumento complesso ma potente che permettono all’amministratore di sistema di creare per l’appunto un flusso di lavoro efficiente nell’interrogazione dei log.

Oltre alla consueta analisi dei log a posteriore, gli agent di Graylog permettono un monitoraggio proattivo grazie ai triggers, con i quali è possibile impostare degli alert che scattano non appena si verifica una condizione o una serie di condizioni od eventi preimpostati. È possibile impostare avvisi per praticamente qualsiasi evento che avviene nel sistema, monitorabile tramite agent, ed è anche possibile classificare gli alert in categorie assegnando colori e grafiche personalizzate per avere una visione d’insieme sullo stato del sistema e sui parametri più importanti che vogliamo monitorare.

I triggers possono essere impostati con grande precisione, sulla base di determinati eventi e condizioni, ed è inoltre possibile selezionare l’invio automatico di una notifica all’amministratore ad esempio tramite e-mail, oppure è possibile anche impostare, al verificarsi di un determinato evento, l’esecuzione di un comando o uno script preimpostati, in modo da impostare una reazione automatica del sistema al verificarsi di un determinato evento, anziché attendere che la notifica giunga all’amministratore e che questi intervenga manualmente.

Tutto quanto detto finora è fruibile tramite una comoda interfaccia web decisamente efficiente e ben organizzata.

Graylog fa decisamente bene il suo lavoro, ma lo scotto da pagare è sicuramente una curva di apprendimento abbastanza ripida. Tuttavia, una volta padroneggiato questo splendido strumento, state pur certi che vi togliete tante soddisfazioni.

Graylog è offerto in quattro differenti versioni: Open, Small Business, Enterprise e Cloud, con funzionalità via via crescenti. Aggiungiamo tuttavia che la versione Open, del tutto gratuita, è giù uno strumento molto valido per la maggior parte delle esigenze di monitoraggio.


Hai bisogno di un sistemista per il tuo server Linux?

Scopri cosa possiamo fare per te.


Logcheck

Logcheck è un altro celebre strumento di monitoraggio log open source che viene eseguito sul sistema come cronojob. Logcheck esamina i file di log per rilevare eventuali anomalie o determinati eventi di sistema preimpostati, quindi invia un report dettagliato via mail all’amministratore del server. Esistono tre differenti livelli di monitoraggio predefiniti:

Paranoid: questo livello è quello più alto e si usa per sistemi mission critical nei quali il monitoraggio è particolarmente importante.

Server: questo livello è quello predefinito di LogCheck e si occupa di analizzare i principali demoni in attività sul sistema. Esegue un set di regole esteso e anche quelle del livello Paranoid.

Workstation: questo livello viene utilizzato per monitorare sistemi come le workstation ed esegui i set di regole previsti in Paranoid e Worstation.

LogCheck distingue i messaggi da inviare tramite report in differenti livelli di sicurezza, permettendo di impostare livelli di filtraggio personalizzati per privilegiare determinati eventi rispetto ad altri, in modo ad esempio da concentrare l’invio di report solo per eventi particolarmente gravi, come ad esempio un presunto attacco al sistema, oppure per monitoraggi di livello più ampio, come ad esempio utilizzo di risorse e altri eventi di particolare interesse per il sistema monitorato. Il livello di dettaglio degli eventi da inviare come report è scelto dall’amministratore di sistema.

I messaggi inviati sono suddivisi in tre livelli, ovvero eventi di sistema, eventi di sicurezza e avvisi di attacco. I report inviati presentano le seguenti caratteristiche:

  • Sistemi di filtraggio dei log con espressioni regolari;
  • Notifiche e-mail istantanee;
  • Sistema di spedizione basato sul Cloud;

LogCheck è un software che nel complesso svolge egregiamente il suo lavoro: il suo sistema di gestione ed invio dei report è basato sul cloud, è possibile impostare il software per ricevere notifiche e-mail immediate nel caso si verificassero eventi particolarmente gravi, come tentativi di attacco o violazioni della sicurezza. I suoi report predefiniti e i suoi sistemi di filtraggio sono di grande aiuto e permettono un notevole risparmio di tempo, riuscendo a coprire i principali casi d’uso.

Uno dei suoi principali difetti è la scarsa flessibilità: LogCheck combina tutti i file di registro analizzati in uno solo e quindi la sua analisi può diventare parecchio difficile, specie in un sistema particolarmente complesso. Questa circostanza a volte rende lente le operazioni di analisi e filtraggio delle informazioni dai file di log, che come noto possono raggiungere anche ragguardevoli dimensioni.

Nel complesso il software è sicuramente da considerarsi un buon prodotto, anche se fatica a reggere il confronto con le principali soluzioni commerciali presenti sul mercato.


Hai bisogno di assistenza tecnica sul tuo server Linux?

Scopri cosa possiamo fare per te.


Logstash

Logstash è un potente strumento di elaborazione log lato server che accetta dati in input da molteplici fonti, sia locali sia distribuite come ad esempio istanze cloud. I log vengono elaborati ed inviati su piattaforme di ricerca e filtraggio come Elasticsearch, dove vengono analizzati ed archiviati.

Logstash costituisce la “L” del celebre stack ELK, costituito da Elasticserach, Logstash e Kibana. Insieme i tre software costituiscono una piattaforma di analisi dei log tra le più utilizzate al mondo.

Logstash in particolare è uno strumento piuttosto potente in quanto può ingerire volumi di log da più applicazioni e successivamente inviarli a database o motori diversi contemporaneamente. Logstash è in grado di estrarre informazion da quasi tutte le origini dati utilizzando degli appositi plug-in di input, quindi può applicare un’ampia varietà di trasformazioni e analisi dei dati utilizzando plug-in di filtro e per finire può inviare i dati a un gran numero di destinazioni utilizzando plug-in di output. Il ruolo svolto da Logstash nello stack, quindi, è fondamentale in quanto si occupa materialmente della raccolta dati dalle fonti che intendiamo monitorare.

Logstash supporta una serie di plug-in di filtro estremamente potenti che consentono di manipolare e monitorare a piacimento praticamente ogni evento che accade nel sistema. Analogamente i suoi filtri di output consentono di estrarre le informazioni ed inviarle, per esempio ad Elasticsearch, per ulteriori filtri e analisi.

Uno dei maggiori ostacoli nell’utilizzo del software è la sua configurazione: nonostante negli anni si siano fatte numerose migliore sotto questo aspetto, ancora adesso la configurazione del software risulta tutt’altro che facile.

In ogni caso possiamo affermare che Logstash, nell’ambito del sopracitato stack ELK, costituisce una soluzione professionale e molto potente per la gestione dei log e il monitoraggio del sistema.


Hai un problema sul tuo server Linux?

Scopri cosa possiamo fare per te.


SolarWinds Papertrail

Quello di SolarWinds è uno dei nomi più noti nel mondo dei SysAdmin, grazie ai numerosi tools di grande successo realizzati da questa azienda.

Qualche tempo fa, SolarWinds ha acquisito Papertrail, un popolare sistema di gestione dei log. Papetrail è in gradi di aggregare i file di log da un’ampia varietà di fonti e da prodotti popolari come Apache, Nginx o MySQL, nonché da diversi servizi di cloud hosting, oltre a praticamente qualsiasi file di log standard basati su testo.

Il software mette a disposizione degli utenti una comoda interfaccia di ricerca web base, oltra ai consueti strumenti della riga di comando. È possibile quindi effettuare ricerche e applicare filtri di ogni tipo per estrarre dai log le informazioni di nostro interesse. Papertrail si integra perfettamente con altri prodotti SolarWinds come Librato e Geckoboard per estendere le funzionalità di reportistica

Papertrail è un software Cloud-based di tipo SaaS (Software as a Service) basata sulla piattaforma cloud di SolarWinds. La piattaforma è facile da configurare e utilizzare e permette di avere una visione completa del sistema monitorato in pochi minuti. Inoltre, il software ha un motore di ricerca molto efficace in grado di cercare sia i registri archiviati che quelli in streaming. Per finire, da notare che le operazioni di ricerca e filtraggio sono anche molto veloci.

Papertrail è disponibile con diversi piani, tra i quali è incluso anche un piano gratuito, ovviamente con diverse limitazioni, tra le quali la principale è che consente solo 100 MB di registri ogni mese. I piani a pagamento partono da $7/mese per 1GB/mese di log e 1 anno di archiviazione. Sebbene a pagamento il costo si mantiene tuttavia contenuto, data la qualità elevata del prodotto, e anche se esistono valide alternative gratuite ed open source sicuramente Papertrail è da prendere in considerazione.


Vorresti un server dedicato per il tuo progetto web ma non sai a chi rivolgerti?

Scopri cosa possiamo fare per te.


SolarWinds Loggly

Altro interessante prodotto di SolarWinds è Loggly. Si tratta di un servizio erogato in Cloud come SaaS ed è principalmente un consolidatore di log che offre anche funzioni di log analysis. Il software, essendo per l’appunto erogato come servizio Cloud, non ha bisogno di alcuna installazione e quindi immediatamente pronto all’uso. Ovviamente i sistemi da monitorare dovranno essere configurati per carcare periodicamente i loro file di log e renderli così disponibili all’analisi con Loggly.

Loggly si occupa di convertire i file di log ricevuto in un formato standard, in modo da permettere la raccolta e l’analisi dei dati da una grande quantità di sorgenti differenti e consentendo il monitoraggio di eventi indipendentemente dal sistema operativo e dalla tecnologia di logging utilizzata. Sul sito del prodott (loggly.com) è possibile verificare come il software, e a ragion veduta, possa vantare la capacità di raccogliere dati da una grande varietà di software e sistemi diversi, non solo di tipo locale ma anche log elaborati da altri servizi Cloud come AWS.

Loggly è disponibile con diversi piani di servizio, con prezzi e funzionalità crescenti. Esiste anche un piano gratuito che, seppur con notevoli limitazioni in termini di spazio disponibile per i file log da analizzare, è ampiamente sufficiente per monitorare un piccolo server e comunque testare la validità del prodotto.

Loggly si presta bene ad analizzare grandi quantità di dati, grazie alla potenza e alla scalabilità del Cloud, ed è inoltre dotato di potenti sistemi di filtraggio e ricerca, oltre che di aggregazione.

La curva di apprendimento è abbastanza ripida, ma una volta superato questo scoglio Loggly si rivela uno strumento potente e versatile per l’analisi dei log.


Spendiamo a questo punto qualche parola per vedere che differenza c’è tra Loggly e Papertrail.

Papertrail VS Loggly

Papetrail è uno strumento di gestione dei Log che consente di risparmiare tempo nell’analisi e include una funzionalità di ricerca velocissima. È facile da configurare e consente agli utenti di avere una panoramica ampia ed esaustiva sul sistema in pochi minuti. La sua interfaccia utente è completa e allo stesso tempo semplice e intuitiva. Papertrail aggrega efficacemente i log provenienti da fonti diverse e fornisce un validissimo supporto per effettuare le operazioni di filtraggio e ricerca.

Loggly si differenzia soprattutto per essere una soluzione distribuita come Saas, e quindi pensate per essere facilmente scalabile. Loggly è quindi in grado di gestire enormi quantità di dati aggregati fornendo numerose funzioni di ricerca e permettendo di aggregare con facilità file di log proveniente da molteplici fonti, locali e remote.

Di converso Loggly fornisce una funzione di archiviazione dei log abbastanza limitata: i log vengono scritti in batch periodicamente e, sebbene sia disponibile una funzione di esportazione dei dati che consente la creazione di report, i dati possono essere archiviati solo in formato raw, CSV o JSON. Tale standardizzazione risulta tuttavia compensate dalla grande versatilità del prodotto nell’aggregare log da fonti molto diverse.

Papertrail fornisce invece una visione più dettagliata degli archivi e le sue funzioni di archiviazione sono più avanzate di quelle di Loggly. Gli utenti possono anche recuperare rapidamente più archivi o uno solo a seconda delle necessità.

Dal punto di vista delle capacità di analisi e reportistica da notare che Loggly provvede a strutturare in maniera automatica i log che analizza e offre una serie di dashboard già pronte per i casi d’uso più comuni, a scapito però di una certa complessità nella configurazione e nella creazione delle query di ricerca.

Papertrail di converso risulta più semplice e veloce da configurare e offre una funzionalità di ricerca potente e veloce, in grado di districarsi egregiamente tra aggregati di log anche di notevoli dimensioni. La grande velocità del sistema di ricerca di Papertrail aiuta molto anche nella ricerca proattiva di eventali problemi o anomalie nel sistema monitorato.

Papertrail offre inoltre una funzionalità utilissima che permette di mostrare in tempo reale gli eventi mentre si verificano. Questo sistema di visualizzazione eventi è perfettamente integrato con il sistema di ricerca e funziona egregiamente. È inoltre possibile impostare degli alert che inviano notifiche agli admin al verificarsi di un determinato evento o condizione sul sistema. Loggly invece visualizza automaticamente i log man mano che vengono ricevuti, li aggrega e quindi ne estrae i dati (in base alle query preimpostate dall’amministratore) per fornire il risultato, ma la visione d’insieme degli eventi risulta più completa su Papertrail.

In definitiva si tratta di due ottimi prodotti, ma dalla filosofia abbastanza differente: Papertrail è focalizzato sulla gestione e il monitoraggio degli eventi, con il suo efficiente sistema di ricerca, mentre Loggly fa della capacità di aggregazione da numerose fonti il suo principale punto di forza.

Informazioni sull'autore

Lascia un commento

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

Torna in alto