如何在 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
我正在尝试在 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