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)"
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 中有很多方法可以做同样的事情,您的用例可能有助于提高查询效率。
我希望能够在 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)"
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 中有很多方法可以做同样的事情,您的用例可能有助于提高查询效率。