Sto utilizzando Grok & Logstash per inviare registri di accesso da Nginx a Ricerca elastica. Sto dando a Logstash tutti i miei registri di accesso (con un jolly, funziona bene) e vorrei ottenere il nome del file (parte di esso, per essere esatti) e usarlo come campo.Utilizzare grok per aggiungere il nome file di registro come campo nel logstash
mio config è la seguente:
input {
file {
path => "/var/log/nginx/*.access.log"
type => "nginx_access"
}
}
filter {
if [type] == "nginx_access" {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
match => { "path" => "%{GREEDYDATA}/%{GREEDYDATA:app}.access.log" }
add_field => { "app" => "%{app}" }
}
}
}
output{
# whatever
}
Ma non sembra funzionare: il campo app
viene aggiunto, ma ha un valore di %{app}
(non sostituito).
Ho provato diverse cose ma inutilmente. Potrei perdere qualcosa ... Qualche idea?
Grazie mille
possibile duplicato di [Logstash: come aggiungere il nome del file come un campo] (http://stackoverflow.com/questions/22916200/logstash-how-to-add-file-name-as-a -field) – OhadR