2017-08-10 3 views
0

ich die folgende Suche tue:Wie eine Suche abzustecken, die Veranstaltung mit mehreren Facetten gibt, die einen Namen/Ergebnispaar in Splunk haben

source="new_relic_insights://NRInsightsAPI_rc_ShopFront_Top10Transactions" 
| search * 
| head 1 

Das gibt ein einzelnes Ereignis, und in seinen Facetten Ich habe ein Name: xyz und results.sum: 123

Die Summe entspricht dem Namen, und ich muss diese in einem Balkendiagramm darstellen. Hier

ist ein Beispiel dafür, was zurückgegeben wird:

alt text

Raw-Format: alt text

Dies ist, was ich bisher getan haben, um zu versuchen, es zu entwerfen, sondern weil es mehrere sind Werte in einer Zeile, es funktioniert nicht. Außerdem sind die "Gesamtzeit" -Werte nicht mit dem entsprechenden Ergebnis ausgerichtet, zum Beispiel sollte 58245.xxx neben "WebTransaction/MVC/ProductController/Category" stehen, aber das ist es nicht, wieder nehme ich an, dass dies daran liegt, dass sie alle gelöscht werden in eine Reihe.

alt text

Schließlich habe ich versucht dedup/Tisch zu bekommen, was ich brauchte und die results.sum Linie mit jedem Namen, aber wieder versucht, diese Gruppen grafisch darzustellen alle Werte des Namens als da sie in eine Reihe.

alt text

Antwort

1

ich es gelöst mich, und dann meine Ergebnisse auf ein Prozent des gesamten meiner „sum“ umgewandelt, das war, was ich brauchte!

source="new_relic_insights://NRInsightsAPI_rc_ShopFront_Top10Transactions" 
| search * 
| head 1 
| rename facets{}.name as name, facets{}.results{}.sum as sum 
| table name sum 
| eval name_sum = mvzip(name, sum) 
| mvexpand name_sum 
| dedup name_sum 
| makemv delim="," name_sum 
| eval new_name = mvindex(name_sum, 0) 
| eval new_sum = mvindex(name_sum, 1) 
| fields new_name, new_sum 
| eventstats sum(new_sum) as total 
| eval percent=round(new_sum/total*100,2) 
| fields - total, new_sum 
+0

Gut gemacht aussehen wird! Suche mit Ausnahme von Zeile 2, wo Sie 'suchen *' haben. Das ist überflüssig und macht Ihre Suche "teurer". Sie sollten auch in Erwägung ziehen, den Tabellenbefehl in Zeile 5 zu entfernen und ihn durch 'stats values ​​(name) AS name Werte (Summe) AS sum 'zu ersetzen – skoelpin

0

Wenn Sie die Werte geteilt werden soll, so dass jeder sie ihre eigenen Reihen haben, sollten Sie mvexpand

verwenden Sie so etwas wie dieses

... | mvexpand FIELD_NAME

Verwandte Themen