2015-07-01 74 views
0

我有一個像下面如何做logstash此過濾器

XXX YYY一個LOF文件,農行
計數:100
XXX YYY,ABC

所以,我怎麼能得到logstash做挑選和顯示像「count = 100」

我無法弄清楚使用logstash文檔。 編輯:爲了簡化,我只是減少了上述問題的範圍。

+0

如果這是一個「事件」,那麼您需要在處理之前使用多行過濾器或編解碼器合併這些行。 –

+0

@AlainCollins我剛剛修改了問題,閱讀單行和收集數據。請看看 – user3366706

回答

0

要忽略你不想線,使用條件和下降{}:

if [message] !~ /count/ { 
    drop{} 
} 

拉出來數仍然存在,使用神交{}行的:

else { 
    grok { 
     match => [ "message", "the count is %{NUMBER:myField:int}" ] 
    } 
} 

注:從內存中寫入;語法可能不是100%。

+0

非常感謝。你能解釋一下解決方案的下降部分嗎?就像我們有許多像'count'這樣的屬性需要考慮的話,那麼我們如何才能放棄它們。這是一個正則表達式嗎? – user3366706

+1

drop {}是一個過濾器,用於立即停止處理logstash中的事件。由於您的請求僅用於處理「count」行,因此drop {}會使其他(未處理的)行保留爲elasticsearch。 –

+0

好的。比方說,如果我必須處理「計數」行以及「其他」行,那麼如果條件允許,我可以同時給他們兩個,如果是,那麼怎麼辦? – user3366706