1. ELK Stack 이란?
- ELK는 오픈소스 프로젝트인 Elasticsearch, Logstash, Kibana의 약어로 로그 수집, 저장, 분석 및 시각화를 제공한다.
- ELK Stack은 ELK에서 Beats라는 경량화된 데이터 수집 모듈까지 추가한 형태이다.
- Prometheus는 주로 메트릭을 모니터링하는 데 사용되는 반면, ELK Stack은 주로 애플리케이션 로그를 수집, 저장, 분석 및 시각화하는 데 사용한다.
- 요약하면 Beats와 Logstash는 데이터 수집 및 처리를 담당하고, Elasticsearch는 데이터를 인덱싱하고 저장하며, Kibana는 데이터를 쿼리하고 시각화하기 위한 사용자 인터페이스를 제공한다.
1-1. beats
- Beats란 오직 데이터의 수집만을 담당하는 경량화된 모듈이다.
- Beats는 수집하고자 하는 데이터의 유형별로 Filebeat, Metricbeat, MetricBeat 등 다양한 제품군을 제공한다.
- Filebeat
- 경량 로그 및 기타 데이터 수집기이다.
- 지정한 경로에 있는 로그를 수집한다.
- 데몬셋으로 각 노드에 배포된다.
- 파일에 저장된 로그 파일을 실시간으로 수집하여 logstash, elasticsearch 등으로 전달한다.
- metricbeat
- 경량 메트릭 수집기이다.
- 시스템, 서비스에서 주기적으로 메트릭을 수집한다.
- 데몬셋으로 각 노드에 배포된다.
- kube-state-metrics, kubelet을 통해서 메트릭을 수집한다.
- 수집한 메트릭을 logstash, elasticsearch 등으로 전달한다.
- logstatsh로 데이터 수집이 가능한데 왜 Filebeat을 사용하는가?
- Logstash는 데이터 수집 기능 이외에도 데이터를 필터링하고 가공하는 기능까지 제공함으로 각 노드에 logstash를 설치해 운용할 경우 오버헤드가 커진다.
1-2. logstash
- Logstash는 다양한 소스에서 데이터를 수집하고, 필터링 및 가공하여 Elasticsearch 등의 저장소로 데이터를 전송한다.
- Logstash 이벤트 처리 파이프라인은 input → filter → output 세 단계로 구성된다.
- input은 데이터를 수집하고, filter는 이를 필터링 및 가공하며, output은 원하는 목적지에 업로드합니다.
1-3. elasticsearch
- Logstash를 통해 수신된 데이터를 ElasticSearch에 저장하는 데이터 저장소 역할을 한다.
- Elasticsearch는 모든 유형의 데이터에 대해 실시간 저장, 검색, 분석을 제공한다.
1-4. kibana
- Elasticsearch 위에서 작동하는 시각화 계층으로, 사용자에게 데이터를 분석하고 시각화할 수 있는 기능을 제공한다.
- kibana를 이용해 시각화하면 한눈에 데이터를 파악하여 분석할 수 있다.
참고
'Container > Kubernetes' 카테고리의 다른 글
[Kubernetes] ConfigMap, Secret, Azure Keyvault (0) | 2024.05.07 |
---|---|
[Kubernetes] Kubespray로 쿠버네티스 설치 (1) | 2024.05.02 |
[Kubernetes] Probe - Liveness, Readiness, Startup (0) | 2024.04.08 |
[Kubernetes] Istio 설치 및 BookInfo 예제 (0) | 2024.04.04 |
[Kubernetes] MSA 및 Service Mash 소개 (0) | 2024.04.03 |