2013-05-10 4 views
7

Zusammenfassung: Ich möchte ein TTL-Feld mit den Logs in logstash verknüpfen und sie an die Elastic-Suche senden.Anfügen eines TTL-Felds mit jedem über logstash an Elasticsearch gesendeten Protokoll

Ich habe die Dokumentation bereits durchgegangen, konnte aber nicht viel davon bekommen, da es nicht sehr klar ist.

Dies ist meine Konfigurationsdatei in logstash.

Nun nehme ich an, dass ich für jedes Protokoll, das gelesen wird, eine TTL für sagen wir, 5 Tage anhängen möchte.

Ich weiß, wie Sie die TTL-Option in der elastischen Suche aktivieren. Aber welche Änderungen ich in den elastischen Suchkonfigurationsdateien vornehmen muss, ist mir nicht ganz klar. Die Dokumentation fragt nach dem Ordner "Mappings", aber im Download-Ordner für die elastische Suche gibt es keines.

Auf der Suche nach einer Expertenhilfe.

Antwort

12

Werfen Sie einen Blick auf here, wenn Sie das Mapping auf Dateisystem setzen möchten. Sie müssen in den Ordner config gehen und hier einen Ordner mit dem Namen mappings erstellen, und einen anderen mit dem Namen des Index innerhalb mappings. Da logstash standardmäßig einen Index pro Tag erstellt, sollten Sie besser den Namen _default für den Ordner verwenden, damit das Mapping auf alle Indizes angewendet wird. Die Datei, die Sie in diesem Ordner erstellen, muss den Namen des Typs haben, auf den Sie das Mapping anwenden möchten. Ich erinnere mich nicht genau, welcher Typ logstash verwendet, daher würde ich die _default_ Mapping-Definition verwenden. Rufen Sie einfach die Datei und setzen Sie den folgenden Inhalt haben:

{ 
    "_default_" : { 
     "_ttl" : { "enabled" : true } 
    } 
} 

Wie Sie den Namen des Typs sehen können sowohl in der Dateinamen und in ihrem Inhalt erscheinen.

Andernfalls könnten Sie vermeiden, Sachen auf Dateisystem zu setzen.

{ 
    "template" : "logstash-*", 
    "mappings" : { 
     "_default_" : { 
      "_ttl" : { "enabled" : true } 
     } 
    } 
} 

Die Zuordnung zu allen Indizes, deren Namen angewendet werden dann übereinstimmt, die Schablonenmuster: Sie könnte ein index template enthält Ihre benutzerdefinierten Mapping, wie die folgende erstellen. Wenn Sie die Zuordnungsdefinition _default_ verwenden, wird das Mapping standardmäßig auf alle Typen angewendet, die erstellt werden.

+0

@javanna ... Danke für Ihre Hilfe ... Aber ich möchte wissen, wo ich all diese von Ihnen erwähnten Dateien ablegen kann. Sprich ich gehe nach der ersten Methode, ich muss 2 Ordner, Mappings und _default unter config erstellen, oder? Wo gebe ich dann das TTL-Ding an? – user2359303

+0

Muss ich eine JSON-Datei erstellen? Wenn ja, was wird es enthalten und wie wird es heißen? Das Dokument sagt [Mapping-Name]. Könnten Sie bitte alles klären? Ich bin wirklich verwirrt – user2359303

+0

Bitte beantworten Sie meine Zweifel – user2359303

Verwandte Themen