使用另一个splunk查询的结果过滤splunk结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用另一个splunk查询的结果过滤splunk结果相关的知识,希望对你有一定的参考价值。
我想在splunk中使用查询,提取字段列表,然后使用这些结果字段进一步过滤后续的splunk查询。我该怎么做?
FORMAT命令对此特别有用。这是一个过于简单的示例,但应该使您了解如何使用它:
首先,精心设计子搜索,以提供您关心的字段。这是一个有效的示例:
|metadata type=hosts index=_internal | table host | format
尝试单独运行此搜索以查看输出是什么样。
然后我们将其添加为您的实际搜索的子搜索:
index=foo sourcetype=bar [|metadata type=hosts index=_internal | table host | format]
这将为您提供来自索引foo,源类型栏以及子搜索中的每个主机的事件。
这实际上是一个功能非常强大的命令,因为您可以使用它来动态设置时间范围以及复杂的布尔值过滤器。
More FORMAT documentation can be found here
More complex example of what can be done with FORMAT
一个选项是将数据从第一个搜索到下一个搜索,然后您可以进一步过滤结果。希望以下简化的搜索字符串将为您提供有关如何执行此操作的想法...
index=_internal | head 100 | fields host, sourcetype, source | search sourcetype="splunkd_access"
有关更多信息,建议您通读Splunk Search Reference
在Splunk中,可以过滤/处理第一个splunk查询的结果,然后进一步过滤/处理结果以获得所需的输出。这是Splunk最强大的功能,是Kibana,Tableau等其他可视化工具所缺少的。
假设您在索引“ foo”中有数据,并提取诸如名称,地址之类的字段。现在,名称/地址可以v =是直接键值对,或者您需要使用正则表达式或Splunk内置功能“提取字段”从事件中提取。然后使用名称=“ John”的值进一步过滤,然后Splunk搜索将是:
index =“ foo” |表格名称,地址|其中name =“ John”
以上是关于使用另一个splunk查询的结果过滤splunk结果的主要内容,如果未能解决你的问题,请参考以下文章