내가 처음이 아니다
하나의 로그스태시 파이프라인에서 서로 다른 데이터를 수집, 서로 다른 인덱스에 저장하는 구성에 대한 질문을 받았다. 방법은 input 구간에서 출처별로 수집 플러그인을 분리한 후, output 구간에서 조건에 따라 저장명을 달리하는 것.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
input { file { path => "a.log" } file { path => "b.log" } } output { if [path] == "a.log" { elasticsearch { index => "index_a" } } else { elasticsearch { index => "index_b" } } }
데이터 전처리를 잘 하면 분석이 쉬워진다가 강의 주제인지라 filter 구간 활용에 집중한다. 자연스럽게 input이나 output 멀티 구성에 대한 필요성을 느낀 적이 없음. 개인의 경험은 한계가 있다. 그래서 타인의 경험이 공유될 때 강의가 재밌어진다.
당연히 질문에 대한 답을 처음부터 알지 못했다. 하지만 답을 찾는 게 어렵진 않았다. 모르면 물어보면 되니까.
엘라스틱이 나온 지 10년이 넘었고, 그동안 수백만 이상의 사용자들이 엘라스틱을 사용했다. 그중에 나와 같은 목적을 가진 사람이 한 명도 없다면 정말 이상하지 않을까? 하늘 아래 새로운 거 없고, 사람 생각하는 거 크게 다르지 않다.
나와 같은 문제로 고민하는 사람이 수 만은 될 것이고, 그중엔 반드시 문제를 해결한 사람이, 그리고 그 해결책을 공유하는 사람이 존재한다. 검색만 잘 하면 된다는 얘기. 이때 원하는 검색 결과에 가까워지기 위한 조건은 단 하나.
질문이 뚜렷해야 한다
질문을 명확히 정의할 수 있어야 한다는 얘기. 그게 가능하려면 결국 내가 하고 싶은 게 구체적이어야 한다. 하고 싶은 게 뚜렷하지 않은 상태에서는 뭘 질문해야 할지 알 수도 없고, 설령 질문을 한들 누구도 답을 주기 어렵다. 뭘 원하는지 알기 힘든 질문이니까.
목적이 뚜렷하다면 아무리 새롭고 어려운 기술이라도 즐겁게 배움에 임할 수 있으며, 좋은 질문을 할 수 있고, 좋은 답을 구할 수 있다. 설령 좋은 답을 얻지 못하더라도 최소한 그 답에 가까워질 수 있다 - Elasticsearch로 알아보는 이상징후 분석 (249p)
물론 그저 엘라스틱 박사가 되고 싶은 거라면 공식 문서를 모조리 외워버리는 방법도 있다. 하지만 그게 가능하다면 같은 노력을 했을 때 인생이 더 풍요로워지는 다른 분야가 있지 않을까? 결국 툴을 잘 쓰려면 명확한 사용처가 있어야 한다.
하고 싶은 게 뚜렷하다면 엘라스틱이나 스플렁크는 배우기 쉽다. 제품 인기도 만큼 커뮤니티가 활발하고, 같은 목적을 위한 삽질 끝에 나보다 먼저 문제를 해결한 선배들이 많기 때문. 그래서 팁이라면 그냥 구글 검색보다 커뮤니티 우선 검색이 구체적인 사례 수집에 유리하다.
기억하자. 내가 뭔가 하고 싶은 게 있다면, 나만 하고 싶어 하는 게 아니다. 반드시 먼저 시도한 이들이 있다.