2016-09-27 67 views
0

Logspout將元數據作爲前綴添加到每個日誌條目。現在如果使用多行日誌,過濾器可以正常工作,並將所有多行日誌整合到單個事件中,但是如何擺脫每個日誌條目上的前綴數據(元數據)。帶logspout的多行篩選器

<14>2015-02-10T12:59:09Z logspout dev_zservice_1[1]: 
org.springframework.web.util.NestedServletException: Request 
processing failed; nested exception is 
org.springframework.dao.DataAccessResourceFailureException: 
<14>2015-02-10T12:59:09Z logspout dev_zservice_1[1]: at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978) 
<14>2015-02-10T12:59:09Z logspout dev_zservice_1[1]: at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868) 
<14>2015-02-10T12:59:09Z logspout dev_zservice_1[1]: at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 
<14>2015-02-10T12:59:09Z logspout dev_zservice_1[1]: at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) 

如何從多行事件中的日誌條目中刪除元數據?

+1

你可以分享你已經有的過濾器嗎? – fylie

+0

如果您想從日誌中刪除sthg,可以使用[mutate/gsub filter](https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html#plugins-過濾器 - 發生變異,GSUB)。 – baudsp

+0

要刪除'<14>',您可以使用'mutate {gsub => [ 「message」,「<\d+>」,「」 ] }'' – baudsp

回答

0

你可以嘗試這樣的事情:

filter { 
    mutate { 
     gsub => [ "message", "<\d+>.*?:\s", "" ] 
    } 
} 

此檢查現場「消息」,選擇從「< 14>」的子字符串冒號後面是空白,並與空字符串替換這些子。