[Logstash] Exception 에러로그 detection.
Elastic/Logstash 2016. 8. 16. 12:35바빠서 초간단 버전 업데이트 합니다.
1. patterns 생성)
잘 아시겠지만 grok filter 에서의 pattern 은 deprecated 되었습니다. 그래서 patterns_dir 을 만들어서 설정을 하셔야 합니다.
저는 그냥 기존에 생성된 LOGLEVEL 패턴에 (Ee)xception 만 추가 했습니다.
patterns/patterns
LOGLEVEL ([Ee]xception|EXCEPTION|[Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo|INFO|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)
[참고]
https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns
2. config 생성)
input {
file {
path => "/server/elastic/elasticsearch-2.3.5/logs/*.log"
}
}
filter {
grok {
patterns_dir => ["./patterns"]
match => {
"message" => "%{LOGLEVEL:error_log}"
}
}
if "_grokparsefailure" in [tags] {
drop { }
}
}
output {
if [error_log] in ["Exception","exception"] {
stdout {
codec => "rubydebug"
}
}
}
이 설정의 용도는 elasticsearch 에서 발생하는 exception 을 감지 하기 위한 것입니다.
초간단 버전이니 튜닝은 각자 잘 하시면 됩니다.
※ 실제 이것만 가지고 서비스에 적용하시면 문제 발생 할 수 있습니다.
filebeats 와 연동해서 사용하시길 권장 드립니다.