현재 내 로그 파일에서 특정 줄을 필터링하려고합니다. 로그 파일의 내 줄은 다음과 같은 패턴입니다.특정 줄 필터링
[8/05/13 14 : 24 : 55.468] RuntimeErrorI E LaError [8/05/13 14 : 24 : 55.468] ABCDEFG W SomeWarning 제 날짜, 시간, 프로그램 이름이
로그 레벨 (WARNING, ERROR, TRACE 등) 다음에 오류 메시지 나 경고 메시지 또는 기타 메시지가 표시됩니다.
그래서 내가 얻으려고하는 것은 로그 수준 오류 뿐이며 다른 로그 수준은 아닙니다. 나는 내가 가지고 놀고있는 다음을 가지고있다. 그러나 나는 콘솔 출력을 에 얻지 않을 것이다. 나는 내 grep에서 오류를 확인하는 중 실수를하고 있다고 생각합니다. E (오류)
내가 뭘 하려는지 어떻게 달성 할 수 있는지에 대한 도움을 주시면 감사하겠습니다. 미리 감사드립니다.
input {
file {
type => "database"
path => "/home/nakampe/Desktop/file.log"
}
}
filter {
grok {
pattern => "[%{MONTHDAY:date}/%{MONTH:month}/%{YEAR:year} %{TIME:time}] %WORD:application} %{WORD:levelType} %{WORD:message}"
}
#Here I want to only consider log levels of E (ERROR) and not others
grep{
match => ["levelType", "E"]
}
}
output {
elasticsearch {
embedded => true
}
stdout {
message => "%{@message}"
}
}
안녕 Jayeff에서 –