2016-11-16 73 views
0

我想使用OR搜索一组字符串(任何更好的方法是赞赏)。有没有一种方法可以将名称分配给字符串。Splunk搜索一串字符串和_raw的显示表

index = blah host = 123“ERROR”(“FILE1”或“FILE2”或“FILE3”)| rex field = _raw“。errorDesc \”:\“(?.)\”,\“errorCode。*”|表 _time RESP_JSON

现在,我想添加文件名作为表中的另一列。如果文件不是列的其余部分目前显示空值

注:文件名不是一个领域,它只是在_raw字段中输入字符串

的Splunk ::

[12 /12/2015:12:12:12.123] 错误处理中发生FILE1。 errorDesc“:”{field:123,code:124}“,”errorCode
[12/12/2015:13:13:12.123] 错误处理中发生FILE3。 errorDesc “:”{字段:125,代码:124} “” 的errorCode

例如输出:

文件------------------ -_time ----------------------- RESP_JSON

FILE1 ----- 12/12/2015:12:12:12.123 - --- {字段:123,代码:124}

FILE2

FILE3 ----- 2015年12月12日:13:13:12.123 - - - - {字段:125,代码: 124}

没有File2的日志条目存在,因此只显示文件名的空行

回答

0

您是否在下面尝试过提取文件名?

index=blah host=123 "ERROR" ("FILE1" OR "FILE2" OR "FILE3") | rex field=_raw "(?<filename>). errorDesc" | table _time RESP_JSON filename 

关于命名搜索术语的第一个问题,你看过宏还是使用子查找查找?

+0

欢迎来到Stackoverflow!我们是一个问答网站。如果您要提出问题来澄清问题,则应在评论中完成,就像您正在阅读的那个。 –

0

这给一个镜头:

index=blah host=123 "ERROR" ("FILE1" OR "FILE2" OR "FILE3") | rex "processing\s+(?<filename>[^\.]+)\.\s+" | table _time RESP_JSON filename 

这是相同的搜索方法同上,只是不同的正则表达式提取。