뭐가 이리 많나 싶어서 리스트를 뽑아보니 확장자 뒤에 변수가 잔뜩 붙어 있다. 데이터 전처리 실패(..)
다음은 dissect 필터로 추출한 URI 필드를 다시 분류하는 grok 필터.
grok {
match => {
"uri" => "(?<uri_path>.*\/([^.?]*$)?)(?<file>[^?]*)\??(?<var>\S*)"
}
}
grok {
match => {
"file" => ".*\.(?<ext>.*)"
}
}
테스트 해보니 file 필드가 변수 영역에서 추출되는 경우가 있음.
정규표현식 테스트할 때 놓친 부분이 있구나. uri_path 필드 추출 시 종료 위치를 '/'로 정했는데 변수 영역에도 '/'가 쓰이는 바람에 망함.
'?'로 시작하는 변수 영역으로 넘어가지 않도록 정규표현식 수정.
이제 정상.
200 응답코드 상태일 때 접속 페이지의 폭증 현상도 사라졌다.
이러면서 데이터랑 친해지는 거지 뭐.
데이터를 여기 저기 뜯어 보고, 해체하고 조합하는 과정을 거치면서 '무엇'에 대한 정의를 할 수 있는 역량을 키운다
관련 글
댓글 없음:
댓글 쓰기