如何在Splunk时间图表中按类型和时间仓统计事件并添加每日总事件数
如何在Splunk时间图表中按类型和时间仓统计事件并添加每日总事件数
嘿,我来帮你搞定这个需求!你想要在同一个时间图表里既展示每种事件类型的每日数量,又加上当日所有事件的总数,其实只需要把两种统计结果合并起来就行,具体操作很简单:
你可以用append命令把“按类型统计”和“按日统计总数”的两个结果合并,再渲染时间图表。直接用下面的查询就能实现你的要求:
MyEvents | bin TIMESTAMP as day span=1d | stats count by day, EventType | append [ MyEvents | bin TIMESTAMP as day span=1d | stats count as count by day | eval EventType="ALL" ] | sort day, EventType | render timechart
我给你拆解一下这个查询的逻辑:
- 前两行就是你原来的思路:把时间按天分组,统计每个日期下各事件类型的数量;
- 中间的
append块专门统计每日的总事件数,并且把这部分的EventType设为“ALL”,这样它就会作为一条独立的记录加入结果集; sort是为了让结果按日期和事件类型排序,让数据更规整(不影响图表渲染,但看起来更清晰);- 最后
render timechart就会自动生成包含各类型线条和“ALL”总线条的时间图表了。
拿你举的例子来说,5/15的Soccer会显示2,Golf显示1,ALL显示3;5/16的Golf显示1,ALL显示1,完全符合你的预期。
另外补充个小技巧:如果某些日期里某个事件类型没有数据,默认不会生成该类型的记录,图表里对应的线会断。如果想要让线条连续,可以在append之后加上fillnull value=0 count,把缺失的计数补为0,修改后的查询如下:
MyEvents | bin TIMESTAMP as day span=1d | stats count by day, EventType | append [ MyEvents | bin TIMESTAMP as day span=1d | stats count as count by day | eval EventType="ALL" ] | fillnull value=0 count | sort day, EventType | render timechart
备注:内容来源于stack exchange,提问作者NicoTek
相关产品推荐
相关产品推荐

