0
^(?:%{LOGLEVEL:level}):\s*%{DATA:message}\s*(?:%{JAVACLASS:caller_class})\s+\[%{WORD:loglevel}\]\s+(\[\s*\S+\s+%{BASE10NUM:tstamp}.*?\]\s+)+(\[\s*\S+\s+%{BASE10NUM:memory}\S*\s+\S+\s+%{BASE10NUM:total}.*?\]) 

這是我神交模式從這裏https://regex101.com/r/yMq9J1/1神交模式定製logstash配置

,現在我想在過濾我logstash配置使用,但我得到一個錯誤

給定配置無效。原因:在過濾器之後的第12行第19列(字節341)處期望的#,=> grok匹配=> {「message」=>「^(?:%{LOGLEVEL:level}):\ s *%{DATA:message} \ s *(?:%{JAVACLASS:caller_class})\ s + [%{WORD:loglevel}] \ s +([\ s * \ S + \ s +%{BASE10NUM:tstamp}。? ] \ s +)+([\ s \ S + \ s +%{BASE10NUM:內存} \ S * \ s + \ S + \ s +%{BASE10NUM:total}。*?])「 } } output { elasticsearch

你們能幫我理解這裏的情況嗎?

+0

你可以發佈你的整個配置,好嗎?我們會看到問題出在哪裏。 – baudsp

回答

0

grok模式不是問題,配置缺少}來關閉grok過濾器的匹配設置。

應該%{BASE10NUM:total}.*?])"後加入,這樣的:

 ...%{BASE10NUM:total}.*?])" 
    } # missing accolade 
    } 
} 

output { 
    elasticsearch 
    ... 
+0

輸入{ 節拍{ 端口=> 「5044」 } } 濾波器{ 神交{ 匹配=> { 「消息」=>「^(?:%{LOGLEVEL:級別}):\ S *% {DATA:消息} \ S *(?:%{JAVACLASS:caller_class})\ S + \ [%{WORD:記錄等級} \] \ S +(\ [\ S * \ S + \ S +%。{BASE10NUM:TSTAMP} * s] + [s + s + s +%{BASE10NUM:total}。*?\])「 } } } 輸出{ elasticsearch { \t主機=> [ 「本地主機:9200」] \t template_overwrite =>真 } } –

+0

@DeepakMann在您的問題標籤下方有一個編輯按鈕,您可以使用它來更改您的問題以添加此類信息,這些信息在評論中沒有位置。 – baudsp

+0

@DeepakMann此配置在我的電腦上正常工作(Windows 7上的LS 2.2)。 – baudsp