如何在Splunk中查找所有与模式不匹配的事件?

时间:2018-08-06 18:28:53

标签: splunk splunk-query

我正在尝试查找与Splunk中的特定字符串不匹配的所有事件。就我而言,我正在尝试为所有事件(其中ResponseCode:401,ResponseCode:404等)建立报告。我简而言之,它可能不是200。

但不确定如何做。

以下是一些示例事件。

事件:

DNS:www.mybonuscenter.com Host:10.94.64.74 RequestMS:2414 EventTime:[06/Aug/2018:14:06:57 -0400] Request:"GET /bizrateapp/app.bundle.dd46e01d637d8dbcc456.js HTTP/1.1" ResponseCode:200 Size:414360

DNS:www.mybonuscenter.com Host:10.94.64.74 RequestMS:168 EventTime:[06/Aug/2018:14:11:50 -0400] Request:"GET /favicon.ico HTTP/1.1" ResponseCode:404 Size:209

使用正则表达式搜索Head命令:

index="my_cw_index" | regex (?:[^ResponseCode\:200]*)

输出

Error in 'SearchParser': Missing a search command before '^'. Error at position '39' of search query 'search index="syn_prod_cw" | regex (?:[^ResponseCo'.

1 个答案:

答案 0 :(得分:2)

您尝试过不使用正则表达式的内容吗?

index="my_cw_index" AND NOT "ResponseCode:200"

据我所知,这是按不包含“ ResponseCode:200”的元素过滤查询的最简单方法。

如果要提取代码参数以供以后使用,则需要一个正则表达式:

index="my_cw_index" | rex field=_raw "ResponseCode:(?<code>([\w]+))" | where code != 200

注意:我使用的正则表达式尚未经过测试。

相关问题