Splunk 等同于链式 greps,用于在搜索中进行搜索

Splunk equivalent to chained greps for searching within a search

我希望能够在 Splunk 中搜索模式,然后在搜索结果中搜索另一个模式。我应该能够为任意数量的字符串重复它。

这在Linux中很简单:

grep pattern_1 <file name> | grep pattern_2 | grep pattern_3 | grep pattern_4

我如何在 Splunk 中执行此操作?无论子搜索的数量如何,我都想让它通用。

根据 your use case,您可以这样做:

index=ndx sourcetype=srctp fieldA=something fieldB=pattern fieldC=*

或者你最终可能会 doing this:

index=ndx sourcetype=srctp "some literal text"
| rex field=_raw "a pattern of stuff (?<fieldtoextract>regex-goes-here)"

possibly this:

index=ndx sourcetype=srctp fieldA=*
| stats values(fieldB) by fieldA
| where mvcount(fieldB)>3 AND match(fieldA,"something")

或者完全不同。

如果您有样本数据,我们可以帮助您制作一些更具体的 SPL - 但有很多 很多 很多 在 Splunk 中“在搜索中搜索”的方法。

相当于 grep 链的 Splunk 是一个搜索链。与Linux一样,每个管道之后的命令处理管道之前命令的结果。

index=<index name> pattern_1 | search pattern_2 | search pattern_3 | search pattern_4

但正如@warren 所说,在 Splunk 中有很多方法可以做同样的事情,您的用例可能有助于提高查询效率。