본문 바로가기

ElasticSearch

elastic stack #4 kibana 소개 & quick start #kibana란? 공식페이지에서는 window into the Elastic Stack 라고 소개하고 있다. 엘라스틱 스택을 들여다보는 창(?)이라고 한다. 그냥 쉽게 elasticsearch의 데이터를 쉽게 시각화해주는 도구라고 보면된다. elasticsearch가 많은 인기를 끄는 큰 이유중에 하나이다. 쉬운 데이터 시각화! kibana는 node.js로 만들어진 Web Application이다. #kibana 설치 kibana설치에 앞서 당연히 설치된 elasticsearch가 필요하다. elasticsearch 설치 포스팅을 보고 미리 설치를 해놨다고 가정하고 다음예제를 진행한다. https://www.elastic.co/downloads/kibana 에서 다운받아 압축을 푼다. 그리고 약간의 c.. 더보기
elastic stack #3 logstash 소개 & quick start #Logstash란? 공식페이지에서는 data collection engine 라고 소개하고 있다. 즉, 데이터를 수집하여 전달하는 역할을 하는 도구이다. 데이터를 그대로 전달할 수 도 있고, 데이터를 가공하여 전달할 수 있다. 여러 플러그인을 통해 다른 시스템과의 호환성도 좋다. 주로 Elasticsearch와 함께 쓰인다. #Logstash 설치 https://www.elastic.co/downloads/logstash 에서 다운받아 압축을 푼다. 이게 설치 끝이다. 데이터를 수집하는 역할을 하기 때문에 주로 application server의 로그를 저장한다는 가정하에 각 server에 설치하여 동작하도록 하는 구조이다. 일단 다음 포스팅으로 ELK Stack을 사용하여 web server 의 로그.. 더보기
elastic stack #1 elasticsearch 소개 #elasticsearch란? https://www.elastic.co/kr/ 공식적으로 A Distributed RESTful Search Engine 라고 설명하고 있다. 설명을 보면 알수 있듯이 분산환경에서 RESTful API를 지원하는 검색 엔진이다. 루씬을 기반으로한 검색엔진을 사용하고, 대용량 데이터를 처리하는데 적합하며 준실시간으로 데이터를 저장하고 검색, 분석할 수 있다. #사용목적 대용량 자료에서의 검색 시간이 중요한 시스템 개발 시 사용 데이터를 저장하고 분석하기 위해 NoSql로서 사용 #특징 분산시스템: 이로인해 높은 확장성과 고가용성을 가질 수 있다. Full Text Search Multi Tenancy: 하나의 서버에 여러 인덱스를 저장, 관리 할 수 있으며, 독립된 하나의 .. 더보기
geoip 데이터 지도에 표시하기 elasticsearch의 데이터 타입중 geoip가 있다. 이 데이터는 kibana에서 지도에서 표시가 가능하다. apache-access로그의 client IP를 통해 지도에 데이터를 표시하는 예제를 만들어 보자 121.160.132.126 - - [30/Jan/2017:14:24:02 +0530] "GET /index HTTP/1.1" 200 200 common 패턴의 apache access 로그이다. 여기에있는 client IP를 통해 geo_point 데이터를 추출해 Kibana를 통해 지도에 표시해보자 apache access 로그 설정은 아래 글을 참조하면 된다. http://gyrfalcon.tistory.com/entry/Apache-Tomcat-access-log-%EC%84%A4%E.. 더보기
Logstash(Shipper) 를 사용해 Kafka 메세지를 elasticsearch로 저장 1. download Logstash를 다운받아 압축을 푼다. https://www.elastic.co/kr/downloads/logstash 현재 최신 버전인 logstash-5.1.2 버전을 다운받는다. 보통 elasticsearch도 같은 버전으로 설치를 한다. 2. configuration logstash를 실행할때 지정한 config 파일에 따라 하나의 프로세스로 동작을 한다. 우리가 할껀 input을 kafka로 받아서 output을 elasticsearch로 보내는 것이 대한 config파일을 작성한다. logstash-metric.conf input { kafka { bootstrap_servers => "192.168.0.16:9092,192.168.0.18:9092" topics => .. 더보기