2017-01-23 58 views
0

您好我是新來logstash和神交過濾,我有一個示例日誌是這樣的:神交模式過濾

2017年1月11日上午12時00分17秒: 會發生錯誤是: 無錯誤


請求發送是: WEBMETHOD:GetOSSUpdatedOrderHeader | appCode:OSS | regionCode:EMEA | orderKeyList:| lastModifedDateTime:2017年1月10日下午11時59分13秒|


我想篩選出的行分隔符是一個完整的**(最後一行)的行 此外,當我希望能夠捕捉到包括整個生產線「:」在一個領域。例如在上面的日誌中,webMethod:GetOSSUpdatedOrderHeader必須在我的grok模式中的一個字段中捕獲。有沒有辦法做到這一點? TIA。請參考附件圖片爲sample log message

回答

1

一些提示:

  • 日誌的照片是不提供某人一個例子,複製並粘貼日誌
  • Grok Debugger的好方法是一個偉大的方式建立自己的神交模式

的這應該適用於樣本日誌行你在粘貼:

%{NOTSPACE:webMethod}\|%{NOTSPACE:appCode}\|%{NOTSPACE:regionCode}\|%{NOTSPACE:orderKeyList}\|%{NOTSPACE:lastModifedDateTime} 

但是,您要求的內容可能並不完全符合您的要求,因爲您只需要結果中的字段內容,而不是字段的名稱。這應該給你更多有意義的結果:

webMethod:%{NOTSPACE:webMethod}\|appCode:%{NOTSPACE:appCode}\|regionCode:%{NOTSPACE:regionCode}\|orderKeyList:(?:%{NOTSPACE:orderKeyList}|)\|lastModifedDateTime:%{NOTSPACE:lastModifedDateTime} 

你會再想要處理的date過濾lastModifedDateTime場拿到日期戳的格式logstash可以保存到。

+0

對於顯示日誌的糟糕方式表示歉意,並且非常感謝回覆。 – prosenjit

+0

1/11/2017 12:00:17 AM: 拋出的錯誤是: 沒有錯誤 **************************** ********************************************* 發送的請求是: webMethod:GetOSSUpdatedOrderHeader | appCode:OSS | regionCode:EMEA | orderKeyList:| lastModifedDateTime:2017/1/10 11:59:13 | ************************************************* ************************這是自定義日誌,星號(*)不顯示在問題中,我的grok模式工作正常,但捕獲這些明星,以及有沒有辦法讓我放棄或忽略這些?@Rumbles – prosenjit

+0

是的,但這是一個不同的問題 – Rumbles