2016-09-14 9 views
0

정규식을 사용하고 logstack grok 필터를 사용하는 것이 처음입니다. 나는이 메시지를 필터링 할 내 자신의 정규식을 작성해야사용자 정의 grok 필터를 작성하는 동안 구문 분석 오류가 발생했습니다.

NAID-iOS-3093448A-BC34-4FE1-A057-29AD2CEF8FD3-1471410782.565937 IP-202.174.93.103 2016-08-17 00:13:09,963

내 grok 수 필터는 grok 수의 기본 DATE_EU 항목이 %{MONTHDAY}[./-]%{MONTHNUM}[./-]%{YEAR}

있다

grok{ 
    match => {"message" => "%{DATA:deviceid}%{IP:Serverip}%{%{YEAR}[-]%{MONTHNUM}[-]%{MONTHDAY}:Date}%{GREEDYDATA:data}"} 
} 

하지만 나는 그것의 역이 필요 그래서 나는 썼다

%{%{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY}:Date}%{DATE_EU:Date} 대신에 하지만 내 구문에 [0]_grok parsefailure 메시지를 받고.

이 난 https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#_custom_patterns을 따라 나는 창문을 사용하고 logstash 폴더 안에 패턴 디렉토리를 생성하고 "추가"라는 이름의 파일 내의 DATE_LOG %{YEAR}[./-]%{MONTHNUM}[./-]%{MONTHDAY} 항목을 추가했지만 다시 parsing_error을 얻었다.

답변

0

잘못된 구문을 사용하고 있습니다. 로그 행을 구문 분석하는 동안 당신은 예를 들어, 자신의 변수와 각 부분의 이름 :

%{MONTHNUM:month}-%{MONTHDAY:day} 

을 다음 당신은 당신의 자신의 형식이 방법으로 완료

replace => ['timestamp', '%{month}-%{day}'] 
관련 문제