2017-05-31 6 views
0

Okay, die Architektur besteht also darin, dass wir mehrere Knoten (zwischen 3 und 5) auf jedem Host haben, der mit unserem ELK-Stack verbunden ist.Abfrage elasticsearch - Anzahl der Dokumente pro Knoten, pro Host

Ich versuche, eine Abfrage zu schreiben, die im Grunde sagen wird, wie viele Dokumente auf jedem Host und jedem Knoten angezeigt werden.

Gerade jetzt Knoten ist es eigener Bereich ist ...

Die Art und Weise, dass ich dies in Kibana so etwas wie

-Host wäre abfragen würde: "1-18" und Knoten: 03

Würde diesen Host aufrufen ... Ich versuche für jeden Host und jeden Knoten auf dem Host zu ermitteln, wie viele Dokumente in den letzten 24 Stunden existieren, und die Abfrage macht keinen großen Sinn. Wenn ich versuche, 2 Felder zu verwenden, funktioniert es nicht. Wenn ich versuche, zwei Bereiche zu verwenden, funktioniert das auch nicht.

ich folgendes Dokument zählt für jeden Host zu erhalten: Aggregation

{"size": 0,"aggs" : {"langs" : {"terms" : { "field" : "host" }}}} 

ist das Hinzufügen einer pro-Knoten, der schwierig?

Antwort

1

Sie müssen lediglich eine Unter Aggregation unter Ihrem host ein, wie dies hinzuzufügen:

{ 
    "size": 0, 
    "aggs": { 
    "hosts": { 
     "terms": { 
     "field": "host" 
     }, 
     "aggs": { 
     "nodes": { 
      "terms": { 
      "field": "node" 
      } 
     } 
     } 
    } 
    } 
} 

In Kibana, können Sie dies visuell, indem Sie in der Registerkarte sichtbar machen kann und ein Kreisdiagramm Kommissionierung. Dann verwenden Sie eine terms Aggregation auf dem host Feld und klicken Sie dann auf "+ Sub-Buckets hinzufügen" und verwenden Sie eine andere terms Aggregation auf dem node Feld.

enter image description here

Verwandte Themen