[Elastic Stack] Elasticsearch + Logstash + Kibana 개요!!
1️⃣ Elastic Stack 개요
Elastic Stack은 데이터 수집, 저장, 검색, 시각화, 분석을 위한 오픈소스 통합 플랫폼이에요.
이전에는 ELK Stack(Elasticsearch + Logstash + Kibana)으로 불렸지만,
이후 Beats가 추가되면서 Elastic Stack으로 명칭이 확장되었습니다.
즉,
Elastic Stack = Elasticsearch + Logstash + Kibana + Beats
이 네 가지가 핵심 구성요소입니다.
2️⃣ Elastic Stack의 주요 구성 요소
2.1 Elasticsearch (엘라스틱서치)
-
역할: 데이터를 저장하고, 검색·분석하는 중앙 엔진
-
기술 기반: Apache Lucene 기반의 분산형 검색 및 분석 엔진
-
주요 기능:
-
실시간 검색(Full-text Search)
-
대규모 데이터 분석(Aggregation)
-
분산 클러스터링 및 고가용성
-
RESTful API 제공 (HTTP + JSON)
-
예시:
Kibana나 다른 서비스에서 들어온 로그, 메트릭, 이벤트 데이터를 저장하고 빠르게 검색할 수 있도록 인덱싱함.
2.2 Logstash (로그스태시)
-
역할: 데이터 수집 → 변환 → 전달
-
기술 특징:
-
다양한 입력(Input) 소스 지원 (파일, DB, Kafka, Beats 등)
-
필터(Filter) 단계에서 데이터 정제, 변환
-
출력(Output) 단계에서 Elasticsearch로 전송
-
-
플러그인 구조로 유연하게 확장 가능
예시:
서버 로그를 수집해 JSON 형태로 변환한 뒤 Elasticsearch로 전송.
2.3 Kibana (키바나)
-
역할: 데이터를 시각화하고 대시보드로 표현하는 도구
-
특징:
-
Elasticsearch 데이터 실시간 조회
-
차트, 그래프, 지도 시각화
-
로그 탐색 및 경고(Alert) 기능
-
Elastic Security, APM, Observability 등 확장 기능 제공
-
예시:
웹서버 로그를 시각화하여 “트래픽 추이”, “에러 발생률”, “지역별 접속 현황” 등을 대시보드로 표시.
2.4 Beats (비츠)
-
역할: 경량 데이터 수집기(Agent)
-
종류:
-
Filebeat → 로그 파일 수집
-
Metricbeat → 시스템/서비스 메트릭 수집
-
Packetbeat → 네트워크 트래픽 수집
-
Heartbeat → 서비스 가용성(Alive Check)
-
Winlogbeat → 윈도우 이벤트 로그 수집
-
Auditbeat → 보안 감사 이벤트 수집
-
데이터 흐름 예시:
Filebeat가 로그 파일을 읽어 Logstash로 전송 → Logstash가 변환 → Elasticsearch 저장 → Kibana 시각화
3️⃣ Elastic Stack의 데이터 흐름 구조
단계별 설명:
-
Beats: 서버나 애플리케이션에서 로그/메트릭 수집
-
Logstash: 수집된 데이터를 정제, 구조화, 변환
-
Elasticsearch: 데이터를 저장하고 검색/분석
-
Kibana: Elasticsearch에 저장된 데이터를 시각화
이 구조를 통해 엔드투엔드(End-to-End) 데이터 파이프라인을 구성할 수 있습니다.
4️⃣ Elastic Stack의 주요 활용 사례
4.1 로그 관리 (Log Management)
-
웹/서버 로그를 수집하고 오류 및 트래픽 분석
-
예: Apache, Nginx, System Logs 등
4.2 인프라 모니터링 (Infrastructure Monitoring)
-
Metricbeat + Kibana로 CPU, 메모리, 네트워크 모니터링
-
Grafana 없이도 강력한 모니터링 구현 가능
4.3 APM (Application Performance Monitoring)
-
Elastic APM Agent를 통해 애플리케이션의 응답시간, 오류 추적
-
분산 트레이싱(Distributed Tracing) 지원
4.4 보안 분석 (SIEM)
-
Elastic Security 기능을 통해 보안 이벤트, 침입 탐지
-
IDS/IPS와 연동 가능
4.5 비즈니스 분석 (Business Analytics)
-
비정형 데이터를 Elasticsearch로 적재 후 분석
-
예: 검색 로그 분석, 사용자 행동 패턴 분석
5️⃣ Elastic Stack의 장점
-
오픈소스 기반 (무료로 시작 가능)
-
확장성 (Scalability) – 노드 수를 늘려서 처리량 확장
-
실시간 처리 – 로그 및 이벤트를 거의 실시간으로 분석
-
유연한 통합성 – AWS, Kafka, Redis 등과 연동 가능
-
강력한 시각화 – Kibana의 Dashboards와 Alerting
6️⃣ Elastic Stack의 단점 및 주의점
| 구분 | 내용 |
|---|---|
| 자원 사용량 | Elasticsearch는 CPU, 메모리 사용량이 많음 |
| 운영 복잡성 | Logstash 파이프라인, 클러스터 구성 관리가 어려움 |
| 라이선스 변경 | Elastic 7.x 이후 일부 기능은 Elastic License (비상업적 무료) |
| 데이터 보존 비용 | 로그량이 많을 경우 스토리지 비용이 급증 |
Tip: OpenSearch(AWS가 포크한 버전)를 사용하는 것도 하나의 대안입니다.
7️⃣ Elastic Stack 아키텍처 예시 (시각적 흐름)
-
Filebeat: 로그 수집
-
Logstash: 파싱 및 필터링
-
Elasticsearch: 인덱싱 및 저장
-
Kibana: 분석 및 시각화
8️⃣ Elastic Stack 확장 서비스
Elastic은 단순 로그 분석을 넘어 Elastic Observability Platform으로 발전했습니다.
| 영역 | 주요 기능 |
|---|---|
| Observability | 로그 + 메트릭 + APM 통합 모니터링 |
| Security (SIEM) | 위협 탐지 및 이벤트 분석 |
| Search | 엔터프라이즈 검색 (Elastic Search API) |
| Machine Learning | 이상 탐지, 예측 분석 |
9️⃣ 실제 구축 예시 (AWS 환경)
| 구성요소 | 역할 | 실행 형태 |
|---|---|---|
| Filebeat | EC2 로그 수집 | Agent |
| Logstash | 데이터 파이프라인 | EC2 or Docker |
| Elasticsearch | 중앙 스토리지 | Amazon OpenSearch Service |
| Kibana | 시각화 | Managed Console |
Terraform + Docker Compose로도 손쉽게 자동 배포 가능.
🔟 요약
| 구성요소 | 주요 역할 | 비고 |
|---|---|---|
| Elasticsearch | 데이터 저장/검색 | 핵심 엔진 |
| Logstash | 수집/변환 | 파이프라인 |
| Kibana | 시각화 | 대시보드 |
| Beats | 경량 수집기 | Edge 단 |
✅ 정리
Elastic Stack은
"데이터를 실시간으로 수집하고, 분석하고, 시각화하는 통합 오픈소스 플랫폼"
으로,
DevOps, 보안, 인프라, 로그 분석, 성능 모니터링 등
현대 IT 운영의 필수 도구로 자리 잡고 있습니다.
댓글
댓글 쓰기