2
我正在嘗試爲某些日誌編寫groke規則,並且無法找到在單個日誌中有多行的情況下應該如何處理的問題 以下是我擁有的日誌截圖: screenshot of logs 在附加圖像中,綠色(即較短的日誌)得到正確解析,而較長的(由紅色框表示,它有多條線),錯誤地被解析。在logstash中解析更長的日誌時遇到問題
多:
這裏是多,這是我寫的,
multiline
{
type => "sftp"
pattern => "^[^\[2015]"
what => "previous"
}
這是相同的解析輸出(錯誤):
[2015-10-03 23:32:00.603] ALL Config.logConfiguration() client configuration:]\n localPortCollection=[null]\n minThreadPoolSize=[3]\n maxThreadPoolSize=[6]\n perimeterServerName=[BSC_NODE2_OBD_PS3]\n.
,你可以看,上面這個輸出有它的「\ n」,並且我寫的grok規則不被接受,因爲父日誌中的「\ n」。
我在編寫grok規則時嘗試了「\ n」。
使用多行是將它們合併的正確方法。您可以查看否定參數,這可以使您的節更容易閱讀/維護。如果你的輸入不符合你的模式,也許你可以更新模式對空白不感興趣? –