[5분 컷] Grok Parser 로 Hello World 하기 ( 그록 파싱 왕초보 기초 )

로그 프로세싱 (Log Processing) ,  로그 파싱 (Log Parsing) 이란 걸 들어보셨을 겁니다.
 
수 많은 로그들에서 의미 있는 정보를 찾기 위해서 파싱을 해야합니다. 그냥 로그만 쌓으면 분석이 힘듭니다.  파싱을 하고 나면 로그들로부터 얻은 정보로 여러가지 검색과 분석을  쉽게 할 수 있습니다. 

로그는 파이프라인을 통해서 파싱되고, enrich 됩니다. 로그 파이프라인에서 여러가지 프로세서를 사용하게 되는데요.  프로세서에는 여러 종류의 리맵퍼, 프로세서, 파서들이 있는데 오늘은 그록 파서만 살펴보겠습니다.

그럼 Grok Parser 를 사용해서 로그에서 정보를 추출하는 과정을 보여드리겠습니다. 데이터 독 UI 가  직관적으로 이해하는데 좋아서 사용하겠습니다.

파싱 룰 (파싱 규칙, parsing rule)은 %{MATCHER:EXTRACT:FILTER} syntax를 사용합니다. filter는 옵션입니다. 


  • 프로세서 타입에  Grok Parser 를 선택합니다.  로그 샘플을 넣고, 파싱 규칙을 정하면 샘플 로그가 규칙에 잘 매칭 되는지 쉽게 보여줍니다.
데이터독 로그 파이프라인 프로세서 UI


  • 제가 준비한 샘플 로그입니다. Cookie 1234 says "Hello World"   이 샘플 로그에 맞춰서 파싱룰을 만들었습니다. rule_1 %{word:name} %{number:age} says %{doubleQuotedString:message}
로그 샘플, 파싱 룰, 결과


  • 초록색 MATCH 가 보이시면 굿입니다!  샘플 로그가 정의된 파싱 규칙대로 파싱되어 아래 빨간 사각형 안처럼 추출되었습니다.
그록 파서 (Grok parser) 로 Hello World 하기


  • 파싱 규칙의 뒷 부분을 조금 지우니 빨간 NO MATCH 가 뜹니다. 그리고 아래 결과도 보이지 않습니다.  이래서 규칙이 중요합니다!
그록 파서 (Grok parser) 기초 사용법


  • 로그 샘플을 하나 추가합니다. Cookie the cat 4321 says "Hello Seoul"  이름에 단어가 세개라 매칭이 안된다고 합니다. 제 규칙은 이름에 단어 하나인 사람만 패스하는 규칙이라...
그록 파서 (Grok parser) 기초 사용법



  • 룰을 쪼물딱해서 이름, 미들네임, 성 까지 파싱할 수 있게 만들었습니다. 그러니 이제 초록색 MATCH 사인 2개가 보입니다. 이 규칙으로 2 종류의 로그를 파싱할 수 있게 됐습니다. 
그록 파서 (Grok parser) 기초 사용법


  • 파싱 결과를 확인합니다! 아까와 조금 다르죠?  이렇게 해서 게임상 유저가 말한 메세지를 추출해서 고소할 때 사용하는 파싱 규칙을 만들어보았습니다. 끗!
그록 파서 (Grok parser) 기초 사용법


- The End - 

Comments