2017-04-03 3 views
1

로그의 날짜와 타임 스탬프를 구문 분석하여 @timestamp 필드에 표시해야합니다. 타임 스탬프는 파싱 할 수 있지만 날짜는 파싱 할 수 없습니다.logstash에서 grok 필터로 날짜를 파싱하는 중 오류가 발생했습니다.

입력 로그 :

"2010-08-18","00:01:55","text" 

내 필터 : 여기 DATE

grok { 
    match => { "message" => '"(%{DATE})","(%{TIME})","(%{GREEDYDATA:message3})"’} 
} 

grokparsefailure가 발생합니다. @timestamp 필드를 업데이트하는 방법을 잘 모릅니다.

감사합니다.

답변

0

%{DATE} 패턴은 원하는 것이 아닙니다. M/D/Y, M-D-Y, D-M-Y 또는 D/M/Y 형식으로 무언가를 찾고 있습니다.

이 같은 파일의 경우, CSV 필터를 사용하여 고려할 수 :이 message3 탈출 한 거기에 따옴표를 내장 한 경우를 처리합니다

filter { 
    csv { 
    columns => ["date","time","message3"] 
    add_filed => { 
     "date_time" => "%{date} %{time}" 
    } 
    } 
    date { 
    match => [ "date_time", "yyyy-MM-dd HH:mm:ss" ] 
    remove_field => ["date", "time", "date_time" ] 
    } 
} 

.