2017-02-03 3 views
0

Ich habe unten JSON Datensätze auf meinem Elastizitätsindex eingefügt. Wie kann ich alle im Array "devices" vorhandenen Elemente zählen, so dass die Anzahl auf dem Kibana Dashboard visualisiert werden kann?Anzahl der Elemente auf Kibana Visualisierung

Filterbedingung - Anzahl der Geräte muss als "4" für die SAMPLE-Anwendung und "2" für die SAMPLE2-Anwendung auf Kibana angezeigt werden.

Ohne Filterbedingung - Anzahl der Geräte, die als "6" -Geräte angezeigt werden sollen.

{ 
    "status" : "SUCCESS", 
    "request" : ["ABC"], 
    "applicationName" : "SAMPLE", 
    "endTime" : 1478772517736, 
    "devices" : ["d1","d2","d3","d4"] 
} 
, 
{ 
    "status" : "FAILED", 
    "request" : ["EDF"], 
    "applicationName" : "SAMPLE2", 
    "endTime" : 1478772517736, 
    "devices" : ["d5","d12"] 
} 

Antwort

0

Sie sollten eine scripted field in Kibana erstellen, um die Länge eines Array Element zu erhalten. So könnte Ihr Skript wie folgt aussehen:

doc['devices'].values.size() 

ODER

doc['devices'].values.length 

Und dann können Sie eine Datentabelle Visualisierung haben, wo mit der Anordnung zum applicationName in jeweiligen zählen unter Verwendung die terms aggregation. Oder Sie könnten anwenden filters Spruch:

applicationName:"SAMPLE" 
applicationName:"SAMPLE2" 

, die die Array Zählung für die gegebenen Filterkriterien angezeigt. Diese SO könnte hilfreich sein.

Verwandte Themen