본문 바로가기

공부

Elastic stack 구성

728x90

Elastic Stack 이란?

Elastic Stack 

 

Elastic Stack은 Elasticsearch(검색엔진, 저장), kibana(시각화), Logstash 및 Beats(로그수집)을 포함한다. Elastic Stack을 사용하면 데이터 위치 소스와 포맷에 관계 없이 모든 데이터를 실시간으로 검색, 분석 및 시각화가 가능하다

 

1. Elastic Search

일래스틱서치는 일래스틱 스택의 중심부에서 검색과 분석 엔진이라는 중요한 임무를 수행하게 된다. 

일래스틱 서치의 특징을 알아보자.

 

특징 1. 스키마리스 및 도큐먼트 지향 

일래스틱 서치는 엄격한 데이터 구조를 요구하지 않기 때문에 어떠한 JSON 도큐먼트도 저장할 수 있다. JSON 도큐먼트는 관계형 데이터베이스 에서는 행과 열로 사용하며 테이블의 레코드와 거의 같다고 볼 수 있다. 관계형 데이터베이스 의 경우 데이터 타입, 크기, 고정된 열을 지정하기 위한 스키마를 정의 하게 된다.

하지만 데이터들이 똑같은 형식을 가지지 않고 동적인 열이 필요 할 때가 있다. JSON 도큐먼트는 이러한 데이터 타입을 지원한다. 

 

특징 2. 검색 

일래스틱서치의 핵심 강점은 텍스트 처리 기능 이다. 

 

관계형 데이터 베이스의 경우 String 열을 조회하는 단순한 SQL 쿼리는 Where 절과 동등을 의미하는 "=" 혹은 LIKE절을 이용하여 데이터가 정확히 일치하거나 문자열 일부분이 일치하는지 확인할 뿐이다 

 

일라스틱 스택은 불규칙한 구조를 가진 어떤 텍스트라도 색인을 생성한 후 특정 검색어로 모든 도큐먼트를 검색할 수 있다. 또한 텍스트 데이터 뿐만 아니라 숫자, 날짜, 위치 , IP 주소 등 다양한 데이터 타입을 제공한다. 그래서 구글검색과 비슷한 무척 빠르고 유연한 검색기능을 애플리케이션에 도입할 수 있다. 

 

특징 3. 분석

일래스틱서치의 분석기능은 엄청난 양의 데이터에서 필요한 사항만 정확하게 확인할 수 있게 된다. 웹사이트 방문자 중 다른 나라와 비교해 미국에서만 방문하는 사용자 수를 알고 싶거나 웹사이트 방문자가 사용하는 맥 OS , 윈도우, 리눅스 사용 여부를 알고 싶을 때 유용하다. 

 

특징 4. 풍부한 클라이언트 라이브러리와 REST API 지원

20개 이상의 프로그래밍 언어에서 사용할 수 있는 라이브러리를 지원한다. REST API 의 모든 연산을 HTTP에 활용할 수 있다. 

 

특징 5. 운영 및 확장 용이 

하나의 노드에서 수백개의 노드로 확장이 가능하다. 수평적으로 확장이 가능하며 비싼 서버 한대에서 실행하기 보단 수십 수백개 상용노드에서 실행할 수 있다. 클러스터에 노드를 추가하는 일은 추가 구성이 거의 필요없이 같은 네트워크에서 새로운 노드를 시작하기 만 하면된다.

 

특징 6. 거의 실시간/신속성/결함 허용성

- 데이터는 저장 및 색인 후에 1초 이내에 쿼리를 통해 이용할 수 있다. 

- 도큐먼트의 모든 필드에 대해 색인을 생성하며 어떤 필드든 검색할 수 있어 유용하다. 

- 노드 장애가 발생하면 모든 데이터를 클러스터의 다른 노드로 복제한다. 네트워크 장애 시에도 마스터의 복제본을 사용해 클러스터를

게속 실행할 수 있다.

 

2. Logstash

 

로그스태시는 로그 매트릭 또는 다른 형식의 이벤트 데이터를 한 곳으로 모으는 데 사용한다. 데이터를 보내기 전에 여러 방법으로 가공할 수 있으며 핵심 구성요소로 데이터 파이프라인에서 데이터 수집 및 변환 처리를 담당한다. 

 

일반적으로 Elastic Search에 데이터를 보내게 되지만 더 다양한 곳으로 보낼 수 있다. Logstash 는 입력 필터 출력이라는 세가지 타입 플러그인을 지원하고 200개 이상의 플로그인을 지원하며 증가하고 있다.

 

Logstash는 확장할 수 있고 실시간 데이터 파이프라인을 구축하는데 유용한 범용 데이터 흐름 엔진이다. 

 

3. 비트

 

비트는 단말장치의 데이터(서버측에서 동작하는 플랫폼)를 Logstash 와 Elasticsearch로 전송하는 가벼운 데이터 수집기 플랫폼입니다. Logstash 처럼 데이터 수집을 하는 기능이 있다. 

 

4. 키바나 

 

키바나는 데이터를 시각화하고 Elastic Stack 의 모든 기능을 구성 및 관리할 수 있는 확장형 UI 도구 이다.

 

5. X Pack

 

엑스팩은 일래스틱 스택을 운영 환경에서 사용할 수 있도록 필수 기능인 보안, 모니터링, 알림, 보고서, 그래프 기능을 지원한다. 

 

 

출처: 엘라스틱 스택 6 입문 (파라나브 슈클라 , 시랏 쿠마 지음)

 

'공부' 카테고리의 다른 글

ORM 이란?  (0) 2020.10.21
백앤드 개발자 로드맵  (0) 2020.10.18
웹서버 - Reverse Proxy란  (0) 2020.09.11
My SQL - pymysql cursor 개념  (1) 2020.09.08
Github 사용법에 대해서  (0) 2020.09.06