Splunk argmax:获取与另一个字段的最大值对应的字段值

Splunk argmax: get field value corresponding to max value of another field

假设在 Splunk 上,我有一个 table,其中包含字段 'month'、'year' 和 'count'。我想要对应于每年最大计数的月份。因此,结果 table 每年应该只有一个月。

我试过使用 statschart max 函数,但我不知道如何使用它们来获得我想要的东西,甚至不知道如何使用它们。

有没有什么方法可以使用 Splunk 完成此操作?

我最终使用了 streamstats 命令。

给定 table 字段 monthyearcount

<some search>
| streamstats max(count) as mc by year
| sort +year, -count
| streamstats first(mc) as mc
| where count = mc

本质上,我在每个 year 中的每个 month 中使用 streamstatsmax,将每个条目的 运行 最大值存储为新专栏。然后,我对它进行排序,使最大计数位于每个年组的顶部,这样我就可以 select 第一个作为最大条目。

我也有同样的需求。 我有字段 'loadtime'、'application' 和 'username' 字段的日志数据。 首先,我想计算所有应用程序加载时间的最大值。然后,创建一个 table/chart ,它应该为每个具有应用程序名称和最大加载时间的应用程序包含一行。 Table 还应具有为每个应用程序计算的最大加载时间的用户字段值。 以下是我用于实现上述目标的 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