ELASTICSEARCH

2020-02-12
특정 작업의 생성부터 소멸까지의 수명 주기가 jobID라는 식별자로 구분되는 로그가 있다. 하나의 작업에 소요된 시간을 구해보자. 마지막 작업이 실행된 시간에서 최초 작업 실행 시간을 빼면 된다. 근데 어떻게 하지? 가장 간단한 방법은 서로 다른 시점에 발생한 두 로그 간의 시간차를 계산해주는 로그스태시 필터 플러그인 elapsed 를 사용하는 것. 다음은 파이프라인 설정. 작업을 시작할 때는 send_begin, 작업이 끝날 때는 send_end 태그를 추가했으며, elapsed 플러그인은 해당 태그를 이용해서 계산이 필요한 시간대의 시작과 끝을 결정한다....
2020-01-14
작년 11월말 탈고 후, 전자책 출간을 알아보기 시작했다. 전자책을 선택한 가장 큰 이유는 책에 포함된 50여 개의 외부 참조 URL 때문. 종이책으로 내면 URL 타이핑하다 열 받을 독자들이 눈에 밟혔다. 출판사와의 밀당 도 지겹고. ­ 1. 전자책 플랫폼 선택 좀 알아본 결과 처음 점찍었던 아마존은 탈락. 한글과 pdf 출판을 지원하지 않는다. 구글링해보면 한글 출판이 되는 경우도 있다고 하는데 어느 아마존 출판 대행업체 에 문의해보니 공식적으로 한글은 아직 지원하지 않는다고 한다....
2018-07-20
저번 포스팅에서는 라라벨 프레임워크 - 엘라스틱서치 사용 경험기 1편을 통해 엘라스틱서치를 사용하는 데 필요한 초기 작업에 대해 알아봤다. 주로 라라벨 프레임워크와 엘라스틱서치의 연동 그리고 기존의 데이터를 엘라스틱서치의 문서로 색인하는 작업을 진행했는데 오늘은 1편에 이어서 엘라스틱서치를 사용하면서 필요한 문서 관리 작업 수행에 대한 포스팅을 작성하고자 한다. 목차는 다음과 같다. 목차 라라벨 프레임워크 - 엘라스틱서치 사용 경험기 : 초기 작업 수행...
2018-07-17
요즘에는 검색엔진으로 엘라스틱서치를 워낙 많이 사용하다 보니까 여차여차 나도 스프링, 레일즈에서 엘라스틱서치를 구축했던 경험이 있다. 이번에는 라라벨 프레임워크에서 엘라스틱서치를 사용할 기회가 생겨 그 경험을 정리하기 위해서 포스팅한다. 목차는 다음과 같이 구성되어있다. 목차 라라벨 프레임워크 - 엘라스틱서치 사용 경험기 : 초기 작업 수행(현재) 라라벨 프레임워크 - 엘라스틱서치 사용 경험기 : 문서 관리 작업 수행 엘라스틱서치를 라라벨 프레임워크에서 사용하기 전에 엘라스틱서치를 구축하는 방법을 알아보면 보통 아래의 3가지 방법이 있다....
2018-06-04
시간의 흐름에 따라 만들어진 데이터를 분석하는것을 시계열 데이터 분석이라 부르고 있다. 필자가 운영하는 서비스에서 시계열 데이터 분석을 통해 장애를 사전에 방지하는 사례를 공유 해보고자 한다....
2018-04-11
Desktop 및 스마트폰의 대중화로 다양한 OS와 브라우저들을 사용하게 되었다. 이때, 내가 운영하는 웹서버에 들어오는 사람들은 무슨 기기로 접속을 하는 것일까? 혹여 특정 OS의 특정 브라우저에서만 안되는 버그를 잡기 위해 몇일밤을 고생하며 겨우 수정했는데… 과연 그 OS의 브라우저에서는 접속은 하기나 하는걸까? (ㅠㅠ) 만약, 접속 사용자의 Device 정보를 알고있다면 고생하며 버그를 잡기 전에 먼저 해당 Device 사용율을 체크해 볼수도 있고(수정이 아닌 간단한 얼럿으로 해결한다거나?) 비지니스 모델까지 생각해야하는 서비스라면 타겟팅을 정하는 등 다양한 활용도가 높은 것이 바로...
2018-03-25
엘라스틱서치 검색 시 특수문자가 포함된 키워드를 검색해야 하는 경우가 있는데 기본 방식에서는 검색이 되지 않고 특별한 처리를 해야 가능하다....
2017-12-17
ELK 스택 삼대장 중 키바나를 개발한 '라쉬드 칸(Rashid Khan)'이 비행기 타고 가다 뚝딱 만들었다는 timelion. 이름에서 알 수 있듯이 timelion은 시계열 데이터 분석에 특화되어 있으며, 함수 형식의 표현식을 사용한다. 자동완성을 지원하기 때문에, 학습도 그리 어렵지 않은 편. 웹서버 접속자의 국가별 발생 추이를 그려보자. 다음은 상위 5개의 접속국가 추이를 그려주는 표현식 '.es(split=geoip.country_name:5)'의 사용 결과. 아무 것도 안 그려진다. 뭐지? 접속 기록이 없다는 건가? 그건 아닌 것 같고, timelion이 아예 동작을 안 한 것 같다. 표현식은 맞는데(..) 인덱스명을 추가해봤다....
2017-09-20
엘라스틱서치에서 원본 데이터를 추출해보자. 그런데 원본 추출 관련 메뉴가 안 보이네? 이리저리 찾아보다 포기(..) 엘라스틱서치는 집계된 데이터의 추출만을 지원하는 듯 하다. 결국 구글신께 문의. 요즘 구글신은 한국말도 잘해서 너무 좋다. 다음은 원본 추출을 위한 Logstash 설정. 데이터 추출 쿼리문은 'Discover' 메뉴의 Request 소스에서 'query' 영역만 복사. 다음은 추출된 원본 데이터. 해당 데이터를 추출한 이유는 파일 확장자와 응답코드 관계망의 시간대별 변화를 Gephi로 그려보기 위해서인데, 결과는 다음과 같다....
2017-09-10
다음은 윈도우 웹로그 수집 및 정리를 위한 Logstash 설정. 다음은 grok 필터에 사용된 정규표현식. 자세한 설명은 여기 참고. 로그 수집 결과는 다음과 같다. 로그를 구성하는 여러 정보들이 일목요연하게 정규화됐음을 알 수 있다. 보안 관점에서 어떤 필드 상태의 숫자를 세면 될까? 예전 삽질 을 떠올려보자. 그때 제일 먼저 분석을 시도했던 대상은 사용자의 요청에 대한 웹서버 응답코드 상태였다. 응답코드 필드는 'status'. 다음은 없는 페이지를 요청한 사용자에게 보내는 응답코드 404의 발생 추이....
더보기