project

ELK Stack --1

rubberduck 2020. 1. 15. 22:51

빅데이터를 다루기위한 방안으로 대두되는 것이, ELK Stack이다. 'ELK'란, Elasticsearch, Logstash, Kibana, 이 세 오픈 소스 프로젝트의 머리글자를 따 만들어진 단어이다. 

 

  • E의 'Elasticsearch'란, JSON 기반의 분산형 오픈소스 RESTful 검색 엔진으로, 텍스트, 숫자, 위치 기반 정보, 정형/비정형 데이터 등 모든 유형의 데이터를 위한 분산형 오픈 소스 검색에 이용된다. Elasticsearch는 Apache Lucene(자바 언어로 이루어진 정보 검색 라이브러리 오픈소스 소프트웨어. 아파치 소프트웨어 재단에 의해 지원됨)을 기반으로 구축된다. 

Elasticseach의 용례는 다음과 같다.

  • 애플리케이션 / 웹사이트 / 엔터프라이즈 검색
  • 로깅&로그 / 보안 / 비즈니스 분석
  • 인프라 메트릭 / 컨테이너 / 애플리케이션 성능 모니터링
  • 위치 기반 정보 데이터 분석 & 시각화

Elasticsearch의 장점은 아래와 같다.

  1. Lucene을 기반으로 구축되기 때문에, 거의 실시간 검색 플랫폼일 정도로 빠르다. 문서가 색인될 때부터 검색 가능해질 때까지의 대기 시간이 아주 짧기 때문에, 전체 텍스트 검색에 뛰어나다. 때문에 보안 분석, 인프라 모니터링같은, 시간이 중요한 용례에 알맞다. 
  2. Elasticsearch에 저장된 문서는 '샤드'라고 불리는 여러 다른 컨테이너에 걸쳐 분산되고, 이 '샤드'는 복제되어 하드웨어 장애 시 중복되는 데이터 사본을 제공한다. 이 분산적인 특징은 수많은 서버까지 확장할 수 있으며, 대량의 데이터 처리를 가능하게 한다.
  3. 데이터 롤업, 색인 수명 주기 관리와 같은, 데이터를 훨씬 더 효율적으로 저장하고 검색할 수 있게 해주는 기능이 함께 탑재되어 있다. 

 

  • L의 'Logstash'란, 실시간 파이프라인(pipeline: 한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 구조) 기능을 가진 오픈소스 데이터 수집 엔진이다. 서로 다른 소스의 데이터를 탄력적으로 통합하고 사용자가 선택한 목적지로 데이터를 정규화할 수 있다. 

아래의 상황에서 Logstash를 이용할 수 있다.

1. 로그와 메트릭

  •  다양한 웹 로그(ex. Apache) 및 애플리케이션 로그 수집
  • Windows 이벤트 로그, FW 로그 등 다양한 로그 형식 수집
  • Filebeat와 연계하여 보충적인 보안 로그 전달 기능 활용 가능 *TCP와 UDP를 통해 여러 인프라 및 애플리케이션 플랫폼의 메트릭 수집

2. 웹

  • HTTP 요청을 이벤트로 변환
  • HTTP 엔드포인트 폴링으로 이벤트 생성

3. 데이터 저장소와 스트림

  • JDBC 인터페이스를 통해 관련 DB 또는 NoSQL 저장소의 데이터를 더 정확히 이해
  • 메시징 큐가 제공하는 각종 데이터 스트림 통합

4. 센서와 IoT

  • IoT에 연결된 센서로부터 데이터 수집

 

  • K의 'Kibana'란,  Elasticsearch와 함께 사용하도록 설계된 오픈소스 분석 및 시각화 플랫폼이다. Kibana를 사용하여 Elasticsearch 인덱스에 저장된 데이터를 검색하고, 상호 작용을 수행할 수 있다. 다양한 차트, 테이블, 지도의 형태로 데이터를 시각화하는 서비스가 제공된다. 

2015년, ELK Stack에 파일을 추적할 수 있는, 경량의 단일 목적 데이터 수집기 제품군을 도입했고, 이를 Beats라 한다. 

 

 

참조

https://www.elastic.co/kr/what-is/elk-stack
https://www.elastic.co/kr/what-is/elasticsearch
https://ko.wikipedia.org/wiki/%EB%A3%A8%EC%94%AC
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
https://www.elastic.co/guide/kr/logstash/current/introduction.html
https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8_(%EC%BB%B4%ED%93%A8%ED%8C%85)
https://www.elastic.co/kr/products/kibana