2016-05-26 3 views
0

Hier ist, was ich will, es ist ein bisschen das Gegenteil von inkrementellen Daten.logstash - füge nur den ersten Zeitwert hinzu

einige Daten sind Protokolle mit einem bestimmten Token, und ich möchte in der Lage sein, nur die ersten gesendeten Daten, die ältesten Informationen jedes Token zu halten (oder in Elasticsearch zeigen).

Ich möchte jedes neue Protokoll des gleichen Token ignorieren?

Wie kann ich das tun? ist es in logstash oder elasticsearch?

Dank

Updates 2016-05-31

denke ich, dass wir, dass in anderer Perspektive zu sehen. aber global, was ich will, ist die Tabelle wie im Bild, aber ohne die roten Linien, ich will, dass sie von Logstash ignoriert werden, oder nicht in ES-Abfragen angezeigt. enter image description here

Ich weiß, es kann getan werden, wenn ich in der Lage ist, in diesen Zeilen jede Flagge hinzuzufügen ich zu löschen, aber es ist nicht möglich, die einzige Tatsache, die uns sagt, dass sie entfernt werden kann, weil wir bereits haben Schlüssel zuerst-AAA, die zuvor protokolliert wurde. Bei der Protokollierung haben wir diese Information nicht.

+0

Können Sie einige Beispielprotokollzeilen anzeigen und was möchten Sie in ES sehen? – Val

+0

Überprüfen Sie das Update auf der Hauptbeschreibung –

Antwort

1

Sie können dies mit der elasticsearch filter erreichen. Der Filter würde ES einchecken, wenn der Datensatz bereits existiert, und wenn dies der Fall ist, bitten wir Logstash, die Leitung einfach fallen zu lassen.

Bitte beachte, dass ich die Annahme mache, dass das Id Feld (AAA) als _id Dokument verwendet wird und ist auch in dem Dokument als Id Feld. Fühlen Sie sich frei zu ändern, was auch immer, aber das wird funktionieren.

input { 
    ... 
} 
filter { 
    elasticsearch { 
     hosts => ["localhost:9200"] 
     query => "_type:your_type AND _id:%{[Id]}" 
     fields => {"Id" => "found"} 
    } 
    if [found] { 
     drop {} 
    } 
} 
output { 
    elasticsearch { 
     hosts => ["localhost:9200"] 
     ... 
    } 
} 
+0

Es scheint genau das zu sein, was ich gesucht habe. Ich werde einen Test machen und dir das Kopfgeld geben. Und ja AAA war mein document_id –

+0

Super, fröhliches Testen! – Val

+0

Ich kann es nicht funktionieren lassen. Ich habe verschiedene Varianten ausprobiert, ich habe immer ein Problem mit der Elasticsearch Serving, die fallen, glaube ich, würden Sie zustimmen, mir privat zu helfen? –