2016-12-07 2 views
1

Ich möchte den Dateinamen aus dem Quellwert von Dateibeat erhalten.Wie bekomme ich den Dateinamen aus dem Quellwert von Dateibeat in logstash?

output { 
    if [type] == "wxnumber" { 
    elasticsearch { 
     hosts => "localhost:9200" 
     sniffing => false 
     manage_template => false 
     index => "%{[source]}" 
     document_type => "%{[@metadata][type]}" 
    } 
    } 
} 

Die %{[source]} ist in der Regel wie /aaa/bbb/ccc.log. Wie setze ich den Index auf ccc.log?

+0

Was ist das Ergebnis, das Sie erhalten, von der obigen Konfiguration? – Kulasangar

+0

@ Kulasangar, Vielen Dank für Ihre Antwort. Das Ergebnis von% {[source]} ist wie /aaa/bbb/ccc.log. Ich möchte nur den ccc.log für diese Variable bekommen. – microchao

+0

Ich habe die Antwort aktualisiert! Überprüfen Sie, ob es funktioniert. – Kulasangar

Antwort

0

Vielleicht könnten Sie die mutate verwenden, um es zu ersetzen mit, wie Sie Ihre Log-Datei benannt werden sollte:

if [%{[source]}] =~ /aaa/bbb/ccc.log { 
    mutate { 
    replace => ["%{[source]}]", "ccc.log"] 
    } 
} 

Diese SO könnte hilfreich sein!

Verwandte Themen