2016-10-21 1 views
0

Derzeit
ich die obige Aufgabe abgeschlossen haben, um eine Protokolldatei mit und übergibt Daten mit logstash einem Index in Elasticsearch:Erstellen Sie einen neuen Index in Elasticsearch für jede Protokolldatei mit Datum

yellow open logstash-2016.10.19 5 1 1000807 0 364.8mb 364.8mb

Was ich will eigentlich

tun, wenn ich die folgenden Protokolldateien haben, die nach Jahr, Monat und Datum benannt

MyLog-2016-10-16.log 
MyLog-2016-10-17.log 
MyLog-2016-10-18.log 
MyLog-2016-11-05.log 
MyLog-2016-11-02.log 
MyLog-2016-11-03.log 

Ich möchte logstash erzählen von Jahr, Monat und Datum und erstellen Sie die folgenden Indizes zu lesen:

yellow open MyLog-2016-10-16.log
yellow open MyLog-2016-10-17.log
yellow open MyLog-2016-10-18.log
yellow open MyLog-2016-11-05.log
yellow open MyLog-2016-11-02.log
yellow open MyLog-2016-11-03.log

Könnte ich bitte eine Anleitung haben, wie ich das machen muss?

Dank Sie

+0

Wie liest du die Dateien? – baudsp

+0

Wenn Sie die Dateieingabe verwenden, siehe http://StackOverflow.com/Questions/22916200/Logstash-How-to-Add-file-name-as-a-field – baudsp

Antwort

0

Es ist, als dass auch einfach:

output { 
    elasticsearch { 
     hosts => ["localhost:9200"] 
     index => "MyLog-%{+YYYY-MM-DD}.log" 
    } 
} 
+0

Dank @Renaud, das scheint den Trick zu tun. – adz

0

Wenn die Zeilen in der Datei Datetime-Informationen enthalten, sollten Sie das Datum {} Filter verwendet werden von diesem Wert zu setzen @timestamp . Wenn Sie dies tun, können Sie das von @Renaud bereitgestellte Ausgabeformat "MyLog -% {+ YYYY.MM.dd}" verwenden.

Wenn die Zeilen die Datetime-Info nicht enthalten, können Sie den Pfad der Eingabe für Ihren Indexnamen verwenden, z. "%{Pfad}". Um nur die Basisnamen des Wegs:

mutate { 
    gsub => [ "path", ".*/", "" ] 
} 
0

pflegte diese Konfiguration in Ausgabeabschnitt für Ihre Zwecke ausreichend sein ??

output { 
    elasticsearch { 
     embedded => false 
     host => localhost 
     port => 9200 
     protocol => http 
     cluster => 'elasticsearch' 
     index => "syslog-%{+YYYY.MM.dd}" 
    } 
} 
Verwandte Themen