ELK

Elasticsearch, 그리고 ELK 스택

square_man_tile 2021. 1. 27. 12:40
728x90
반응형

Elasticsearch가 무엇인고 하니..

저한테는 빠른 데이터베이스 정도로 느껴지네요.

아직 깊이있게 연구해보지 않아서겠죠?

다들 좋다고 하는 이유가 분명히 있을거에요.

www.elastic.co/kr/elasticsearch/

 

Elasticsearch: 공식 분산형 검색 분석 엔진 | Elastic

Elasticsearch를 처음 사용하시나요? 바로 실행하실 수 있습니다. 동영상 보기 Elasticsearch 엔지니어링 트레이닝을 통해 Elasticsearch 작업의 강력한 기반을 마련하세요. 트레이닝 보기 관련성, 텍스트

www.elastic.co

 

하지만 데이터베이스라고 생각했던것과는 다르게 Elasticsearch는 용어부터가 다릅니다.

Index, Shard, Replica, GET, PUT, DELETE 등 일반적인 데이터베이스와 기능은 유사하거나 같지만 이름이 달라요.

 

Index : 일반적인 데이터베이스의 '테이블' 이라고 보시면 되겠습니다. 이 Index에 데이터를 적재하고, Index안에 저장되어있는 데이터를 색인하는거죠.

이 Index는 우리가 사용하기 편하게 Index Pattern을 만들 수 있습니다. 입맛에 맞는 mapping, setting을 할 수 있습니다.

Shard, Replica : 왜 두개를 묶었는고 하니, 저처럼 아직 깊이있는 연구를 하지 않은 입장에서는 둘이 비슷해보여서입니다. 둘 다 원본 데이터의 복제본이라고 합니다.

조금 더 깊게 들어가자면, Elasticsearch는 기본적으로 클러스터 구성여미, 이 클러스터는 여러개의 노드로 구성 될 수 있습니다. 하나의 클러스터에 세개의 노드가 존재한다고 가정했을 때, Elasticsearch에 데이터 A, B, C가 들어오면 노드 1에는 원본 A, B의 shard, C의 shard, 그리고 노드 2에는 A의 shard, B의 원본, C의 shard, 마지막 노드 3에는 A의 shard, B의 shard, C의 원본이 들어가게 됩니다.

이런식으로 백업을 위한 데이터를 복제해두는거죠.

단점이라고 한다면, 용량도 세배가 들어간다는것..?

그리고 이렇게 노드를 3개 사용하려면, 도커를 이용하거나 실제 서버가 3대 있어야 한다는것..

 

GET : 데이터베이스의 SELECT와 같습니다.

PUT : 데이터베이스의 UPDATE

DELETE : 데이터베이스의 DELETE

 

정말 간단하게 보면 이렇게지만, 뭐.. 이러저러한 다양한 기능들이 있다. 정도만 이해하고 넘어가겠습니다.

 

ELK 스택

Elasticsearch 자체를 NoSQL처럼 사용하는 경우도 더러 있지만,

ELK 스택으로 이용하는 경우가 더 많은듯 합니다.

ELK 스택이란,

Elasticsearch, Logstash, Kibana 를 말합니다.

Elasticsearch는 위에서 설명했고,

Logstash는 데이터 전처리기 라고 이해하시면 쉽습니다.

www.elastic.co/kr/logstash

 

Logstash: 로그 수집, 구문 분석, 변환 | Elastic

Logstash를 처음 사용하시나요? 바로 실행하실 수 있습니다. 동영상 보기 Logstash를 이용하여 CSV 파일을 구문 분석하고 Elasticsearch로 수집하는 방법을 알아보세요. 동영상 보기 Elastic 공인 엔지니어

www.elastic.co

이런식으로, 클라이언트로부터 데이터를 입력받은 후 filter 등 전처리 과정을 거쳐

Elasticsearch에 적재, 단순 로그출력, 파일로 저장, 메일 전송 등 다양한 방식의 output을 할 수 있는 솔루션입니다.

플러그인같은 경우, jdbc 플러그인을 통해 데이터베이스에 접근하여 데이터베이스 정보를 쿼리 할 수도 있습니다.

플러그인 종류는 어마어마하게 많아서 정말  활용하기 편합니다.

www.elastic.co/guide/en/logstash/current/input-plugins.html

 

Input plugins | Logstash Reference [7.10] | Elastic

 

www.elastic.co

 

ELK 스택의 마지막, Kibana입니다.

Kibana는 시각화 툴 이라고 보시면 되겠습니다.

Elasticsearch에 적재된 데이터를 사람이 보기 편하게 차트로 보여주는 웹 기반의 툴 입니다.

www.elastic.co/kr/kibana

 

Kibana: 데이터 탐색, 시각화, 발견 | Elastic

Kibana를 처음 사용하시나요? 여기에 Kibana를 시작하기 위해 알아야 할 모든 것이 있습니다. 동영상 보기 Kibana를 사용해 데이터 분석의 핵심 개념을 알아보세요. 자세히 보기 Kibana가 제공하는 모든

www.elastic.co

키바나 시각화 예시 - 구글검색

 

kibana visualize - Google 검색

Kibana: Explore, Visualize,... elastic.co

www.google.com

Kibana는 Elasticsearch에 적재되어있는 인덱스를 색인하여 확인하고, API를 이용한 다양한 작업을 쉽게 할 수 있도록 도와줍니다.

또한 Elasticsearch의 클러스터와 노드 관리, 라이센스 관리까지 클릭 몇 번으로 가능하게 해줍니다.

사용자별 계정과 대시보드를 구성 할 수 있도록 도와줍니다.

하지만 웹 기반의 툴이기때문에 시각화 데이터를 화면에 표시해주는 시간은 PC의 사양에 따른다는게....

 

Elasticsearch, Logstash, Kibana로 구성된 ELK 스택 말고도,

Beats라는 친구가 있는데 이건 다음 포스팅에서 다루겠습니다.

 

깊지 않아 쉽게 보는 정보.

728x90
반응형
LIST