2016-11-09 2 views
0

Ich habe die folgenden Daten in elasticsearch. Ich möchte nach "Dest IP" aggregieren, nachdem ich einen bestimmten Wert von "Source MAC Addr" gefunden habe. Wie erreicht man dies mit elasticsearch Abfrage von Javascript.Elasticsearch Abfrage von Javascript zu verschachtelten Feld zugreifen

{ 
"took" : 2, 
"timed_out" : false, 
"_shards" : { 
"total" : 5, 
"successful" : 5, 
"failed" : 0 
}, 
"hits" : { 
"total" : 2, 
"max_score" : 1.0, 
"hits" : [ { 
    "_index" : "logstash-1", 
    "_type" : "packet", 
    "_id" : "bcb57f445084cc0e474366bf892f6b4ab9162a4e", 
    "_score" : 1.0, 
    "_source" : { 
    "@source" : "logstash", 
    "@source_host" : "03", 
    "@message" : "72", 
    "@tags" : [ ], 
    "@fields" : { 
     "Protocol Type" : "TCP", 
     "Dst Domain" : "USER1", 
     "No" : 72, 
     "Timestamp" : "2016-11-08 10:46:57.691", 
     "Source IP" : "10.10.10.10", 
     "Source MAC Addr" : "00:00:00:00:00:00", 
     "Length" : 1480, 
     "Dest MAC Addr" : "ad:ad:ad:ad:ad:ad", 
     "Src -> Dst" : "10.10.10.10 -> 20.20.20.20", 
     "TTL" : 60, 
     "Src Domain" : "act", 
     "logger" : "logger", 
     "Dest IP" : "20.20.20.20", 
     "levelname" : "INFO", 
     "Size" : 100 
    }, 
    } 
}, { 
    "_index" : "logstash", 
    "_type" : "packet", 
    "_id" : "d6ff9ac16f70dc2c4b3d599c74489475db124fd7", 
    "_score" : 1.0, 
    "_source" : { 
    "message" : "aaaa\n", 
    "tags" : [ "_jsonparsefailure" ], 
    "@version" : "1", 
    "@timestamp" : "2016-11-08T04:11:30.663Z", 
    "type" : "packet", 
    "host" : "10.10.10.10", 
    "fingerprint" : "d6ff9ac16f70dc2c4b3d599c74489475db124fd7" 
    } 
} ] 
} 
} 
+0

auch dies scheint ein Abfrageer zu sein, so wäre es praktisch gewesen, auch die Abfrage enthält, um, noch ich tun nicht erhalten, welche Art von Aggregation Sie wollen, so sollte eine Abfrage von IP und MAC gefiltert, sollte die Arbeit, ohne Aggregation, die auch getan werden könnte, indem Sie zuerst durch IP-Adresse und t Henne Aggregat – HolgT

Antwort

0

auch dies scheint ein Abfrageergebnis zu sein, so wäre es zweckmäßig gewesen, umfassen auch die Abfrage, noch bekomme ich nicht, welche Art von Aggregation Sie wollen, so dass eine Abfrage von IP- und MAC-gefilterten tun sollten der Job, ohne Aggregation, die auch durch erste Filterung nach IP-Adresse durchgeführt werden konnte und Aggregat dann

"aggs": { 
    "by_mac_addr": { 
     "terms": { 
     "field": "Source MAC Addr", 
     "order": { 
      "_term": "asc" 
     }, 
     "size": 1000 
     } 
    } 
Verwandte Themen