쿠버네티스를 완벽하게 이해하고 있지는 않지만, 점점 익숙해지는 과정에서 자연스럽게 모니터링의 필요성을 느끼게 되었다.
백엔드 서비스를 운영하다 보면 "현재 서비스가 정상적으로 동작하고 있는가?", "어떤 요청이 많고, 장애가 발생했을 때 원인을 어떻게 찾을 수 있을까?" 같은 고민이 생기기 마련이다.
이를 해결하기 위해 쿠버네티스 환경에서 ELK Stack을 구축하여 BE 서비스의 로그를 효율적으로 모니터링하는 방법을 직접 경험해보기로 했다.
이번 글에서는 Kubernetes에서 ELK Stack을 배포하고, 로그를 수집 및 분석하는 과정을 정리해보려고 한다.
ELK Stack VS Grafana
ELK 와 Grafana 둘 다 모니터링 도구이지만 각각의 사용 용도는 조금 다르다.
ELK
로그 수집 및 분석에 특화된 솔루션으로, 서비스에서 발생한 오류나 장애 원인을 추적하기에 적합하다.
Grafana
CPU, 메모리, 트래픽 등 메트릭 기반 모니터링에 특화된 솔루션으로, 시스템의 상태나 성능 모니터링에 적합하다.
이번에는 주로 내가 개발해왔던 백엔드(Spring Boot) 서비스의 로그를 수집하고 분석하는 것이 목적이기 때문에 ELK Stack을 선택하게 되었다.
실제 설계 및 설치에 들어가기에 앞서서 각각이 어떤 기능들을 하며, 어떤 서비스를 제공하는지 잠깐 알아보고 넘어가자.
ELK 란?

Elasticsearch + Logstash + Kibana 를 합친 스택으로,
데이터 수집, 저장, 검색, 시각화에 탁월한 성능을 발휘하는 강력한 툴셋이다.
Elasticsearch 란?
Apache Lucene 기반의 분산형 NoSQL 검색 엔진으로, 대용량의 비정형 데이터(로그, 문서, 메트릭 등)를 빠르게 검색하고 분석할 수 있다.
기본적으로 JSON 기반의 문서(Document) 저장 구조 를 사용하며, 데이터를 저장할 때 자동으로 인덱싱하고 역색인(Inverted Index) 방식을 통해 빠르게 검색한다.
Index와 Document
- Index : 데이터를 저장하고 관리하는 논리적 단위

- Document : 인덱스에 저장되는 개별 데이터 단위(Json 형식)
- 역색인(Inverted Index) : 문서에서 키워드를 추출해 빠르게 검색 가능하도록 구성
전체적인 구조는 아래와 같다.

Logstash 란?
다양한 소스에서 데이터를 수집하고 필터링한 후 Elasticsearch로 전송하는 데이터 파이프라인 도구이다.
주요 기능
- input
- 파일, DB, Kafka 등으로부터 로그 수집
- filter
- 수집된 데이터를 전처리 하는 구간
- output
- 전처리 된 데이터를 Elasticsearch, File 등으로 전송
Kibana 란?
Elasticsearch에서 수집된 데이터를 시각화하고 대시보드로 구성해주는 도구이다.
주요 기능
- 데이터 시각화
- 시간별, 카테고리별 데이터 시각화
- 대시보드 생성
- 실시간 모니터링을 위한 대시보드
- 검색 및 분석
- 특정 패턴이나 오류를 분석하기 위한
맺음말
각각의 기능들을 상세하게 설명하기에는 글이 너무 길어져서 여기서 마무리를 진행하며, 상세한 설명이나 내용들은 설치 및 테스트를 진행하면서 작성해 나갈 예정이다. (혹은 추가적인 글로 작성하게 될지도..?)
참고로 해당 서비스들은 공식 문서에 다양하게 작성되어있으니 참조하면 될 것 같다.
Refs
elasticsearch 공식 문서 : https://esbook.kimjmin.net/
Elastic 가이드 북 | Elastic 가이드북
이 가이드북은 출판을 위해 집필중이던 내용을 Elastic을 처음 시작하시는 분들께 도움이 되고 커뮤니티와 함께 완성 해 나가려는 목적으로 공개하게 되었습니다. 모든 문서에 대한 저작권은 저
esbook.kimjmin.net
'infra > Kubernetes' 카테고리의 다른 글
| kubernetes ELK 설치 - Elasticsearch Node, Cluster 설계 (0) | 2025.04.12 |
|---|---|
| kubernetes Object란? (0) | 2025.03.15 |
| kubernetes (Cluster, Node, Pod) 란? (0) | 2025.03.13 |