Cloud + System/모니터링Tool

ELK(ElasticSearch, Logstash, Kibana) 란? ELK Stack 이란?

vell_zero 2021. 10. 11. 11:57

 

 

 

 

 

 

1. ELK 란?

 

현재 4차산업시대에서 데이터는 가장 중요한 자산중 하나로 손꼽힌다.

빅 데이터는 통상적으로 사용되는 데이터 수집, 관리 및 처리 소프트웨어의 수용 한계를 넘어서는 크기의 데이터를 말한다. 빅 데이터의 사이즈는 단일 데이터 집합의 크기가 수십 테라바이트에서 수 페타바이트에 이르며, 그 크기가 끊임없이 변화하는 것이 특징이다.

 

 

ELK는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어이다. ELK는 접근성과 용이성이 좋아 최근 가장 핫한 Log 및 데이터 분석 도구이다.

 

 

1) ElasticSearch

 

- ElasticSearch는 Lucene 기반으로 개발한 분산 검색엔진으로, Logstash를 통해 수신된 데이터를 저장소에 저장하는 역할을 담당

- 데이터를 중심부에 저장하여 예상되는 항목을 검색하고 예상치 못한 항목을 밝혀낼 수 있다.

- 정형, 비정형, 위치정보, 메트릭 등 원하는 방법으로 다양한 유형의 검색을 수행하고 결합할 수 있다.

 

 

2) Logstash

 

- 오픈소스 서버측 데이터 처리 파이프라인으로, 다양한 소스에서 동시에 데이터를 수집하고 변환하여 stash 보관소로 보낸다.

- 수집할 로그를 선정해서, 지정된 대상 서버(ElasticSearch)에 인덱싱하여 전송하는 역할을 담당하는 소프트웨어

 


3) Kibana

 

- 데이터를 시각적으로 탐색하고 실시간으로 분석 할 수 있다.

- 시각화를 담당하는 HTML + Javascript 엔진이라고 보면 된다.

 

 

 

2. ELK Stack 이란?

 


 

 

 

- ELK 솔루션에서 Beats 추가되면서 ELK Stack이라고 불린다.

 

Beats : 서버에 에이전트로 설치하여 다양한 유형의 데이터를 ElasticSearch 또는 Logstash에 전송하는 오픈 소스 데이터 발송자다.

 

https://captcha.tistory.com/44

 

1. ELK(ElasticSearch, Logstash, Kibana) 란? ELK Stack 이란?

1. ELK 란? 현재 4차산업시대에서 데이터는 가장 중요한 자산중 하나로 손꼽힌다. 빅 데이터는 통상적으로 사용되는 데이터 수집, 관리 및 처리 소프트웨어의 수용 한계를 넘어서는 크기의 데이터

captcha.tistory.com

https://techblog.woowahan.com/2659/

 

ELK 셋팅부터 알람까지 | 우아한형제들 기술블로그

{{item.name}} 안녕하세요. 저는 상품시스템팀에서 개발업무를 맡고 있는 이중석입니다. 최근 팀 내에서 로그엔트리를 ELK 로 전환하고 필요한 알람을 셋팅하는 작업을 진행했습니다. 이 과정중 알

techblog.woowahan.com

https://velog.io/@holidenty/ELK-ELK-Stack-%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C

 

[ELK] ELK Stack 이란? 소개, 정의

트렌디한 로그 수집 기술. ELK Stack.

velog.io

#    로그 수집 기술


로그 수집 기술이란 무엇일까?

나는 회사에서 일을 하기 전까지는 로그 수집에 대한 지식도, 관심도 가져본 적이 없다.

이전까지는 로그 기록에 대한 필요성도 느끼지 못했고, 그 자체도 많이 낯설었기 때문이다.
(어차피 개발하는 과정에서는 에러가 기본이기 때문이다.)

하지만 완성된 시스템을 안정적으로 운영하는 업무를 수행하다 보면, 로그 수집 기술만큼 필수적인게 없다는 생각이 든다.

만약 운영하고 있는 시스템에 장애가 발생한다면, 로그를 분석함으로써 발빠르게 대응할 수 있기 때문이다.

개발기야 프로젝트에 관계된 소수의 개발자들끼리 지지고 볶는 거지만, 운영기는 다르다.

운영기는 실제로 사용되는 서비스이기 때문에 짧은 몇분 몇초의 장애에도 정말 속이탄다.

내가 운영 업무를 진행하는 시스템에서도 이를 위해 로그 수집+모니터링 시스템만 3~4개를 사용하고 있다.

시스템이야 널리고 널렸고 회사마다 사용하는 것의 차이는 있겠지만,

어쨋든 IT 업계에서 개발 직군으로 일하게 된다면 반드시 마주치게 되고 익숙해져야 할 것이 이 로그 관련 기술이다.

이번 글에서는 그런 기술 중에서도 꽤나 트렌디하고 핫한 ELK 스택에 대해 알아보려고 한다.

 

#    ELK Stack 이란?


1.   ELK Stack의 구성 원리

ELK는 위 그림처럼 세 가지 기술로 구성된다.

  • Elasticsearch    로그 저장 및 검색
  • Logstash           로그 수집 엔진
  • Kibana               로그 시각화 및 관리

 

물론 세 모듈은 각자의 독립된 기술이기 때문에 필요에 따라 일부만 써도 된다.

하지만 서로 호환이 잘되고 합쳤을 때 시너지가 좋기 때문에 같이 구축된다.

세 기술을 같이 쓰기 때문에 Stack 이라고 부르며, 일반적으로 구성되는 형태는 다음과 같다.

  1. Data Processing (Logstash)
    • 서버 내의 로그, 웹, 메트릭 등 다양한 소스에서 데이터를 수집하여 입력
    • 데이터 변환 및 구조 구축
    • 데이터 출력 및 송신
  1. Storage (Elasticsearch)
    • 데이터 저장
    • 데이터 분석
    • 데이터 관리
  1. Visualize (Kibana)
    • Dashboard를 통한 데이터 탐색
    • 팀원들과 공유 및 협업하는데 사용 가능
    • 엑세스 제어 (Access Control) 사용 가능

 

하지만 각자의 모듈을 유연하게 대체할 수 있는 만큼, 실제 구축되는 형태는 다양하다.

2.   ELK Stack의 장점

정말 간단하게 썼지만, ELK가 뭔지에 대해서는 감은 잡혔다.

매년 쏟아져 나오는 IT 기술, 그리고 그걸 줄자 대놓고 서로 장단점 비교하는게 중요한 IT 업계.

보통 그 다음으로 궁금해하는건.. "그래서 이게 왜 좋은건데? 뭐가 다른데?" 이다.

 

  •   가격ELK는 Elastic이라는 회사에서 제공하는 오픈소스이다.
  • 별도로 AWS EC2 등의 인스턴스에 사용한다면 관련 비용이 들어가긴 하겠지만,
    ELK 자체로만은 무료이기 때문에 다른 시스템에 비해 가격적인 측면에서 장점을 가진다.
  •   접근성 & 사용성
  • ELK는 오픈소스를 내려받아 설치하는 것으로 구축이 완료된다.
    그 외의 별도의 추가적인 개발 과정이 필요없기 때문에 접근성이 뛰어나다.
    또 그 사용이 다른 유사 시스템들에 비해 쉬운 편이다.
  •   속도
  • ELK중 데이터 보관 및 분석 역할을 담당하는 Elasticsearch는 거의 실시간 (Real-Time)에 가깝게 데이터를 처리할 수 있다.
  •   유연성ELK는 각자의 기능을 담당하는 세가지의 모듈은 붙여서 만든다. 그렇기 때문에 그 기능만 담당할 수 있다면 얼마든지 모듈을 유연하게 변경할 수 있다.
    예를 들어서, 굳이 Logstash를 쓰지 않아도 데이터 수집 역할만 할 수 있다면 경우에 따라 다른걸로 대체가 가능하다.

 

3.   ELK의 변화, 최근 동향

ELK는 트렌디해 보이지만 생각보다 그 역사가 길다.

꾸준히 관심을 받으며 Elastic 회사는 ELK의 세가지 모듈을 발전시키는 것 외에도, 크게 두 가지 변화를 시도했다.

 

  •   Beats 의 도입기존의 ELK에서의 큰 문제점 중 하나는 Logstash였다.
    데이터 수집의 역할을 맡고 있는 Logstash는, 원하는 형태로의 데이터 입출력 변환 기능까지 맡고 있었기 때문에 그 오버헤드가 컸다.
  • Beats는 한 가지를 이르는 말이 아니며 위와 같이 수집하고자 하는 데이터의 유형별로 다른 모듈이 존재한다.

  • 많은 사용자들의 요구사항을 받아들인 Elastic 회사는, 오로지 데이터의 수집만을 담당하는 경량화된 모듈 Beats를 도입했다.
  •   Cloud 기반의 Elasticsearch 도입큰 규모의 회사들은 기존 On-Premise 기반의 서비스들을 클라우드 기반으로 마이그레이션하기 위해 발빠르게 움직이고 있다.ELK 또한 이런 흐름에 맞게 Cloud 기반의 Elasticsearch를 도입했다.
  • 최근 IT 업계에서 제일 핫한 분야는 아무래도 클라우드가 아니지 싶다.

지금까지 로그수집 및 모니터링 기술인 ELK에 대해 간단히 알아봤다.

다음 글에서는 그 ELK를 직접 구축하는 과정에 대해서 알아본다.

'Cloud + System > 모니터링Tool' 카테고리의 다른 글

AWS - CloudWatch란?  (0) 2021.11.13
메트릭이란?  (0) 2021.11.13
log4j 로그레벨  (0) 2021.11.13
프로메테우스(Prometheus)  (0) 2021.11.13