로그스태시(Logstash) 에서 JSON 코덱 플러그인(plugin)과 File 플러그인 사용하기

 지난 시간에 이어서 오늘은 로그스태시(Logstash)에서 JSON 코덱 플러그인을 사용해 보고, 그 후 File 아웃풋 플러그인을 사용해서 입력 데이터를 파일로 출력해 보겠습니다. 


관련 이전 게시물 :


  • 로그스태시를 실행하고 JSON 형태의 데이터를 입력해 봅니다. 
Logstash 파이프라인에 json 데이터 입력
# JSON format 데이터인 {"name": "cookie", "level": 99}를 입력하고 message 부분에 어떻게 보이는지 확인


  • 컨트롤 씨 (Ctrl + C)로 빠져나오시고 config 폴더에서 지난 번 만든 conf 파일을 엽니다. 그리고 input 부분 stdin 안에  codec => json 를 추가하고 저장합니다.
로그스태시에서 json 코덱 사용하는 법


  • 다시 로그스태시를 실행하고 위에 사용한 JSON 데이터를 입력해서 봅니다. 아까랑 힘의 차이가 느껴지시요? 같은 데이터를 입력했는데 결과가 다르죠? 
json 코덱 사용 후 로그스태시 출력
json 코덱 사용 후


json 코덱 사용 전 로그스태시 출력
json 코덱 사용 전


  • 한 번 지난 번 처럼 hello world를 입력해 볼까요? 엇! 에러가 나네요. JSON parse 에러. 코덱은 json인데 데이터는 json이 아니니깐요. 하지만! 일반 텍스트로 저장이 되고 jsonparsefailure란 태그가 달립니다. 메세지 부분 보시면 hello world가 그대로 저장돼있죠? 
jsonparsefailure - json parse error


  • 컨트롤씨로 나오세요.  그리고 configuration file 에서 file { path => "cookie.txt" } 를 추가하고 저장합니다. (저 원래 인덴테이션 잘 지켜요. 업무는 맥에서 하고, 윈도우에서 cmd랑 노트패드로 시연하려니 ㅠ.ㅠ )
로그스태시에서 file output plugin 사용하기
# stdout 플러그인은 결과를 화면에 출력하고, file 플러그인은 결과를 디스크에 파일로 저장할 것입니다. 파일명은 cookie.txt 로 정하였고 경로는 상대 경로로 로그스태시 실행파일이 있는 bin 폴더에 저장됩니다. 다른 곳에 저장 원하시면  경로 수정 ㄱㄱ씽. 


  • 저장하셨으면 로그스태시 실행합니다. 지난 번 내용 잘 기억안나실까봐 친절하게 명령어 다시! logstash -f ..\config\logstash-cookie.conf     (신기하게  cmd에서 \, / 둘 다 인식하네요. cmd엔 \ 가 다르게 표시됩니다. 
윈도우에서 로그스태시 실행 명령어


  • json 형식이든 뭐든 막 입력해 보세요. 그리고 bin 폴더에서 아웃풋이 저장되는 파일을 찾아까봅시다. 
로그스태시에서  file output plugin 사용하기
파일을 찾아서

파일 플러그인 사용 결과 파일
까보자!

# 어때요? 섬찟하시죠? 

- The End - 

Comments