2017-03-26 3 views
1

Ich habe die FileBeat -> Logstash -> ElasticSearch -> Kibana Einrichtung erfolgreich eingerichtet. Jetzt in Logstash möchte ich die host mit der beat.name überschreiben. Wenn ich jedoch versuche, auf die Beat-Metadaten zu verweisen, wird die Variable nicht aufgelöst.Logstash überschreiben Host mit Dateiname

mutate { 
     add_field => { 
      "timestamp" => "%{year}-%{month}-%{day} %{time}" 
     } 
     replace_field => { 
      "host" => "%{[@metadata][beat][name]}" 
     } 
    } 

Ich denke, ich vermisse einige wichtige Konfiguration. Auch wenn Logstash es an elasticsearch weiterleitet, sind diese Symbolauflösung nicht erfolgt.

output { 
    elasticsearch { 
    hosts => "localhost:9200" 
    manage_template => false 
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
    document_type => "%{[@metadata][type]}" 
    } 

Wie beziehen wir uns auf FileBeat-Meta-Informationen in der Logstash-Konfigurationsdatei korrekt?

Antwort

1

Das Feld beat.name wird nicht im Objekt @metadata übertragen. beat ist ein Top-Level-Feld in dem Ereignis. Um auf den Wert zu verweisen, verwenden Sie [beat][name] oder verwenden Sie in der Zeichenfolge "%{[beat][name]}".