다음은 dissect 필터로 1차 필드 분류가 끝난 아파치 웹로그의 응답코드 발생 추이. 그런데 이상한 게 눈에 띈다.
테스트해보니 이런 상황.
필드 분류를 위한 dissect 필터는 다음과 같다.
dissect {
mapping => {
"message" => '%{clientip} %{} %{} [%{timestamp}] "%{method} %{uri} %{http_ver} %{status} %{bytes}'
}
}
문제 발견. 연동 대상 로그의 메소드 + URI + HTTP 버전 정보는 큰따옴표(")로 둘러싸여 있는데, 끝나는 위치의 따옴표를 빼먹음(..) 필터 수정.
dissect {
mapping => {
"message" => '%{clientip} %{} %{} [%{timestamp}] "%{method} %{uri} %{http_ver}" %{status} %{bytes}'
}
}
이제 남은 건 필요에 따라 필드를 가공해주는 필터를 하나씩 추가하는 작업.
과거엔 ETL(Extract, Transform, Load)이나 파싱(parsing) 등으로 많이 불렸는데, 빅데이터가 뜬 이후론 거의 데이터 전처리로 통일된 듯. 이런 작업을 잘 할 수 있는 방법은 무엇일까? 마지막 날 어느 교육생이 이런 얘기를 했다.
엘라스틱을 제대로 사용하려면 도메인 지식이 중요하겠네요
강의 의도가 잘 전달된 것 같아 너무 기쁘더라. 빅데이터가 뜨면서 자주 언급되는 용어 중 하나가 '도메인 지식' 아닐까 싶다.
데이터를 알아야 분석 목적을 정하고, 목적에 맞는 데이터 전처리를 수행할 수 있기 때문. 도메인 지식은 필수, 툴은 선택이란 얘기. 데이터에 대한 도메인 지식을 쌓으려면?
엄마 뱃속에서부터 데이터를 배워서 나오는 사람은 없다. 그러면 어떻게 해야 하나? 데이터를 잘 알아야 데이터 분석을 잘 할 수 있는 건 맞지만, 반대로 분석 과정에서 시행착오를 반복하다 보면 자연스럽게 데이터 전문가가 될 수 있다. - 데이터 분석이 쉬워지는 정규표현식 (47페이지)
관련 글
댓글 없음:
댓글 쓰기