如何在 Splunk 中进行唯一搜索

How to do a unique search in Splunk

我正在尝试在 Splunk 中进行搜索,我试图在其中将搜索范围缩小到唯一的子字符串。

到目前为止,我的查询示例是:

host=node-1 AND "userCache:"

其中 return 是这样的:

Time                Event
06/04/2021-blah     Cache miss: userCache:  tjohnson
                    host=node-1
06/04/2021-blah     Cache miss: userCache:  sbaca
                    host=node-1
06/04/2021-blah     Cache miss: userCache:  tjohnson
                    host=node-1

不过,我想做的是 return 只有一个基于 userCache 之后的唯一值:

在上面的示例中,只有两个结果会被 returned - 一个给 tjohnson,一个给 sbaca。额外的 tjohnson 将被删除,因为结果中已经有 tjohnson。

有什么建议吗?

非常感谢

这需要 dedup 命令,该命令从搜索结果中删除重复项。然而,首先,我们需要将用户名提取到一个字段中。我们将使用 rex.

来做到这一点
index=foo ```Always specify an index``` host=node-1 AND "userCache:"
| rex "userCache:\s*(?<user>\w+)"
| dedup user