2016-11-16 83 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 

這是相同的搜索方法同上,只是不同的正則表達式提取。