Deperecated/Software

ELK란?

누알라리 2020. 1. 17. 00:38

동기 단톡방에서 오빠들이 가끔 하는 일 얘기를 보면 정말 뭔소린지 1도 모를 때가 많다.

ELK가 뭔지정도는 알고있으면 좋다는 말에 이 기회에 알아봄 :-)


ELK

 

1. Elasticsearch

종류 설명
정의 아파치 라이선스 조항에 의거하여 Java 오픈소스로 출시된 루씬 기반의 분산형 검색 및 분석 엔진.
사용처 앱&웹&엔터프라이즈 검색, 로깅&로그 분석, 인프라&성능 모니터링, 위치기반 정보 시각화, 보안&비즈니스 분석
작동법

1) 로그, 시스템 메트릭, 웹 앱 등 다양한 소스로부터 원시 데이터가 ElasticSearch로 들어감.

2) 데이터 수집은 원시데이터가 ElasticSearch에 색인되기 전 구문 분석&정규화&강화되는 프로세스

 

3) 색인 후, 사용자는 이 데이터에 대해 복잡한 쿼리를 실행할 수 있고 집계를 사용해 검색할 수 있다.

 

4) Kibana에서 사용자는 데이터 시각화, 대시보드 공유, Elastic Stack을 관리할 수 있다.

인덱스란?

서로 관련되어있는 문서들의 모음.

ElasticSearch는 JSON 문서로 데이터를 저장한다.

각 문서는 일련의 키(필드, 속성)과 그에 해당하는 값(문자열, 숫자 등)을 연결한다.

 

인덱싱 중에, 문서를 저장하고 "반전된 인덱스(?) 데이터 구조를 구축하여 실시간으로 문서를 검색 가능한 데이터로 만든다.

인덱스 API를 사용해 인덱싱이 시작되고, 이를 통해 사용자는 특정 인덱스에서 JSON 문서를 추가하거나 업데이트할 수 있다.

특징

1) 빠름

루씬 기반으로 구축되기 때문에 전체 텍스트 검색에 뛰어나기 때문에 보안 분석, 인프라 모니터링 같은 시간이 중요한 사례에 이상적

 

2) 분산성

Elasticsearch에 저장되된 문서는 "샤드"라고 하는 여러 다른 컨테이너에 걸쳐 분산되며, 이 샤드는 복제되어 하드웨어 장애 시에 중복되는 데이터 사본을 제공한다. 따라서 수백개의 서버까지 확장하고 페타바이트의 데이터를 처리할 수 있게 한다.

 

3) 광범위성

 

4) 데이터 수집, 시각화, 보고를 간소화한다.

Beats + Logstash의 통합을 통해 인덱싱 전 데이터를 훨씬 더 쉽게 처리하게 한다.

Kibana는 Elasticsearch 데이터의 실시간 시각화, UI를 통한 앱 성능 모니터링(APM), 로그, 인프라 메트릭 데이터에 신속하게 접근할 수 있게 한다.

JSON