0

로그 파일에서 아래에 언급 된 행을 구문 분석하고 싶습니다.grok 일치 : 패턴 또는 일치를 사용하여 시간 동안 로그 파일을 구문 분석하십시오.

03 : 34 : 19,491 INFO [: SM-세컨더리 17 : DBBACKUP : 106 -에 정의의 max_allowed_packet 값은 [1,600]가 /etc/mysql/my.cnf [24M]의 값과 일치하지 않는 . 값이 사용됩니다.

파싱 한 후, 출력이어야

Time : 03:34:19 
LogType : INOF 
Message : [:sm-secondary-17]: DBBackup:106 - The max_allowed_packet value defined in [16M] does not match the value from /etc/mysql/my.cnf [24M]. The value will be used. 

는 무시 : 491 (쉼표 3 자리 번호).

+0

몇 가지 노력을 보여주세요. –

답변

0

Grok 필터 설정은 위에서 설명한 로그를 구문 분석 할 때 이와 같아야합니다.

... 
filter { 
    grok { 
     match => {"message" => "%{TIME:Time},%{NUMBER:ms} %{WORD:LogType} %{GREEDYDATA:Message}"} 
     remove_field => [ "ms" ] 
    } 
} 
... 
+0

이것도 작동하고 또 하나의 해결책을 찾았습니다 : % {TIME : time} % {LOGLEVEL : loglevel} % {GREEDYDATA : message} – vijay

+0

좋습니다. 내 지식만으로도 밀리 초가 시간 필드에 캡처되는지 알려주십시오. –

+1

@HatimStovewala, TIME은 HOUR, MINUTE 및 SECOND를 사용하여 정의되며 SECOND는 밀리 초를 포함하도록 정의됩니다. –