Logstash 다중 라인 코덱은 다음 로그 패키지를 보낼 때까지 마지막 이벤트 (라인)를 무시합니다.Logstash 멀티 라인 코덱이 마지막 이벤트/라인을 무시합니다.
내 logstash.conf :
input {
}
http {
port => "5001"
codec => multiline {
pattern => "^\[%{TIMESTAMP_ISO8601}\]"
negate => true
what => previous
auto_flush_interval => 15
}
}
}
filter{
grok {
match => { "message" => "(?m)\[%{TIMESTAMP_ISO8601:timestamp}\]\s\<%{LOGLEVEL:log-level}\>\s\[%{WORD:component}\]\s%{GREEDYDATA:log-message}"
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
index => "%{+YYYY-MM-dd}"
}
}
또한 솔루션 auto_flush_interval 작동하지 않습니다.
,174 51,515,[2017년 7월 11일 22 : 32 : 12.345] 우편 배달을 사용
입력 :
예[KCU] 글 예외 초기화 컴포넌트 "메인"자바 com.example.myproject.Book.getTitle에서 .lang.NullPointerException (Book.java:16) [2017년 7월 11일 22 : 32 : 16.345] [KCU] 상태로 돌아 1
출력 - 하나의 이벤트 (두이어야)
[2017년 7월 11일 22 : 32 : 12.345] [KCU 성분 스레드 "메인" java.lang의 예외를 초기화. com.example.myproject.Book.getTitle에서 NullPointerException이 (Book.java:16)
나는이 마지막 줄이 필요합니다.
질문 : 내가 잘못했거나 멀티 라인 코덱에 문제가 있습니까? 이걸 고치는 방법?
내 대답이 귀하의 질문을 해결하는 데 도움이 되었습니까? – Phonolog
같은 질문으로 답변을 얻었습니다 : https://discuss.elastic.co/t/logstash-multiline-codec-ignore-last-event-line/109006 – Jaap