본문 바로가기

Monitoring/Elastic Stack(Elastic Search)

Elastic Stack(Beats, Logstash, ElasticSearch, Kibana)

Elastic Stack 이란?


Elastic Stack이라는 용어를 최근에 들어서 많이 쓰고 있습니다.


그전까지는 ELK(Elasticsearch + Logstash + Kibana) 이런식으로 많이 썼었죠.

Elasticsearch는 기존까지 검색엔진으로 많이 썼지만 monitoring쪽에서 생각하면 InfluxDB와 비슷하게 데이터 저장소로 생각 할 수 있습니다.

https://www.elastic.co/guide/en/beats/libbeat/current/beats-reference.html


ElasticStack을 Beats overview에서 따오면 이렇습니다.

Beats와 Logstash가 데이터를 그대로 배달하거나 변형을 시켜서 Elasticsearch에 넣고 Kibana로 시각화 한다.

어디서 많이 본 그림인것 같죠?


이전에 TICK Stack을 보셨다면 거의 유사한 기능을 Elastic Stack이 하고 있다는 것을 알 수 있습니다.

다만 elasticsearch가 검색엔진에 좀 더 익숙하고, string 형을 보여줄 수 있다는게 TICK Stack과는 다른점이라고 할 수 있습니다.


좀 더 자세히 들여다 볼까요?


https://www.elastic.co/kr/products



Elastic Stack은 TICK Stack과는 다르게 한국에서 솔루션을 담당하시는 분들이 계십니다. 그렇기 때문에 사이트가 한글화가 잘되어 있기도 하죠.

위와 같은 설명을 제가 변역을 하지 않아도 잘 나와 있습니다.

저는 Database Engineer이기 때문에 Elastic Stack에 대해 깊숙하게 들어가진 않겠지만 그래도 최소한으로 들어가려합니다.

다만 Beats나 Logstash를 쓸일이 거의 없을 수도 있습니다.


그 이유는 제가 테스트하려고 하는 환경이 IDC가 아니라 AWS 환경이라서인데요.

AWS에서 slow query나 error log를 File 단위로 저장을 하게 되면 Logstash를 쓸수가 없습니다. 파일을 계속 받아서 스트리밍시킬일이 없으니까요.

실시간 Processlist를 Losgstash로 받는다? 이 또한 문제가 있을 수 있습니다.


앞으로 해당 카테고리에서 적을 것은 DBA의 입장에서 봤을때 Elastic Stack의 활용도 정도가 될 것 같습니다.


검색 엔진이나 X Pack을 이용한 Graph, Alert, Machine Learning을 기대하신다면 실망감을 좀 안겨드릴수도 있겠네요 ㅎㅎ