2015-05-05 85 views
1

我有一個包含不同輸出格式的日誌文件。在同一個文件中處理不同的日誌格式

例如:

line 1 = 2015-01-1 12:04:56 INFO 192.168.0.1 my_user someone logged in 
line 2 = 2015-01-1 12:04:56 WARN [webserver-thread] (MyClass.java:66) user authenticated 

雖然真正的解決方案是將它們分割成單獨的文件或統一格式是有可能神交不同日誌格式與Logstash?

回答

2

我的第一個建議是運行一個grok {}去除常見的東西 - 日期時間和日誌級別。您可以將剩餘的內容放回[message]字段中:

%{TIMESTAMP_ISO8601} %{WORD:level} %{GREEDYDATA:message} 

確保在grok {}中使用'覆蓋'參數。

然後如果你想分析剩下的信息,你的(多個)正則表達式將針對較短的字符串運行,這應該使它們更有效率。

然後,您可以有多種模式:

​​

默認情況下,當它擊中的第一場比賽將神交停止處理。

相關問題