2014-07-17 4 views
0

elasticstarch와 함께 사용하기 위해 logstash를 구성하려고하는데 내 로그 파일을 읽을 수 없습니다.Logstash가 내 로그 파일을 읽지 않습니다.

내 로그의 패턴은 다음과 같습니다

17:06:08.915 TKD [DefaultQuartzScheduler_Worker-1] INFO 
           javax.mail - Tables of loaded providers 
17:10:53.767 TKD [DefaultQuartzScheduler_Worker-6] INFO application - Starting 
           Jobing [company.Job] 

가 어떻게 구성 할 수 있습니다 는 [날짜 시간] [TKD] [DefaultQuartzScheduler] [레벨] [응용 프로그램] [메시지]를 얻는 방법? 내 필드는 다음과 같이 작성 될 수

:

[날짜 시간 = 17 : 06 : 08.915

[TKD = TKD

[DefaultQuartzScheduler = DefaultQuartzScheduler_Worker -1-

[Level] = INFO

[app] = javax.mail

[메시지] 여기

내 conf의 파일로드 공급자의 테이블 =

input { 
    file { 
     add_field => [ 'host', 'my-dev-host' ] 
     path => 'c:\tmp\utracking.log' 
     type => 'app' 
     format => 'plain' 
    } 
} 

output { 
    elasticsearch_http { 
     host => 'localhost' 
     port => 9200 
     type => 'app' 
     flush_size => 10 
    } 
} 

filter { 
    multiline { 
     type => 'app' 
     pattern => '^[^\[]' 
     what => 'previous' 
    } 
} 

답변

1

grok 필터를 사용하면 메시지에서 필드를 추출 할 경우, 찾고있는 무엇을 당신이 다음 수 조작하고 출력으로 보내십시오. grok 패턴 목록은 here입니다. grok 링크는 꽤 좋은 예제를 제공하기 때문에 그냥 그대로 두겠습니다.

여러 줄 필터 뒤에 grok 필터를 넣을 수 있습니다.

이 도움이 되었기를 바랍니다.

관련 문제