2017-02-27 126 views
0

我有多行自定義日誌,我正在通過filebeat multiline關鍵字將它作爲一行處理。現在這包括\ n在每行的結尾處。但是,這會導致我的logstsash配置文件中grok解析失敗。有人可以幫助我做到這一點。下面是如何個個看起來像:logstash grok filter-grok解析失敗

請幫我在下面一行的神交過濾器:

2016年11月18日上午3時05分五十秒:\ n錯誤被拋出:\ nEmpty 隊列\ n ********************************************** *************************** \ n請求發送 是:\ nhpi_hho_de,2015423181057,e06106f64e5c40b4b72592196a7a45cd \ n ********* ************************************************** ************** \ n收到的響應是:\ nQSS RMS保持散列表爲 空\ n ********************* ************************************************** **

+0

如果你可以發佈你的* logstash配置*? – Kulasangar

回答

0

由於@Mohsen建議您可能需要使用gsub過濾器,以取代在日誌行中的所有新行字符。

filter { 
    mutate { 
    gsub => [ 
     # replace all forward slashes with underscore 
     "fieldname", "\n", ""   
    ] 
    } 
} 

也許你也可以一個if條件中做以上,以確保沒有任何grokparse失敗。

if "_grokparsefailure" in [tags] or "_dateparsefailure" in [tags] { 
    drop { } 
}else{ 
    mutate { 
    gsub => [ 
     # replace all forward slashes with underscore 
     "fieldname", "\n", ""   
    ] 
    } 
} 

希望這有助於!

+0

非常感謝你的快速反應,這工作! – prosenjit

+0

你可以請看看這個http://stackoverflow.com/questions/42576560/logstash-grok-parsing-for-xml – prosenjit