Versuch, ein bestimmtes Feld in elasticsearch durch logstash zu aktualisieren. Ist es möglich, nur eine Reihe von Feldern durch logstash zu aktualisieren?Logstash Aktualisierung eines Dokuments in elasticsearch
finden Sie den Code unten,
input {
file {
path => "/**/**/logstash/bin/*.log"
start_position => "beginning"
sincedb_path => "/dev/null"
type => "multi"
}
}
filter {
csv {
separator => "|"
columns => ["GEOREFID","COUNTRYNAME", "G_COUNTRY", "G_UPDATE", "G_DELETE", "D_COUNTRY", "D_UPDATE", "D_DELETE"]
}
elasticsearch {
hosts => ["localhost:9200"]
index => "logstash-data-monitor"
query => "GEOREFID:%{GEOREFID}"
fields => [["JSON_COUNTRY","G_COUNTRY"],
["XML_COUNTRY","D_COUNTRY"]]
}
if [G_COUNTRY] {
mutate {
update => { "D_COUNTRY" => "%{D_COUNTRY}"
}
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "logstash-data-monitor"
document_id => "%{GEOREFID}"
}
}
wir die obige Konfiguration verwenden, wenn wir dies der Nullwert-Feld verwenden entfernt zu werden, statt Nullwert Aktualisierung des Überspringens.
Daten stammen aus 2 verschiedenen Quellen. Die eine stammt aus der XML-Datei und die andere aus der JSON-Datei.
XML-Protokollformat: GEO-1 | CD | 23 | John | 892 | Kanada | 31-01-2017 | QC | - | - | - | - | - JSON-Protokollformat: GEO-1 | AS | 33 | - | - | - | - | - | Mike | 123 | US | 31-01-2017 | QC
Beim Hinzufügen eines Protokolls wird ein neues Dokument im Index erstellt. Beim Lesen der zweiten Protokolldatei sollte das vorhandene Dokument aktualisiert werden. Die Aktualisierung sollte nur in den ersten 5 Feldern erfolgen, wenn die Protokolldatei XML ist und die letzten 5 Felder, wenn die Protokolldatei JSON ist. Bitte schlagen Sie uns vor, wie Sie dies in logstash tun können.
Mit dem obigen Code versucht. Bitte überprüfen Sie und kann Ihnen jemand helfen, wie Sie das beheben können?
Könnte jemand dabei helfen? – banu
Sie geben nur eine Filterdefinition an, die Operation update/insert/upsert erfolgt jedoch über die Ausgabe nach elasticsearch. Sie können darüber lesen Sie hier: https://www.elastic.co/guide/en/logstash/2.4/plugins-outputs-elasticsearch.html – pandaadb
@pandaadb bearbeitet die Frage. Können Sie sich bitte die Frage ansehen und helfen? – banu