假设在 Splunk 上,我有一个包含“月”、“年”和“计数”字段的表格。我想要与每年的最大计数相对应的月份。因此,结果表每年应该只有一个月。
我尝试过使用stats
和chart
max 函数,但我不知道如何使用它们来获得我想要的东西,或者是否有可能。
有什么方法可以使用 Splunk 完成此任务吗?
我最终使用了该streamstats
命令。
给定一个包含字段month
、year
和的表count
,
<some search>
| streamstats max(count) as mc by year
| sort +year, -count
| streamstats first(mc) as mc
| where count = mc
本质上,我使用streamstats
tomax
跨越 each month
in each year
,将每个条目的运行最大值存储为新列。然后,我对其进行排序,使最大的最大计数位于每个年份组的顶部,这样我就可以选择第一个作为最大条目。
我也有同样的要求。我有“加载时间”、“应用程序”和“用户名”字段的日志数据。首先,我想计算所有应用程序的加载时间最大值。然后,为每个具有应用程序名称和最大加载时间的应用程序创建一个表/图表,其中应包含一行。表还应该包含为每个应用程序计算的最大加载时间的用户字段值。以下是我用于实现上述目的的 splunk 查询:
search_string|streamstats max(loadtime) as max_time by application|sort +application -loadTime|streamstats first(max_time) as max_time by application|where loadtime=max_time|table application,max_time,username