2017-04-12 116 views
0

由於某些原因,filebeat在filebeat.yml文件中使用多行篩選器時未發送正確的日誌。即時閱讀日誌文件有一些多行日誌和一些單行。但是,從日期開始,它們都遵循相同的格式。舉個例子,下面是幾行:Filebeat沒有發送正確的多行日誌到logstash

2017-Aug-23 10:33:43: OutputFile: This is a sample message 
2017-Aug-23 10:34:23: MainClass: Starting connection: 
    http.InputProcess: 0 
    http.OutPutProcess: 1 
2017-Aug-23 10:35:21: OutputFile: This is a sample message 2 

我Filebeat陽明是:

- input_type: log 
    paths: 
    - /home/user/logfile.log 
    document_type: chatapp 
    multiline: 
    pattern: "^%{YYYY-MMM-dd HH:mm:ss}" 
    negate: true 
    match: before 

出於某種原因,當我看到filebeat日誌打elasticsearch,所有日誌將被aggragated成一個日誌行,所以它似乎實際上並沒有按日期讀取文件日期。誰可以幫忙?謝謝!

回答

1

使用

pattern: "^%{YEAR}-%{MONTH}-%{MONTHDAY}" 

你目前正在使用沒有給出神交模式的有效定義正則表達式模式。

您可以使用the grokconstructor測試多行模式。我從logstash中預定義的構造了此模式。

+0

這是正確的格式。此外,我的logstash過濾器格式已關閉。我使用grok構造函數來找出正確的過濾器 –

+0

我能夠在grok構造函數上獲得模式,但它仍然無法在filebeat中工作。它看起來像filebeat仍然沒有認識到日誌的開始(像你說的日期)。你知道有什麼理由嗎? –

+0

不確定,請嘗試將正則表達式更改爲不太具體,以查看是否有所作爲。在這一點上,它可能是試驗和錯誤 –

相關問題