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+)"
}
}
댓글 없음:
댓글 쓰기