filebeat multiline 로그 처리
- ELK stack/04.Beat
- 2020. 1. 31.
※ Filebeat Multiline 이란? Log의 다중 라인을 한 라인으로 처리하기 위한 방식
예를 들어 WAS로그 Exception은 다중 라인이지만, 아래 그림과 같이 한 라인으로 Elasticsearch에 저장
기본 설정은 ELK Stack 모두 동일하며, Filebeat에 아래 내용 추가함
-
파일 경로 설정
-
CASE 1 or CASE 2 택일하여 설정
-
(CASE 1) filebeat.yml 경로 설정(들여쓰기 주의, 기동안됨)
filebeat.inputs:
- type: log
enabled: true
paths:
- Z:\uploadErrLog\2020-01-13\*.txt
-
(CASE 2) [filebeat_home]/modules.d/scouter.yml 파일 생성 후 경로 설정(들여쓰기 주의, 기동안됨)
- module: scouter
log :
enabled: true
var.paths:
- Z:\uploadErrLog\2020-01-13\*.txt
-
(참고) CASE2 module 적용 방법
./filebeat modules enable scouter
-
Multiline 옵션 설정
-
pattern 설정
-
Pattern 테스트 URL 페이지에서 정규식 패턴 사용하여 한 라인으로 pattern 설정
-
negate : 패턴 무시 여부 (default : false)
-
match : 라인을 패턴에 추가해야하는지 정의하는데 사용(before는 앞, after는 뒤)
multiline.pattern: '^[[:space:]]+(\.{3}\s|at|java)\b|^Caused by:|^\]|^#{3}\s|^;|^\s*$'
multiline.negate: true
multiline.match: after