Charts 如何绘制一个搜索图表,该搜索返回具有多个方面的事件,这些方面在Splunk中具有名称/结果对

Charts 如何绘制一个搜索图表,该搜索返回具有多个方面的事件,这些方面在Splunk中具有名称/结果对,charts,splunk,splunk-query,Charts,Splunk,Splunk Query,我正在进行以下搜索: source="new_relic_insights://NRInsightsAPI_rc_ShopFront_Top10Transactions" | search * | head 1 这将返回单个事件,在其facet中我有一个名称:xyz和results.sum:123 总和对应于名称,我需要在条形图上绘制这些值 以下是返回内容的示例: 原始格式: 这就是我到目前为止试图绘制它的方法,但是因为一行中有多个值,所以它不起作用。此外,总时间值与其对应的结果不一致,例如

我正在进行以下搜索:

source="new_relic_insights://NRInsightsAPI_rc_ShopFront_Top10Transactions"
| search *
| head 1
这将返回单个事件,在其facet中我有一个名称:xyz和results.sum:123

总和对应于名称,我需要在条形图上绘制这些值

以下是返回内容的示例:

原始格式:

这就是我到目前为止试图绘制它的方法,但是因为一行中有多个值,所以它不起作用。此外,总时间值与其对应的结果不一致,例如58245.xxx应该位于WebTransaction/MVC/ProductController/Category旁边,但事实并非如此,我再次假设这是因为它们都被转储到一行中

最后,我尝试了重复数据消除/table以获取所需内容和结果。sum与每个名称对齐,但再次尝试将名称的所有值作为一个组进行图形化,因为它们位于一行中


我自己解决了这个问题,然后把结果转换成我需要的总数的百分之一

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

如果要拆分这些值,使它们各自有自己的行,则应使用mvexpand

它看起来像这样


…|mvexpand字段名称

做得好!清除搜索,但第2行中有搜索*。。这是多余的,会让你的搜索更昂贵。还应该考虑删除行5上的表命令,并将其替换为STATS ValueSeND作为名称值和和。