2019년 1월 14일 월요일

Logstash 설정과 한글

윈도우 이벤트 로그 5156은 네트워크 연결 허용을 의미하며, 이때 '연결, 수신/수락' 등의 의미를 추가로 알려준다.


winlogbeat를 이용해서 엘라스틱과 연동하면 event_data.LayerName이란 필드에 '%%14610, %%14611' 등의 값이 저장됨.



'계층 이름: 연결'처럼 사람이 이해하기 쉬운 정보는 메시지 필드에 다른 정보들과 함께 저장된다. 해당 정보를 별도 필드로 추출하면 '%%14611'의 의미가 뭐였나 매번 머리 쥐어짤 필요가 없다는 얘기.

물론 event_data.LayerName 필드값을 mutate 필터로 바꿔줘도 되지만 이상하게 원본 보존하고 싶네(..) 다음은 해당 필드를 추출해주는 grok 필터 표현식.
grok { 
 match => { 
  "message" => "계층 이름:\t\t(?<layer_name>\S+)" 
 }
}

그런데 에러 발생. 로그스태시가 한글을 못읽는구나.


로그스태시가 읽을 수 있도록 유니코드로 인코딩.
grok {
 match => {
  "message" => "\uacc4\uce35 \uc774\ub984:\t\t(?<layer_name>\S+)"
 }
}

올라잇!


댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스