Ich verwende den Elasticsearch-Filter in meiner Logstash-Pipeline. Ich finde richtig das Ergebnis mit:mit Elasticsearch Filter in Logstash-Pipeline
filter{
if [class] == "DPAPIINTERNAL" {
elasticsearch {
hosts => "10.1.10.16"
index => "dp_audit-2017.02.16"
query_template => "/home/vittorio/Documents/elastic-queries/matching-requestaw.json"
}
}
}
wie Sie sehen können, Im „query_template“ verwendet, die ist:
{
"query": {
"query_string": {
"query": "class:DPAPI AND request.aw:%{[aw]}"
}
},
"_source": ["end_point", "vittorio"]
}
die elastichsearch nachzuschlagen das Protokoll mit dieser bestimmten Klasse sagt, die „aw "mit dem DPAPIINTERNAL-Protokoll.
Perfekt! Aber jetzt, da ich das Ergebnis gefunden habe, möchte ich ein Feld daraus hinzufügen und sie an mein DPAPIINTERNAL-Protokoll anhängen, zum Beispiel möchte ich "end_point" nehmen und es in den neuen Schlüssel "vittorio" in meinem Protokoll einfügen.
Das passiert nicht und ich verstehe nicht warum.
hier ist das Protokoll, das ich mit der Abfrage der Suche bin:
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "dp_audit-2017.02.16",
"_type": "logs",
"_id": "AVpHoPHPuEPlW12Qu",
"_score": 1,
"_source": {
"svc": "dp-1.1",
"request": {
"method": "POST|PATCH|DELETE",
"aw": "prova",
"end_point": "/bank/6311",
"app_instance": "7D1-D233-87E1-913"
},
"path": "/home/vittorio/Documents/dpapi1.json",
"@timestamp": "2017-02-16T15:53:33.214Z",
"@version": "1",
"host": "Vito",
"event": "bank.add",
"class": "DPAPI",
"ts": "2017-01-16T19:20:30.125+01:00"
}
}
]
}
}
Ich habe die Felder in der Datei query_template angegeben: "_source": ["end_point", "vittorio"] – ennon
In der Vorlage geben Sie die Felder an, die Sie bei Ihrer Suche abrufen möchten, aber in 'fields' Sie ordnen diese Felder Ihrem Ereignis zu. – Val
Ich habe gerade, ich habe null Wert in meinem neuen Feld. :( – ennon