[용어소개] ELK Stack

  • cloudnativelab
    (클라우드네이티브랩)
  • cloudnativelab's Avatar 이 글의 작성자
  • Offline
  • Newbie
  • Newbie
더보기
01 Mar 2021 23:31 - 20 Dec 2021 17:05 #5206 작성자: cloudnativelab
cloudnativelab 님의 글: [용어소개] ELK Stack
ELK Stack

LG CNS 클라우드운영혁신팀



지난 글에서 분산 로그를 효과적으로 검색할 수 있는 ElasticSearch(이하 ES)를 소개하였습니다. ES는 수집된 데이터의 저장소 역할을 하면서 검색 및 분석 기능을 제공합니다. 그렇지만 누군가는 ES에 저장할 데이터를 수집해야 합니다. 또 저장된 로그를 사용자 요구에 맞게 시각화하는 작업도 필요합니다. 물론 솔루션이 있습니다. “ES와 친구들“인 ELK Stack을 소개합니다.

ELK Stack은 ElasticSearch + LogStash + Kibana의 조합입니다. LogStash는 서버에서 생성된 각종 로그를 수집, 변환하여 ES에 전송하는 역할을 하는 서버 데몬입니다. 파일, syslog 등에서 수집한 정보를 ES 서버나 statsd 등에 전송합니다.

LogStash가 아닌 Fluentd가 사용되는 경우도 많습니다. Fluentd는 CNCF(클라우드 네이티브 컴퓨팅 재단) 하위 프로젝트라는 점에서 알 수 있듯이 쿠버네티스 생태계에서 널리 사용됩니다. 아직은 LogStash가 보편화된 ELK 스택의 일부이기 때문에 좀 더 선호되지만 둘 간에 기능이나 성능의 큰 차이점은 없습니다. Fluentd를 사용할 경우 ELK가 아닌 EFK Stack으로 불립니다.

ES는 RESTful 속성과 JSON 방식의 통신을 지원하기 때문에 이를 기반으로 한 다양한 시각화 도구가 존재합니다. 이중 가장 대표적인 도구는 Kibana입니다. Kibana의 내부 구성요소로는 인덱스된 소스 데이터의 검색을 위한 Discover, 조회된 데이터의 통계를 차트화하는 Visualize, 차트들을 모아 대시보드를 만들고 관리하기 위한 Dashboard 등이 있습니다.

AWS는 관리형 서비스로 제공되는 ES를 사용할 경우 Kibana 콘솔을 제공합니다. 또 GCP의 GKE는 Fluentd를 기본 로그 수집기로 사용합니다. 정리하자면 ELK/EFK Stack은 분산 환경에서 로그를 분석, 시각화하기 위한 사실상의 표준이며 특히 쿠버네티스 환경의 필수 도구로 사용되고 있습니다.

[무단전재 및 재배포 금지]
Time to create page: 0.055 seconds
Powered by Kunena Forum