Logstash - Introduzione

Logstash è uno strumento basato sui modelli di filtri / pipe per la raccolta, l'elaborazione e la generazione di log o eventi. Aiuta a centralizzare e fare analisi in tempo reale di registri ed eventi da diverse fonti.

Logstash è scritto sul linguaggio di programmazione JRuby che gira su JVM, quindi puoi eseguire Logstash su diverse piattaforme. Raccoglie diversi tipi di dati come log, pacchetti, eventi, transazioni, dati timestamp, ecc. Da quasi ogni tipo di sorgente. La fonte dei dati può essere dati social, e-commerce, articoli di notizie, CRM, dati di gioco, tendenze Web, dati finanziari, Internet of Things, dispositivi mobili, ecc.

Caratteristiche generali di Logstash

Le caratteristiche generali di Logstash sono le seguenti:

  • Logstash può raccogliere dati da diverse origini e inviarli a più destinazioni.

  • Logstash può gestire tutti i tipi di dati di registrazione come registri Apache, registri eventi di Windows, protocolli di dati su rete, dati da input standard e molti altri.

  • Logstash può anche gestire richieste http e dati di risposta.

  • Logstash fornisce una varietà di filtri, che aiutano l'utente a trovare più significato nei dati analizzandoli e trasformandoli.

  • Logstash può essere utilizzato anche per gestire i dati dei sensori nell'Internet delle cose.

  • Logstash è open source e disponibile con la licenza Apache versione 2.0.

Concetti chiave di Logstash

I concetti chiave di Logstash sono i seguenti:

Oggetto evento

È l'oggetto principale di Logstash, che incapsula il flusso di dati nella pipeline di Logstash. Logstash utilizza questo oggetto per memorizzare i dati di input e aggiungere campi aggiuntivi creati durante la fase di filtro.

Logstash offre un'API degli eventi agli sviluppatori per manipolare gli eventi. In questo tutorial, questo evento viene indicato con vari nomi come Evento dati di registrazione, Evento di registro, Dati di registro, Dati di registro di input, Dati di registro di output, ecc.

Tubatura

Comprende le fasi del flusso di dati in Logstash dall'input all'output. I dati di input vengono inseriti nella pipeline e vengono elaborati sotto forma di evento. Quindi invia a una destinazione di output nel formato desiderato dall'utente o dal sistema finale.

Ingresso

Questa è la prima fase della pipeline Logstash, che viene utilizzata per ottenere i dati in Logstash per un'ulteriore elaborazione. Logstash offre vari plugin per ottenere dati da diverse piattaforme. Alcuni dei plugin più comunemente usati sono: File, Syslog, Redis e Beats.

Filtro

Questa è la fase centrale di Logstash, dove avviene l'effettiva elaborazione degli eventi. Uno sviluppatore può utilizzare schemi Regex predefiniti di Logstash per creare sequenze per differenziare tra i campi negli eventi e i criteri per gli eventi di input accettati.

Logstash offre vari plugin per aiutare lo sviluppatore ad analizzare e trasformare gli eventi in una struttura desiderabile. Alcuni dei plugin di filtro più comunemente usati sono: Grok, Mutate, Drop, Clone e Geoip.

Produzione

Questa è l'ultima fase della pipeline Logstash, in cui gli eventi di output possono essere formattati nella struttura richiesta dai sistemi di destinazione. Infine, invia l'evento di output dopo l'elaborazione completa alla destinazione utilizzando i plug-in. Alcuni dei plugin più comunemente usati sono: Elasticsearch, File, Graphite, Statsd, ecc.

Vantaggi di Logstash

I seguenti punti spiegano i vari vantaggi di Logstash.

  • Logstash offre sequenze di pattern regex per identificare e analizzare i vari campi in qualsiasi evento di input.

  • Logstash supporta una varietà di server Web e origini dati per l'estrazione dei dati di registrazione.

  • Logstash fornisce più plugin per analizzare e trasformare i dati di registrazione in qualsiasi formato desiderabile dall'utente.

  • Logstash è centralizzato, il che semplifica l'elaborazione e la raccolta di dati da diversi server.

  • Logstash supporta molti database, protocolli di rete e altri servizi come origine di destinazione per gli eventi di registrazione.

  • Logstash utilizza il protocollo HTTP, che consente all'utente di aggiornare le versioni di Elasticsearch senza dover aggiornare Logstash in una fase di blocco.

Svantaggi di Logstash

I seguenti punti spiegano i vari svantaggi di Logstash.

  • Logstash utilizza http, che influisce negativamente sull'elaborazione dei dati di registrazione.

  • Lavorare con Logstash a volte può essere un po 'complesso, poiché richiede una buona comprensione e analisi dei dati di registrazione in ingresso.

  • I plugin dei filtri non sono generici, quindi l'utente potrebbe aver bisogno di trovare la sequenza corretta di pattern per evitare errori nell'analisi.

Nel prossimo capitolo, capiremo cos'è ELK Stack e come aiuta Logstash.