我每天都会将日志推送到相扑逻辑,但其他同事有能力强制推送更新统计信息。这会导致一个问题,即由于在分配的时间范围内找到多条消息,某些相加逻辑搜索将查找并返回比预期更多的两倍(或更多)。
我想知道是否有某些方法可以使用时间片,以便我只在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
答案 0 :(得分: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
答案 1 :(得分:0)
如果我正确理解您的问题,我认为您可以尝试使用accum运算符:
*
| json field=_raw "Policy"
| timeslice 1m
| count by _timeslice, policy
| 1 as rank
| accum rank by _timeslice
| where _accum = 1
这类似于在SQL中执行窗口分区以消除重复项。