Logstash - Input supportati

Logstash supporta una vasta gamma di log da diverse fonti. Funziona con fonti famose come spiegato di seguito.

Raccogli i registri dalle metriche

Gli eventi di sistema e altre attività temporali vengono registrati nelle metriche. Logstash può accedere al registro dalle metriche di sistema ed elaborarli utilizzando i filtri. Questo aiuta a mostrare all'utente il feed live degli eventi in modo personalizzato. Le metriche vengono scaricate in base aflush_interval settingdel filtro delle metriche e per impostazione predefinita; è impostato su 5 secondi.

Stiamo monitorando le metriche di test generate da Logstash, raccogliendo e analizzando gli eventi in esecuzione attraverso Logstash e mostrando il feed live sul prompt dei comandi.

logstash.conf

Questa configurazione contiene un plug-in generatore, che è offerto da Logstash per le metriche di test e imposta l'impostazione del tipo su "generato" per l'analisi. Nella fase di filtraggio, stiamo elaborando solo le righe con un tipo generato utilizzando l'istruzione "if". Quindi, il plug-in delle metriche conta il campo specificato nelle impostazioni del misuratore. Il plug-in delle metriche scarica il conteggio ogni 5 secondi specificati nel fileflush_interval.

Infine, invia gli eventi del filtro a un output standard come il prompt dei comandi utilizzando il codec pluginper la formattazione. Il plug-in Codec utilizza il valore [ events ] [ rate_1m ] per generare gli eventi al secondo in una finestra scorrevole di 1 minuto.

input {
   generator {
     	type => "generated"
   }
}
filter {
   if [type] == "generated" {
      metrics {
         meter => "events"
         add_tag => "metric"
      }
   }
}
output {
   # only emit events with the 'metric' tag
   if "metric" in [tags] {
      stdout {
         codec => line { format => "rate: %{[events][rate_1m]}"
      }
   }
}

Esegui Logstash

Possiamo eseguire Logstash utilizzando il seguente comando.

>logsaths –f logstash.conf

stdout (prompt dei comandi)

rate: 1308.4
rate: 1308.4
rate: 1368.654529135342
rate: 1416.4796003951449
rate: 1464.974293984808
rate: 1523.3119444107458
rate: 1564.1602979542715
rate: 1610.6496496890895
rate: 1645.2184750334154
rate: 1688.7768007612485
rate: 1714.652283095914
rate: 1752.5150680019278
rate: 1785.9432934744932
rate: 1806.912181962126
rate: 1836.0070454626025
rate: 1849.5669494173826
rate: 1871.3814756851832
rate: 1883.3443123790712
rate: 1906.4879113216743
rate: 1925.9420717997118
rate: 1934.166137658981
rate: 1954.3176526556897
rate: 1957.0107444542625

Raccogli i registri dal server Web

I server Web generano un gran numero di log relativi agli accessi e agli errori degli utenti. Logstash aiuta a estrarre i log da diversi server utilizzando plug-in di input e ad archiviarli in una posizione centralizzata.

Stiamo estraendo i dati dal file stderr logs del server Apache Tomcat locale e riporlo in output.log.

logstash.conf

Questo file di configurazione Logstash indica a Logstash di leggere i log degli errori di Apache e di aggiungere un tag denominato "apache-error". Possiamo semplicemente inviarlo a output.log utilizzando il plugin di output del file.

input {
   file {
      path => "C:/Program Files/Apache Software Foundation/Tomcat 7.0 /logs/*stderr*"
      type => "apache-error"  
   }
} 
output {
   file {
      path => "C:/tpwork/logstash/bin/log/output.log"
   }
}

Esegui Logstash

Possiamo eseguire Logstash utilizzando il seguente comando.

>Logstash –f Logstash.conf

Esempio di registro di input

Questo è il campione stderr log, che viene generato quando si verificano gli eventi del server in Apache Tomcat.

C: \ Programmi \ Apache Software Foundation \ Tomcat 7.0 \ logs \ tomcat7-stderr.2016-12-25.log

Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-9999"]
Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Dec 25, 2016 7:05:14 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 823 ms

output.log

{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start\r",
   "type":"apache-error","tags":[]
}
{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"INFO: Starting ProtocolHandler [
      \"ajp-bio-8009\"]\r","type":"apache-error","tags":[]
}
{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"Dec 25, 2016 7:05:14 PM org.apache.catalina.startup.Catalina start\r",
   "type":"apache-error","tags":[]
}
{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"INFO: Server startup in 823 ms\r","type":"apache-error","tags":[]
}

Raccogli i registri dalle origini dati

Per cominciare, vediamo come configurare MySQL per la registrazione. Aggiungi le seguenti righe inmy.ini file del server di database MySQL in [mysqld].

In Windows, è presente all'interno della directory di installazione di MySQL, che si trova in -

C:\wamp\bin\mysql\mysql5.7.11

In UNIX, puoi trovarlo in - /etc/mysql/my.cnf

general_log_file   = "C:/wamp/logs/queries.log"
general_log = 1

logstash.conf

In questo file di configurazione, il plugin file viene utilizzato per leggere il registro di MySQL e scriverlo su ouput.log.

input {
   file {
      path => "C:/wamp/logs/queries.log"
   }
}
output {
   file {
      path => "C:/tpwork/logstash/bin/log/output.log"
   }
}

queries.log

Questo è il registro generato dalle query eseguite nel database MySQL.

2016-12-25T13:05:36.854619Z   2 Query		select * from test1_users
2016-12-25T13:05:51.822475Z    2 Query	select count(*) from users
2016-12-25T13:05:59.998942Z    2 Query         select count(*) from test1_users

output.log

{
   "path":"C:/wamp/logs/queries.log","@timestamp":"2016-12-25T13:05:37.905Z",
   "@version":"1","host":"Dell-PC",
   "message":"2016-12-25T13:05:36.854619Z    2 Query\tselect * from test1_users",
   "tags":[]
}
{
   "path":"C:/wamp/logs/queries.log","@timestamp":"2016-12-25T13:05:51.938Z",
   "@version":"1","host":"Dell-PC",
   "message":"2016-12-25T13:05:51.822475Z    2 Query\tselect count(*) from users",
   "tags":[]
}
{
   "path":"C:/wamp/logs/queries.log","@timestamp":"2016-12-25T13:06:00.950Z",
   "@version":"1","host":"Dell-PC",
   "message":"2016-12-25T13:05:59.998942Z    2 Query\tselect count(*) from test1_users",
   "tags":[]
}