I got IT

ELK 스택이란 ? 본문

DevOps

ELK 스택이란 ?

joshhoxy 2023. 5. 13. 10:58

모니터링은 데브옵스 환경에서 핵심 요소 중 하나입니다.

모니터링을 구축하기 위한 방법에는 여러가지가 있지만 최근에 많은 곳에서 사용되는 오픈소스 ELK 를 활용한 모니터링 환경 구축에 대해서 알아보도록 하겠습니다.

 

ELK 스택은 Elasticsearch, Logstash 및 Kibana의 약어로서, 로그 데이터를 수집, 저장, 검색 및 시각화하는 데 사용되는 오픈 소스 플랫폼입니다.

보통 Elasticsearch, Logstash, Kibana 를 함께 사용하기 때문에 이와 같은 구성 세트를 stack 이라고 부르곤 합니다. 

각 프로그램은 서로 다른 역할을 하며 유기적으로 연결 가능합니다.

 

Elasticserach

 

Elasticsearch는 분산 검색 및 분석 엔진으로, 대량의 데이터를 신속하게 검색하고 분석할 수 있습니다. Elasticsearch는 Lucene 기반으로 구축되어 있으며, 데이터를 색인화하여 검색 가능한 인덱스로 저장합니다.

 

Logstash

Logstash는 다양한 소스에서 로그 데이터를 수집하고 필터링하고 변환하여 Elasticsearch로 전송합니다. 로그 데이터는 다양한 소스 및 형식으로 생성될 수 있으므로 Logstash를 사용하면 데이터를 일관된 형식으로 변환하여 Elasticsearch에서 쉽게 색인화할 수 있습니다.

 

Kibana

Kibana는 Elasticsearch에서 저장된 데이터를 시각화하고 대화식 대시보드를 만들 수 있는 웹 인터페이스입니다. Kibana를 사용하면 데이터를 시각적으로 탐색하고 쿼리를 수행하여 Elasticsearch에서 저장된 데이터를 검색할 수 있습니다. 또한 Kibana를 사용하면 데이터 시각화, 대시보드 및 보고서를 쉽게 만들 수 있습니다.

 

ELK Stack

즉 정리하자면, 서버에서 로그를 수집하여 Logstash 에서 필터링 및 전처리를 하고 이를 Elasticsearch로 넘겨줍니다. Elasticsearch 는 이러한 데이터를 가지고 색인화 작업을 하여 검색에 최적화된 형태로 변환합니다. Kibana는 Elasticsearch로 부터 받은 데이터를 시각화하여 데이터를 실시간으로 확인할 수 있습니다.

이렇게 ELK 스택의 각 요소는 유기적으로 연결되어 일련의 작업흐름을 형성합니다. 그래서 때로 ELK 파이프라인 이라고도 불리웁니다.

 

이 때, Beats라는 경량화된 로그 수집기를 사용하면 로그를 더 효율적이고 빠르게 수집할 수 있습니다.  

Beats는 실시간으로 데이터를 수집하고 처리하여 데이터를 검색 가능한 인덱스로 저장할 수 있습니다. Beats는 Elasticsearch와 함께 사용하기 위해 Elastic에서 개발되었으며, Elastic 스택의 일부입니다.

 

ELK 파이프라인에 Beats를 추가한 형태입니다.

Beats는 다양한 로그 형식을 지원해 복잡한 cron이나 logrotate를 사용하지 않아도 편리하게 로그 수집을 도와줍니다.

 

 

'DevOps' 카테고리의 다른 글

Telemetry 란?  (0) 2023.06.22
DevOps 처음 이라면  (0) 2023.06.16
DevOps 엔지니어의 역할  (1) 2023.05.09
DevOps란 ?  (0) 2023.05.08