티스토리 뷰

 이전까지는 ELK 스택이 검색엔진을 만들기 위해 쓰는 스택인줄 알았다. 하지만 새로운 환경에서 업무를 진행하게되는 상황이 생겼다. 여기의 Data Pipeline은 스크립트를 통해 고객 행동을 Logstash를 통해 수집하고 log를 적재한다. 그리고  그 로그를 kafka를 통해 Elasticsearch Cluster에 저장한다. 그 저장한 Elasticsearch 에 저장된 데이터를 Hadoop에 백업 하여 데이터 분석을 하는 로직으로 구성이된다. 

이런 상황에서 ELK스택에 대한 학습이 필수적이다고 생각하여 ELK 스택에 대해서 공부하기로 하였다. 검색엔진이 아닌 빅데이터 플랫폼에서 사용하는 것을 기준으로 학습을 하려 한다. 어떤점에서 ELK가 쓰이는지, 왜 써야되는지 다른 대안이 있다면 무엇인지 알아보면서 차차 공부해 나가야겠다.


# 엘라스틱 서치란?

 ELK 스택은 Elasticsearch, Logstash, Kibana의 세 가지 인기 있는 프로젝트로 구성된 스택을 의미하는 약어입니다. Elasticsearch라고도 불리는 ELK 스택은 사용자에게 모든 시스템과 애플리케이션에서 로그를 집계하고 이를 분석하며 애플리케이션과 인프라 모니터링 시각화를 생성하여 문제해결을 빨리 할 수 있도록 한다.

 

Elasticsearch는 검색 및 분석 엔진이다. JSON 기반의 분산형 오픈 소스 RESTful 검색 엔진이다.

  • 데이터 저장
  • 데이터 분석
  • 데이터 관리

Logstash는 여러 소스에서 동시에 데이터를 수집하여 변환한 후 Elasticsearch 같은 “stash”로 전송하는 서버 사이드 데이터 처리 파이프라인이다.

  • 서버 내의 로그, 웹, 메트릭 등 다양한 소스에서 데이터를 수집하여 입력
  • 데이터 변환 및 구조 구축
  • 데이터 출력 및 송신

Kibana는 사용자가 Elasticsearch에서 차트와 그래프를 이용해 데이터를 시각화 해준다.

  • Dashboard를 통한 데이터 탐색
  • 팀원들과 공유 및 협업하는데 사용 가능
  • 엑세스 제어 (Access Control) 사용 가능

검색엔진으로 사용되던 Elasticsearch가 사용자가 로그를 위해 사용하기 시작했고, 이를 손쉽게 수집하고 시각하기 위해 Logstash와 유연한 시각화 도구인 Kibana가 도입되었다. 

추후 데이터의 수집만을 담당하는 경량화된 모듈 Beats를 도입했다.


REF.

 

ELK Stack: Elasticsearch의 개발자들이 제공합니다

ELK Stack이란 무엇인가요? ELK Stack은 널리 알려진 세 개의 오픈 소스 프로젝트인 E=Elasticsearch(Lucene 기반), L=Logstash, K=Kibana의 머리글자를 합친 것입니다. Beats가 추가되어 이제 ELK Stack을 Elastic Stack이

www.elastic.co