Sto utilizzando Logstash + Elasticsearch + Kibana per avere una panoramica dei miei file di registro Tomcat.Logstash: come aggiungere il nome del file come campo?
Per ogni voce del registro, è necessario conoscere il nome del file da cui proviene. Mi piacerebbe aggiungerlo come campo. C'è un modo per farlo? Ho cercato su Google un po 'e ho trovato solo this SO question, ma la risposta non è più aggiornata.
Finora l'unica soluzione che vedo è specificare la configurazione separato per ogni nome di file possibile con diverso "add_field" in questo modo:
input {
file {
type => "catalinalog"
path => [ "/path/to/my/files/catalina**" ]
add_field => { "server" => "prod1" }
}
}
Ma poi ho bisogno di riconfigurare logstash ogni volta che c'è un nuovo possibile nome del file. Qualche idea migliore?
grazie per la tua risposta :) Non cercherà il nome del file DENTRO il contenuto del file di registro? – machinery
Di solito non lavoreresti con grok sul campo del messaggio, ma io uso il campo path, che è un campo speciale che viene aggiunto automaticamente dal logstash. –
Grazie mille :) La tua soluzione funziona - dopo aver aggiunto il segno di percentuale prima di "{GREEDYDATA: nomefile}". Per favore aggiorna la tua risposta e io la accetterò come soluzione. Non ero a conoscenza dell'esistenza del campo "percorso". – machinery