Elastic Stack

손은영·2022년 3월 4일
1

Elastic

목록 보기
1/2
post-thumbnail

Elastic Stack 알아보기

엘라스틱 스택은 데이터 수집, 가공, 저장, 분석, 시각화에 필요한 모든 소프트웨어를 갖추고 있다.
Beats와 Logstash는 데이터를 수집하고 가공하는 역할
Elasticsearch는 저장하고 분석하는 역할
Kibana는 데이터를 시각화하고 모니터링하는 역할을 수행한다.

이제 하나씩 살펴보자



Elasticsearch

Elasticsearch의 검색 엔진은 우리가 흔히 아는 구글이나 네이버 같은 포털 서비스와는 다르다.
검색 엔진은 내부적으로 각 document를 indexing하고 빠르게 검색하는 데 사용하는 기술이다. 이 검색 엔진을 이용해 서비스를 만들게 되는 것이다.

Elasticsearch는 모든 레코드를 json 형태로 입력하고 관리하고 있으며
우리가 흔히 알고 있는 데이터베이스와 마찬가지로 쿼리한 결과에 대해 일치하는 원본을 반환한다. text나 document의 경우 indexing을 할 때 분석을 거쳐 용어 단위로 분해되고 역인덱스 사전을 만들게 된다.

Elasticsearch는 검색한 것에 대한 유사도 스코어를 기반으로 정렬하기 때문에 다른 NoSQL보다 검색 기능과 성능이 뛰어나다.


Kibana

Kibana는 시각화와 Elasticsearch에 대한 대부분의 관리 도구로 사용된다.
시각화 대시보드가 Kibana에서 가장 중요한 기능이지 않을까 생각이 든다.
Kibana Dashboard



Logstash

데이터를 수집하고 가공하는 역할을 하는 Logstash.
필터 기능을 사용해 비정형 데이터도 분석하기 쉬운 형태로 정제할 수 있다.
다양한 소스로부터 로그를 수집하여 Elasticsearch 외에도 많은 플랫폼으로 데이터를 정제된 데이터를 내보낼 수 있다.


Beats

호스트에 수집기를 설치해야 하는 경우 이 Beats 수집기를 사용한다.
Beats는 특성과 성격에 맞게 다양한 비트들을 가지고 있다. 각 비트는 로그 수집, 시스템 지표 수집 등 특정 목적에 최적화 되어 있고, 고 프로그래밍 언어(Golang)로 작성되었다.

Beats에서 각 서비스 호스트의 정보를 수집하고, 수집한 정보를 Logstash에서 취합하고 가공하여 Elasticsearch로 전송하는 형태의 아키텍쳐가 많이 사용된다.

profile
정글에서 살아남기

0개의 댓글