2017-11-05 3 views
0

Ich habe Dokumente mit Feldern account_id (Primärschlüssel für meine relationale Datenbank) und Status. Wenn sich der Status des Accounts ändert, habe ich das Event an ElasticSearch weitergeleitet.Kibana: Wie erstellt man eine Tabelle, die die Anzahl der top_hits für ein Feld zeigt

Es gibt also mehrere Dokumente für ein Konto mit unterschiedlichen Status.

Meine Anforderung ist es, das aktuelle Dokument für jede account_id zu bekommen und eine Zählung in Bezug auf den Status zu machen.

SQL-Äquivalent "Status auswählen, Anzahl (*) von Kontengruppe nach Status;"

Beispiel: Betrachten Sie folgende Protokolle

account_id: 1, status:delete, @timestamp: November 4th 2017, 18:42:09.445 
account_id: 1, status:save, @timestamp: November 3rd 2017, 18:42:09.445 
account_id: 1, status:draft, @timestamp: November 2nd 2017, 19:42:09.445 

account_id: 2, status:draft, @timestamp: November 3rd 2017, 19:42:09.445 

account_id: 3, status:save, @timestamp: November 4th 2017, 18:42:09.445 
account_id: 3, status:draft, @timestamp: November 3rd 2017, 19:42:09.445 

sollte die Ausgabe sein:

**status** **count** 
delete 1 
save  1 
draft 1 

ELK: 5.6

Antwort

0

Diese Funktion seit mindestens 2013. Wir wurden in Kibana angefordert gestoppt warten und benutzte graphana, die es tun können. Wenn Sie allen GitHub-Verweisen folgen können, sieht es so aus, als ob elastic möglicherweise einen Weg zu do it now hat.

0

Zur Zeit als eine Umgehungslösung, aktualisierte ich meine logstash.conf, um die gleiche Protokollnachricht auf zwei Indizes zu schieben. Im ersten Index erstelle ich immer einen neuen Datensatz und im zweiten Index erstelle/aktualisiere ich den Datensatz.

Snippet des logstash.conf

output { 
    if [index_name] == "Account" { 
    elasticsearch { 
    hosts => ["IP:PORT"] 
    index => "account" 
    } 
} 
stdout { codec => rubydebug } 
} 
output { 
if [index_name] == "Account" { 
elasticsearch { 
hosts => ["IP:PORT"] 
index => "account_latest" 
document_id => "%{field_id}" 
} 
} 
stdout { codec => rubydebug } 
} 
Verwandte Themen