2022년 1월 17일 월요일

엘라스틱이 쉬웠던 이유 - 2nd

데이터 분석 과정에서 데이터 전처리가 차지하는 비중은 생각보다 크다.


그렇다 보니 자연스럽게 로그스태시 필터 기능을 소개하는 데 많은 시간을 할애한다. 그때 종종 받는 (툴을 잘 쓰면 데이터 분석이 쉬워질거라는 기대가 담긴) 질문. 
저 기능들을 언제 다 익혔나요?

그러게? 난 언제 저 기능들을 익혔지? 사실은 익힌 적이 없다. 엘라스틱을 만나기 전부터 이미 사용해왔으니까. 도끼 쓰다가 전기톱으로 바꾼다고 나무 잘리는 원리가 달라질 리 없는 것과 마찬가지.

2014년부터 보안 데이터 분석 강의를 해왔다. VIM(정규표현식)과 엑셀을 이용해서 IDS 및 시스템, 웹로그를 테이블 구조로 변환 후, SQL(feat. Logparser)을 이용해서 분석하는 과거 포스팅 모두 강의 중 일부.

대부분 사람만이 읽을 수 있는 원시 데이터를 컴퓨터가 계산할 수 있는 테이블 구조로 바꾸는 데이터 전처리 과정에 집중한다.


오죽하면 분석은 안 하고(?) 툴 사용법만 강의한다는 불만이 나올 정도. 고생스런 전처리 과정을 거친 덕분에 분석이 쉬워졌음을, 전처리가 곧 분석임을 이해하지 못했거나, 그냥 전처리 과정 자체를 이해하지 못한 결과. 

그래서 더 집중한다

전처리 과정이 매끄럽게 진행되려면 높은 데이터 이해도와 함께 뚜렷한 분석 목적이 요구된다. 이해도가 높고, 목적이 뚜렷하면 전처리도 쉽고, 분석도 쉬울 수밖에 없다. 그런데 난생 처음 본 데이터라면?

개인적으로 느낀 최선은 실패를 반복하면서 데이터에 대한 이해를 하나씩 늘려가는 것. 데이터를 이리저리 자르고 붙여보는 전처리 과정에서 데이터 구조, 의미 등에 대한 이해도를 높일 수 있고, 그렇게 높아진 이해도는 다시 전처리 수준을 높여준다. 


이런 절차가 반복 순환되면 전처리 과정에서 뭘 분석할지, 어떻게 분석할지에 대한 결정이 가능해지는 탐색적 데이터 분석에 성공할 수 있다. 당연히 반복되는 실패를 감당할만한 동기 부여가 있어야 가능한 얘기.

호기심 충족이나, 금전 이익 등의 보상이 따르지 않는 한, 이런 데이터 노가다전처리 과정에서 동기 부여를 기대하기는 힘들다. 강의를 기획한 입장에서 가장 부담스러운 부분.

어떻게 하면 재미도 없고 시간만 많이 걸리는 데이터 노가다 과정을 버티게 해줄 동기를 부여할 수 있을까? 그런 고민을 하다 만난 은총알(silver bullet)이 엘라스틱. 네이버, 카카오도 사용한다니 너무 멋져 보임.

설치 과정도 매끄럽다. 다운로드부터 실행까지 전 과정에서 초심자의 진입을 도와주는 친절한 원스톱 서비스 덕에 낯선 걸 배워야 한다는 두려움과 귀찮음을 쉽게(?) 극복할 수 있다.


이후엔 기존에 하던대로

원시 데이터의 필드 구분을 위해 VIM 정규표현식을 사용했었다. 로그스태시에서도 정규표현식을 사용할 수 있을까?


문자열 길이를 측정하기 위해 엑셀의 LEN 함수를 사용했었다. 로그스태시에서는 어떻게 하지?


툴만 바뀌었다는 얘기

장점은 VIM, 엑셀로 (또는 다른 툴 뭐든) 데이터 분석을 해왔다면 엘라스틱으로도 잘 할 수 있다는 것. 단점은 반복 노가다가 필수인 데이터 전처리의 속성은 바뀌지 않는다는 것. 

500 페이지가 넘는다는 엘라스틱 공식 매뉴얼을 모조리 외운들(이거 외울 머리면 다른 거 하는 게 낫다), 데이터를 알려고 하지 않으면 데이터 분석은 시작되지 않는다. 궁금한 게 없으니까. 엘라스틱은 절대 분석을 대신해주지 않는다.
빅데이터/인공지능이 유행하기 전부터 로그를 한 줄, 한 줄 읽어보고 싶은 욕구를 느꼈다면, VIM/grep 등을 이용해서 더 읽기 쉬운 형태로, 계산이 가능한 형태로 정제를 시도해봤다면, 친숙한 오피스 툴(엑셀?)이나 더 전문적인 데이터 계산툴(SQL?)을 사용해봤다면 충분히 잘 할 수 있다. 데이터 분석의 기본 원리는 그대로인 채 툴만 바뀌었으니까 - 엘라스틱서치로 알아보는 이상징후 분석4th

관련 글

댓글 없음:

댓글 쓰기

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