1

我每天将日志推送到相扑逻辑一次,但其他同事有能力强制推送以更新统计信息。这会导致一些相扑逻辑搜索将找到并返回双倍(或更多)的问题,因为在分配的时间范围内发现了多个消息。

我想知道是否有某种方法可以使用时间片,以便我只查看 24 小时内的最后一组结果?

我的搜索在 24 小时内只有一个日志时有效:

| json field=_raw "Policy"
| count by policy
| sort by _count

我想要达到的目标:

| json field=_raw "Policy"
| timeslice 1m
| where last(_timeslice)
| count by policy
| sort by _count
4

2 回答 2

0

找到了解决方案,不确定是否最佳。

| json field=_raw "Policy"
| timeslice 1m
| count by policy , _timeslice
| filter _timeslice in (sort by _timeslice desc | limit 1)
| sort by _count
| fields policy, _count
于 2018-01-09T04:36:56.557 回答
0

如果我正确理解您的问题,我认为您可以尝试使用accum运算符:

*
| json field=_raw "Policy"
| timeslice 1m
| count by _timeslice, policy
| 1 as rank
| accum rank by _timeslice
| where _accum = 1

这类似于在 SQL 中进行窗口分区以消除重复项。

于 2018-01-09T22:01:42.190 回答