2015-06-15 55 views
0

我剛剛開始記錄存儲,我有日誌文件在該日誌文件中整個對象被打印在日誌中,因爲我的對象是巨大的我不能寫grok模式到整個對象,我也期待只有兩個值超出這些目的。你可以讓我們知道我怎麼得到這個?如何使用logstash讀取日誌中的數據?

我的日誌文件看起來像下面

2015年6月10日13:02:57903你做OBJ [名稱:測試; LOC:BLR;國家:印度,ACC:[email protected]]

這只是一個例子,我的對象在int中擁有很多屬性,在那些對象中我只需要獲取名稱和acc。

Regards Mohan。

回答

0

您可以使用以下方式對同一

%{GREEDYDATA}\[name:%{WORD:name};%{GREEDYDATA},acc:%{NOTSPACE:account}\] 

GREEDYDATA我們定義如下 -

GREEDYDATA .* 

理解greedydata宏觀的關鍵所在。 它儘可能地吃掉所有可能的字符。

0

Logstash模式不必匹配整條線。您還可以在一個grok {}中關閉主要信息(日期,時間等),然後使用不同的grok {}來提取所需的兩個字段。