Logstash - Plugin

Logstash offre vari plugin per tutte e tre le fasi della sua pipeline (Input, Filter e Output). Questi plugin aiutano l'utente ad acquisire i log da varie fonti come server web, database, protocolli su rete, ecc.

Dopo l'acquisizione, Logstash può analizzare e trasformare i dati in informazioni significative come richiesto dall'utente. Infine, Logstash può inviare o archiviare tali informazioni significative a varie fonti di destinazione come Elasticsearch, AWS Cloudwatch, ecc.

Plugin di input

I plug-in di input in Logstash aiutano l'utente a estrarre e ricevere i log da varie fonti. La sintassi per l'utilizzo del plug-in di input è la seguente:

Input {
   Plugin name {
      Setting 1……
      Setting 2……..
   }
}

È possibile scaricare il plug-in di input utilizzando il seguente comando:

>Logstash-plugin install Logstash-input-<plugin name>

L'utility del plugin Logstash è presente nel file bin folderdella directory di installazione di Logstash. La tabella seguente contiene un elenco dei plug-in di input offerti da Logstash.

Sr.No. Nome e descrizione del plugin
1

beats

Per ottenere i dati di registrazione o gli eventi dal framework dei battiti elastici.

2

cloudwatch

Per estrarre eventi da CloudWatch, un'offerta API di Amazon Web Services.

3

couchdb_changes

Eventi dall'URI _chages di couchdb spediti utilizzando questo plugin.

4

drupal_dblog

Per estrarre i dati di registrazione del watchdog di drupal con DBLog abilitato.

5

Elasticsearch

Per recuperare i risultati delle query eseguite nel cluster Elasticsearch.

6

eventlog

Per ottenere gli eventi dal registro eventi di Windows.

7

exec

Per ottenere l'output del comando della shell come input in Logstash.

8

file

Per ottenere gli eventi da un file di input. Ciò è utile quando Logstash è installato localmente con la sorgente di input e si ha accesso ai log della sorgente di input.

9

generator

Viene utilizzato a scopo di test, che crea eventi casuali.

10

github

Cattura gli eventi dal webhook GitHub.

11

graphite

Per ottenere i dati delle metriche dallo strumento di monitoraggio della grafite.

12

heartbeat

Viene anche utilizzato per i test e produce eventi simili a battiti cardiaci

13

http

Per raccogliere gli eventi di registro su due protocolli di rete e quelli sono http e https.

14

http_poller

Viene utilizzato per decodificare l'output dell'API HTTP in un evento.

15

jdbc

Converte le transazioni JDBC in un evento in Logstash.

16

jmx

Per estrarre le metriche dalle applicazioni Java remote utilizzando JMX.

17

log4j

Cattura eventi dall'oggetto socketAppender di Log4j su socket TCP.

18

rss

All'output degli strumenti della riga di comando come evento di input in Logstash.

19

tcp

Cattura eventi su socket TCP.

20

twitter

Raccogli eventi dall'API di streaming di Twitter.

21

unix

Raccogli eventi su socket UNIX.

22

websocket

Cattura eventi tramite protocollo websocket.

23

xmpp

Legge gli eventi sui protocolli Jabber / xmpp.

Impostazioni plugin

Tutti i plugin hanno le loro impostazioni specifiche, che aiutano a specificare i campi importanti come Porta, Percorso, ecc. In un plugin. Discuteremo le impostazioni di alcuni dei plugin di input.

File

Questo plug-in di input viene utilizzato per estrarre gli eventi direttamente dai file di registro o di testo presenti nella sorgente di input. Funziona in modo simile al comando tail in UNIX e salva l'ultimo cursore letto e legge solo i nuovi dati aggiunti dal file di input, ma può essere modificato utilizzando l'impostazione star_position. Di seguito sono riportate le impostazioni di questo plug-in di input.

Nome dell'impostazione Valore predefinito Descrizione
add_field {} Aggiungi un nuovo campo all'evento di input.
close_older 3600 I file con l'ora dell'ultima lettura (in secondi) superiore a quella specificata in questo plugin vengono chiusi.
codec "Semplice" Viene utilizzato per decodificare i dati prima di entrare nella pipeline Logstash.
delimitatore "\ N" Viene utilizzato per specificare un nuovo delimitatore di riga.
discover_interval 15 È l'intervallo di tempo (in secondi) tra la scoperta di nuovi file nel percorso specificato.
enable_metric vero Viene utilizzato per abilitare o disabilitare il reporting e la raccolta di metriche per il plug-in specificato.
escludere Viene utilizzato per specificare il nome del file oi modelli, che dovrebbero essere esclusi dal plug-in di input.
Id Per specificare un'identità univoca per quell'istanza di plug-in.
max_open_files Specifica il numero massimo di file di input da Logstash in qualsiasi momento.
sentiero Specifica il percorso dei file e può contenere i modelli per il nome del file.
posizione di partenza "fine" Puoi cambiare in "inizio", se lo desideri; inizialmente Logstash dovrebbe iniziare a leggere i file dall'inizio e non solo il nuovo evento di log.
start_interval 1 Specifica l'intervallo di tempo in secondi, dopo il quale Logstash verifica i file modificati.
tag Per aggiungere qualsiasi informazione aggiuntiva, come Logstash, aggiunge "_grokparsefailure" nei tag, quando un evento di log non è conforme al filtro grok specificato.
genere Questo è un campo speciale, che puoi aggiungere a un evento di input ed è utile nei filtri e nella kibana.

Elasticsearch

Questo particolare plugin viene utilizzato per leggere i risultati delle query di ricerca in un cluster Elasticsearch. Di seguito sono riportate le impostazioni utilizzate in questo plugin:

Nome dell'impostazione Valore predefinito Descrizione
add_field {} Come nel plugin file, viene utilizzato per aggiungere un campo nell'evento di input.
ca_file Viene utilizzato per specificare il percorso del file dell'autorità di certificazione SSL.
codec "Semplice" Viene utilizzato per decodificare gli eventi di input da Elasticsearch prima di entrare nella pipeline Logstash.
docinfo "Falso" Puoi cambiarlo in true, se desideri estrarre le informazioni aggiuntive come indice, tipo e ID dal motore di Elasticsearch.
docinfo_fields ["_index", "_type", "_id"] Puoi eliminare qualsiasi campo che non desideri inserire nel tuo Logstash.
enable_metric vero Viene utilizzato per abilitare o disabilitare il reporting e la raccolta di metriche per quell'istanza di plug-in.
host Viene utilizzato per specificare gli indirizzi di tutti i motori di ricerca elastica, che saranno l'origine di input di quell'istanza di Logstash. La sintassi è host: porta o IP: porta.
Id Viene utilizzato per fornire un numero di identità univoco a quella specifica istanza del plug-in di input.
indice "logstash- *" Viene utilizzato per specificare il nome dell'indice o un modello, che Logstash monitorerà da Logstash per l'input.
parola d'ordine Per scopi di autenticazione.
query "{\" ordina \ ": [\" _ doc \ "]}" Domanda per l'esecuzione.
ssl falso Abilita o disabilita il secure socket layer.
tag Per aggiungere ulteriori informazioni negli eventi di input.
genere Viene utilizzato per classificare i moduli di input in modo che sia facile cercare in tutti gli eventi di input nelle fasi successive.
utente Per scopi autentici.

registro eventi

Questo plug-in di input legge i dati dall'API win32 dei server Windows. Di seguito sono riportate le impostazioni di questo plugin:

Nome dell'impostazione Valore predefinito Descrizione
add_field {} Come nel plugin file, viene utilizzato per aggiungere un campo nell'evento di input
codec "Semplice" Viene utilizzato per decodificare gli eventi di input da Windows; prima di entrare nella pipeline Logstash
file di log ["Applicazione", "Sicurezza", "Sistema"] Eventi richiesti nel file di registro di input
intervallo 1000 È in millisecondi e definisce l'intervallo tra due controlli consecutivi di nuovi registri eventi
tag Per aggiungere ulteriori informazioni negli eventi di input
genere Viene utilizzato per classificare l'input da un plug-in specifico per un determinato tipo, in modo che sia facile cercare tutti gli eventi di input nelle fasi successive

Twitter

Questo plug-in di input viene utilizzato per raccogliere il feed di Twitter dalla sua Streaming API. La tabella seguente descrive le impostazioni di questo plugin.

Nome dell'impostazione Valore predefinito Descrizione
add_field {} Come nel plugin file, viene utilizzato per aggiungere un campo nell'evento di input
codec "Semplice" Viene utilizzato per decodificare gli eventi di input da Windows; prima di entrare nella pipeline Logstash
consumer_key Contiene la chiave utente dell'app Twitter. Per maggiori informazioni, visitahttps://dev.twitter.com/apps/new
consumer_secret Contiene la chiave segreta del consumatore dell'app Twitter. Per maggiori informazioni, visitahttps://dev.twitter.com/apps/new
enable_metric vero Viene utilizzato per abilitare o disabilitare il reporting e la raccolta di metriche per quell'istanza di plug-in
segue

Specifica gli ID utente separati da virgole e LogStash controlla lo stato di questi utenti su Twitter.

Per maggiori informazioni, visita

https://dev.twitter.com

full_tweet falso Puoi cambiarlo in true, se desideri che Logstash legga l'intero oggetto restituito dall'API di Twitter
id Viene utilizzato per fornire un numero di identità univoco a quella specifica istanza del plug-in di input
ignore_retweets Falso Puoi modificare l'impostazione true per ignorare i retweet nel feed Twitter di input
parole chiave È un array di parole chiave, che devono essere tracciate nel feed di input di twitter
linguaggio Definisce la lingua dei tweet necessari a LogStash dal feed di Twitter di input. Questo è un array di identificatori, che definisce una lingua specifica in Twitter
posizioni Per filtrare i tweet dal feed di input in base alla posizione specificata. Questo è un array, che contiene la longitudine e la latitudine della posizione
oauth_token È un campo obbligatorio, che contiene il token oauth dell'utente. Per ulteriori informazioni, visitare il seguente collegamentohttps://dev.twitter.com/apps
oauth_token_secret È un campo obbligatorio, che contiene il token segreto oauth dell'utente. Per ulteriori informazioni, visitare il seguente collegamentohttps://dev.twitter.com/apps
tag Per aggiungere ulteriori informazioni negli eventi di input
genere Viene utilizzato per classificare l'input da un plug-in specifico per un determinato tipo, in modo che sia facile cercare tutti gli eventi di input nelle fasi successive

TCP

TCP viene utilizzato per ottenere gli eventi sul socket TCP; può leggere dalle connessioni utente o dal server, specificato nelle impostazioni della modalità. La tabella seguente descrive le impostazioni di questo plugin:

Nome dell'impostazione Valore predefinito Descrizione
add_field {} Come nel plugin file, viene utilizzato per aggiungere un campo nell'evento di input
codec "Semplice" Viene utilizzato per decodificare gli eventi di input da Windows; prima di entrare nella pipeline Logstash
enable_metric vero Viene utilizzato per abilitare o disabilitare il reporting e la raccolta di metriche per quell'istanza di plug-in
ospite "0.0.0.0" L'indirizzo del sistema operativo del server da cui dipende il client
id Contiene la chiave utente dell'app Twitter
modalità "server" Viene utilizzato per specificare che la sorgente di input è server o client.
porta Definisce il numero di porta
ssl_cert Viene utilizzato per specificare il percorso del certificato SSL
ssl_enable falso Abilita o disabilita SSL
ssl_key Per specificare il percorso del file di chiavi SSL
tag Per aggiungere ulteriori informazioni negli eventi di input
genere Viene utilizzato per classificare l'input da un plug-in specifico per un determinato tipo, in modo che sia facile cercare tutti gli eventi di input nelle fasi successive

Logstash - Plugin di output

Logstash supporta varie origini di output e in diverse tecnologie come database, file, e-mail, output standard, ecc.

La sintassi per l'utilizzo del plug-in di output è la seguente:

output {
   Plugin name {
      Setting 1……
      Setting 2……..
   }
}

È possibile scaricare il plug-in di output utilizzando il seguente comando:

>logstash-plugin install logstash-output-<plugin name>

Il Logstash-plugin utilityè presente nella cartella bin della directory di installazione di Logstash. La tabella seguente descrive i plugin di output offerti da Logstash.

Sr.No. Nome e descrizione del plugin
1

CloudWatch

Questo plug-in viene utilizzato per inviare dati metrici aggregati a CloudWatch dei servizi Web di Amazon.

2

csv

Viene utilizzato per scrivere gli eventi di output in modo separato da virgole.

3

Elasticsearch

Viene utilizzato per memorizzare i log di output nell'indice Elasticsearch.

4

email

Viene utilizzato per inviare un'e-mail di notifica, quando viene generato l'output. L'utente può aggiungere informazioni sull'output nell'email.

5

exec

Viene utilizzato per eseguire un comando, che corrisponde all'evento di output.

6

ganglia

Scrive le metriche a gmond of Gangila.

7

gelf

Viene utilizzato per produrre output per Graylog2 in formato GELF.

8

google_bigquery

Invia gli eventi a Google BigQuery.

9

google_cloud_storage

Memorizza gli eventi di output su Google Cloud Storage.

10

graphite

Viene utilizzato per memorizzare gli eventi di output in Graphite.

11

graphtastic

Viene utilizzato per scrivere le metriche di output su Windows.

12

hipchat

Viene utilizzato per memorizzare gli eventi del registro di output su HipChat.

13

http

Viene utilizzato per inviare gli eventi del registro di output agli endpoint http o https.

14

influxdb

Viene utilizzato per memorizzare l'evento di output in InfluxDB.

15

irc

Viene utilizzato per scrivere gli eventi di output su irc.

16

mongodb

Memorizza i dati di output in MongoDB.

17

nagios

Viene utilizzato per notificare a Nagios i risultati del controllo passivo.

18

nagios_nsca

Viene utilizzato per notificare a Nagios i risultati del controllo passivo tramite il protocollo NSCA.

19

opentsdb

Memorizza gli eventi di output di Logstash in OpenTSDB.

20

pipe

Trasmette gli eventi di output allo standard input di un altro programma.

21

rackspace

Viene utilizzato per inviare gli eventi del registro di output al servizio di accodamento di Rackspace Cloud.

22

redis

Utilizza il comando rpush per inviare i dati di registrazione dell'output alla coda Redis.

23

riak

Viene utilizzato per memorizzare gli eventi di output nella coppia chiave / valore distribuita Riak.

24

s3

Memorizza i dati di registrazione dell'output su Amazon Simple Storage Service.

25

sns

Viene utilizzato per inviare gli eventi di output al Simple Notification Service di Amazon.

26

solr_http

Indicizza e memorizza i dati di registrazione in uscita in Solr.

27

sps

Viene utilizzato per inviare gli eventi a Simple Queue Service di AWS.

28

statsd

Viene utilizzato per inviare i dati delle metriche al demone di rete di statsd.

29

stdout

Viene utilizzato per mostrare gli eventi di output sull'output standard della CLI come il prompt dei comandi.

30

syslog

Viene utilizzato per inviare gli eventi di output al server syslog.

31

tcp

Viene utilizzato per inviare gli eventi di output al socket TCP.

32

udp

Viene utilizzato per inviare gli eventi di output su UDP.

33

websocket

Viene utilizzato per eseguire il push degli eventi di output sul protocollo WebSocket.

34

xmpp

Viene utilizzato per eseguire il push degli eventi di output sul protocollo XMPP.

Tutti i plugin hanno le loro impostazioni specifiche, che aiutano a specificare i campi importanti come Porta, Percorso, ecc. In un plugin. Discuteremo le impostazioni di alcuni dei plugin di output.

Elasticsearch

Il plug-in di output di Elasticsearch consente a Logstash di memorizzare l'output nei cluster specifici del motore di Elasticsearch. Questa è una delle famose scelte degli utenti perché è inclusa nel pacchetto di ELK Stack e quindi fornisce soluzioni end-to-end per Devops. La tabella seguente descrive le impostazioni di questo plugin di output.

Nome dell'impostazione Valore predefinito Descrizione
azione indice Viene utilizzato per definire l'azione eseguita nel motore Elasticsearch. Altri valori per queste impostazioni sono Elimina, Crea, Aggiorna, ecc.
cacert Contiene il percorso del file con .cer o .pem per la convalida del certificato del server.
codec "Semplice" Viene utilizzato per codificare i dati di registrazione in uscita prima di inviarli all'origine di destinazione.
doc_as_upset falso Questa impostazione viene utilizzata in caso di azione di aggiornamento. Crea un documento nel motore di Elasticsearch, se l'ID del documento non è specificato nel plug-in di output.
tipo di documento Viene utilizzato per memorizzare lo stesso tipo di eventi nello stesso tipo di documento. Se non è specificato, il tipo di evento viene utilizzato per lo stesso.
flush_size 500 Viene utilizzato per migliorare le prestazioni del caricamento collettivo in Elasticsearch
host ["127.0.0.1"] È un array di indirizzi di destinazione per i dati di registrazione in uscita
idle_flush_time 1 Definisce il limite di tempo (secondo) tra i due scaricamenti, Logstash forza lo scaricamento dopo il limite di tempo specificato in questa impostazione
indice "logstash -% {+ YYYY.MM.dd}" Viene utilizzato per specificare l'indice del motore Elasticsearch
manage_temlpate vero Viene utilizzato per applicare il modello predefinito in Elasticsearch
genitore zero Viene utilizzato per specificare l'ID del documento principale in Elasticsearch
parola d'ordine Viene utilizzato per autenticare la richiesta in un cluster protetto in Elasticsearch
sentiero Viene utilizzato per specificare il percorso HTTP di Elasticsearch.
tubatura zero Viene utilizzato per impostare la pipeline di acquisizione, che l'utente desidera eseguire per un evento
proxy Viene utilizzato per specificare il proxy HTTP
retry_initial_interval 2 Viene utilizzato per impostare l'intervallo di tempo iniziale (secondi) tra i tentativi di massa. Ottiene il doppio dopo ogni tentativo fino a raggiungere retry_max_interval
retry_max_interval 64 Viene utilizzato per impostare l'intervallo di tempo massimo per retry_initial_interval
retry_on_conflict 1 È il numero di tentativi effettuati da Elasticsearch per aggiornare un documento
ssl Per abilitare o disabilitare SSL / TLS protetto su Elasticsearch
modello Contiene il percorso del template personalizzato in Elasticsearch
Nome modello "logstash" Viene utilizzato per denominare il modello in Elasticsearch
tempo scaduto 60 È il timeout per le richieste di rete a Elasticsearch
upsert "" Aggiorna il documento o, se document_id non esiste, crea un nuovo documento in Elasticsearch
utente Contiene l'utente per autenticare la richiesta Logstash nel cluster Elasticsearch protetto

E-mail

Il plug-in di output della posta elettronica viene utilizzato per notificare all'utente quando Logstash genera l'output. La tabella seguente descrive le impostazioni per questo plugin.

Nome dell'impostazione Valore predefinito Descrizione
indirizzo "Localhost" È l'indirizzo del server di posta
allegati [] Contiene i nomi e le posizioni dei file allegati
corpo "" Contiene il corpo dell'email e dovrebbe essere testo normale
cc Contiene gli indirizzi di posta elettronica separati da virgole per il cc di posta elettronica
codec "Semplice" Viene utilizzato per codificare i dati di registrazione in uscita prima di inviarli all'origine di destinazione.
tipo di contenuto "text / html; charset = UTF-8" Viene utilizzato per il tipo di contenuto dell'email
debug falso Viene utilizzato per eseguire l'inoltro della posta in modalità debug
dominio "localhost" Viene utilizzato per impostare il dominio per inviare i messaggi di posta elettronica
a partire dal "[email protected]" Viene utilizzato per specificare l'indirizzo e-mail del mittente
htmlbody "" Viene utilizzato per specificare il corpo dell'email in formato html
parola d'ordine Viene utilizzato per autenticarsi con il server di posta
porta 25 Viene utilizzato per definire la porta per comunicare con il server di posta
rispondi a Viene utilizzato per specificare l'ID e-mail per il campo di risposta dell'e-mail
soggetto "" Contiene la riga dell'oggetto dell'email
use_tls falso Abilita o disabilita TSL per la comunicazione con il server di posta
nome utente Contiene il nome utente per l'autenticazione con il server
attraverso "Smtp" Definisce i metodi di invio di e-mail tramite Logstash

Http

Questa impostazione viene utilizzata per inviare gli eventi di output su http alla destinazione. Questo plugin ha le seguenti impostazioni:

Nome dell'impostazione Valore predefinito Descrizione
automatic_retries 1 Viene utilizzato per impostare il numero di tentativi di richiesta http tramite logstash
cacert Contiene il percorso del file per la convalida del certificato del server
codec "Semplice" Viene utilizzato per codificare i dati di registrazione in uscita prima di inviarli all'origine di destinazione.
tipo di contenuto Specifica il tipo di contenuto della richiesta http al server di destinazione
biscotti vero Viene utilizzato per abilitare o disabilitare i cookie
formato "json" Viene utilizzato per impostare il formato del corpo della richiesta http
intestazioni Contiene le informazioni dell'intestazione http
http_method "" Viene utilizzato per specificare il metodo http utilizzato nella richiesta da logstash e i valori possono essere "put", "post", "patch", "delete", "get", "head"
request_timeout 60 Viene utilizzato per autenticarsi con il server di posta
url È un'impostazione richiesta per questo plug-in per specificare l'endpoint http o https

stdout

Il plugin di output stdout viene utilizzato per scrivere gli eventi di output sull'output standard dell'interfaccia della riga di comando. È il prompt dei comandi in Windows e il terminale in UNIX. Questo plugin ha le seguenti impostazioni:

Nome dell'impostazione Valore predefinito Descrizione
codec "Semplice" Viene utilizzato per codificare i dati di registrazione in uscita prima di inviarli all'origine di destinazione.
lavoratori 1 Viene utilizzato per specificare il numero di worker per l'output

statsd

È un demone di rete utilizzato per inviare i dati delle matrici su UDP ai servizi di backend di destinazione. È il prompt dei comandi in Windows e il terminale in UNIX. Questo plugin ha le seguenti impostazioni:

Nome dell'impostazione Valore predefinito Descrizione
codec "Semplice" Viene utilizzato per codificare i dati di registrazione in uscita prima di inviarli all'origine di destinazione.
contare {} Viene utilizzato per definire il conteggio da utilizzare nelle metriche
decremento [] Viene utilizzato per specificare i nomi delle metriche di decremento
ospite "Localhost" Contiene l'indirizzo del server di statsd
incremento [] Viene utilizzato per specificare i nomi delle metriche di incremento
porta 8125 Contiene il port del server statsd
frequenza di campionamento 1 Viene utilizzato per specificare la frequenza di campionamento della metrica
mittente "%{ospite}" Specifica il nome del mittente
impostato {} Viene utilizzato per specificare una metrica impostata
tempismo {} Viene utilizzato per specificare una metrica di temporizzazione
lavoratori 1 Viene utilizzato per specificare il numero di worker per l'output

Plugin di filtro

Logstash supporta vari plugin di filtri per analizzare e trasformare i log di input in un formato più strutturato e facile da interrogare.

La sintassi per l'utilizzo del plug-in del filtro è la seguente:

filter {
   Plugin name {
      Setting 1……
      Setting 2……..
   }
}

Puoi scaricare il plugin del filtro utilizzando il seguente comando:

>logstash-plugin install logstash-filter-<plugin name>

L'utilità del plug-in Logstash è presente nella cartella bin della directory di installazione di Logstash. La tabella seguente descrive i plugin di output offerti da Logstash.

Sr.No. Nome e descrizione del plugin
1

aggregate

Questo plugin raccoglie o aggrega i dati da vari eventi dello stesso tipo e li elabora nell'evento finale

2

alter

Consente all'utente di modificare il campo degli eventi di registro, che il filtro di mutazioni non gestisce

3

anonymize

Viene utilizzato per sostituire i valori dei campi con un hash coerente

4

cipher

Viene utilizzato per crittografare gli eventi di output prima di archiviarli nell'origine di destinazione

5

clone

Viene utilizzato per creare duplicati degli eventi di output in Logstash

6

collate

Unisce gli eventi di diversi registri in base al loro tempo o conteggio

7

csv

Questo plugin analizza i dati dai log di input in base al separatore

8

date

Analizza le date dai campi nell'evento e le imposta come timestamp per l'evento

9

dissect

Questo plugin aiuta l'utente a estrarre i campi da dati non strutturati e rende facile per il filtro grok analizzarli correttamente

10

drop

Viene utilizzato per eliminare tutti gli eventi dello stesso tipo o qualsiasi altra somiglianza

11

elapsed

Viene utilizzato per calcolare il tempo tra gli eventi di inizio e di fine

12

Elasticsearch

Viene utilizzato per copiare i campi degli eventi di log precedenti presenti in Elasticsearch in quello corrente in Logstash

13

extractnumbers

Viene utilizzato per estrarre il numero dalle stringhe negli eventi del registro

14

geoip

Aggiunge un campo nell'evento, che contiene la latitudine e la longitudine della posizione dell'IP presente nel registro dell'evento

15

grok

È il plug-in di filtro comunemente utilizzato per analizzare l'evento per ottenere i campi

16

i18n

Elimina i caratteri speciali da un evento archiviato nel registro

17

json

Viene utilizzato per creare un oggetto Json strutturato in un evento o in un campo specifico di un evento

18

kv

Questo plugin è utile per confrontare coppie di valori chiave nei dati di registrazione

19

metrics

Viene utilizzato per aggregare metriche come il conteggio della durata del tempo in ogni evento

20

multiline

È anche uno dei plugin di filtro di uso comune, che aiuta l'utente in caso di conversione di dati di registrazione multilinea in un singolo evento.

21

mutate

Questo plugin viene utilizzato per rinominare, rimuovere, sostituire e modificare i campi nei tuoi eventi

22

range

Utilizzato per controllare i valori numerici dei campi negli eventi rispetto a un intervallo previsto e la lunghezza della stringa all'interno di un intervallo.

23

ruby

Viene utilizzato per eseguire codice Ruby arbitrario

24

sleep

In questo modo Logstash rimane inattivo per un periodo di tempo specificato

25

split

Viene utilizzato per dividere un campo di un evento e inserire tutti i valori di divisione nei cloni di quell'evento

26

xml

Viene utilizzato per creare eventi parando i dati XML presenti nei log

Plugin codec

I plugin del codec possono essere una parte dei plugin di input o output. Questi plugin vengono utilizzati per modificare o formattare la presentazione dei dati di registrazione. Logstash offre più plug-in di codec e quelli sono i seguenti:

Sr.No. Nome e descrizione del plugin
1

avro

Questo plugin codifica serializzare eventi Logstash in datum avro o decodificare record avro in eventi Logstash

2

cloudfront

Questo plug-in legge i dati codificati dal cloudfront AWS

3

cloudtrail

Questo plugin viene utilizzato per leggere i dati da AWS cloudtrail

4

collectd

Questo legge i dati dal protocollo binario chiamato raccolti su UDP

5

compress_spooler

Viene utilizzato per comprimere gli eventi di registro in Logstash in batch di spool

6

dots

Viene utilizzato il monitoraggio delle prestazioni impostando un punto per ogni evento su stdout

7

es_bulk

Viene utilizzato per convertire i dati di massa da Elasticsearch in eventi Logstash, inclusi i metadati di Elasticsearch

8

graphite

Questo codec legge i dati dalla grafite in eventi e modifica l'evento in record formattati in grafite

9

gzip_lines

Questo plugin viene utilizzato per gestire i dati codificati in gzip

10

json

Viene utilizzato per convertire un singolo elemento nell'array Json in un singolo evento Logstash

11

json_lines

Viene utilizzato per gestire i dati Json con delimitatore di nuova riga

12

line

Il plugin leggerà e scriverà eventi in un unico live, il che significa che dopo il delimitatore di nuova riga ci sarà un nuovo evento

13

multiline

Viene utilizzato per convertire i dati di registrazione multilinea in un singolo evento

14

netflow

Questo plugin viene utilizzato per convertire i dati di nertflow v5 / v9 in eventi di logstash

15

nmap

Analizza i dati dei risultati di nmap in un formato XML

16

plain

Questo legge il testo senza delimitatori

17

rubydebug

Questo plugin scriverà gli eventi Logstash di output usando la fantastica libreria di stampa di Ruby

Crea il tuo plugin

Puoi anche creare i tuoi plugin in Logstash, che soddisfano le tue esigenze. L'utilità del plug-in Logstash viene utilizzata per creare plug-in personalizzati. Qui creeremo un plugin di filtro, che aggiungerà un messaggio personalizzato negli eventi.

Genera la struttura di base

Un utente può generare i file necessari utilizzando l'opzione di generazione dell'utilità logstash-plugin oppure è disponibile anche su GitHub.

>logstash-plugin generate --type filter --name myfilter --path c:/tpwork/logstash/lib

Qui, typeviene utilizzata per specificare che il plug-in è Input, Output o Filter. In questo esempio, stiamo creando un plugin di filtro denominatomyfilter. L'opzione percorso viene utilizzata per specificare il percorso in cui si desidera creare la directory del plug-in. Dopo aver eseguito il comando sopra menzionato, vedrai che viene creata una struttura di directory.

Sviluppa il plugin

Puoi trovare il file di codice del plugin nel file \lib\logstash\filterscartella nella directory dei plugin. L'estensione del file sarà.rb.

Nel nostro caso, il file di codice si trovava nel seguente percorso:

C:\tpwork\logstash\lib\logstash-filter-myfilter\lib\logstash\filters\myfilter.rb

Modifichiamo il messaggio in - predefinito ⇒ "Ciao, lo stai imparando su tutorialspoint.com" e salviamo il file.

Installa il plugin

Per installare questo plugin, è necessario modificare il Gemfile di Logstash. È possibile trovare questo file nella directory di installazione di Logstash. Nel nostro caso, sarà inC:\tpwork\logstash. Modifica questo file utilizzando qualsiasi editor di testo e aggiungi il seguente testo al suo interno.

gem "logstash-filter-myfilter",:path => "C:/tpwork/logstash/lib/logstash-filter-myfilter"

Nel comando precedente, specifichiamo il nome del plugin insieme a dove possiamo trovarlo per l'installazione. Quindi, esegui l'utilità del plugin Logstash per installare questo plugin.

>logstash-plugin install --no-verify

Test

Qui stiamo aggiungendo myfilter in uno degli esempi precedenti -

logstash.conf

Questo file di configurazione Logstash contiene myfilter nella sezione dei filtri dopo il plug-in del filtro grok.

input {
   file {
      path => "C:/tpwork/logstash/bin/log/input1.log"
   } 
}
filter {
   grok {
      match => [
         "message", "%{LOGLEVEL:loglevel} - %{NOTSPACE:taskid} -
            %{NOTSPACE:logger} - %{WORD:label}( - %{INT:duration:int})?" ]
   }
   myfilter{}
}
output {
   file {
      path => "C:/tpwork/logstash/bin/log/output1.log"
      codec => rubydebug
   }
}

Run logstash

Possiamo eseguire Logstash utilizzando il seguente comando.

>logstash –f logsatsh.conf

input.log

Il blocco di codice seguente mostra i dati del registro di input.

INFO - 48566 - TRANSACTION_START - start

output.log

Il blocco di codice seguente mostra i dati del registro di output.

{
   "path" => "C:/tpwork/logstash/bin/log/input.log",
   "@timestamp" => 2017-01-07T06:25:25.484Z,
   "loglevel" => "INFO",
   "logger" => "TRANSACTION_END",
   "@version" => "1",
   "host" => "Dell-PC",
   "label" => "end",
   "message" => "Hi, You are learning this on tutorialspoint.com",
   "taskid" => "48566",
   "tags" => []
}

Pubblicalo su Logstash

Uno sviluppatore può anche pubblicare il suo plug-in personalizzato su Logstash caricandolo su GitHub e seguendo i passaggi standardizzati definiti da Elasticsearch Company.

Fare riferimento al seguente URL per ulteriori informazioni sulla pubblicazione:

https://www.elastic.co/guide/en/logstash/current/contributing-to-logstash.html