Written by
최태열
on
on
Elastic Stack 개요
Elastic Stack 이란?
ELK
출처: ELK Stack을 이용한 로그 관제 시스템 만들기
ElasticSearch + Logstash + Kibana + (Beats)
데이터 분석, 데이터 시각화, 검색 엔진 기능
-
ElasticSearch
데이터 검색, 분석, 저장
확장성이 매우 좋은 자바로 구현된 오픈소스 검색엔진
-
Beats
데이터 수집 및 전송
단말 장치의 데이터를 전송하는 경량 데이터 수집기 플랫폼
-
Logstash
데이터 수집, 변환, 전송
데이터를 가공한 후에 ElasticSearch에 저장 가능한 동적 데이터 수집 파이프라인
-
Kibana
데이터 시각화
확장형 사용자 인터페이스로 데이터를 구체적으로 시각화
ElasticSearch
ElasticSearch
- 루씬 기반의 Full Text로 검색이 가능한 오픈소스 텍스트 기반 분석용 검색 엔진
- RESTfull API를 이용해 처리 → JSON으로 요청/응답
- 빠른 쿼리 수행
-
분산 구성에 용이하며, 분산 환경에서 데이터는 Shard라는 단위로 나뉨
-
주의사항
완전 실시간은 아님
Transaction, Rollback 불가
Update가 아닌 삭제 후에 다시 생성하는 방식 (불변성이란 이점은 존재)
Logstash
Logstash
- 다양한 플러그인을 이용하여 데이터 집계 및 보관, 서버 데이터 처리
- 파이프라인으로 데이터를 수집하여 필터를 통해 변환 후 ElasticSearch로 전송
- 입력 : Beats, Cloudwatch, Eventlog 등의 다양한 입력을 지원하여 데이터 수집
-
필터
— 형식이나 복잡성에 상관없이 설정을 통해 데이터를 동적으로 변환
— 수집된 데이터는 필터의 각 플러그인에 의해 가공
— 가공 목적에 따라 여러 플러그인에서 사용 가능
— 가령 grok 패턴을 사용해 비정형 데이터를 수집했다면 데이터 구조를 구성하거나 IP주소로부터 지시적 위치 좌표를 생성하는 일이 가능
- 출력 : ElasticSearch, Email, ECS, Kafka 등 원하는 저장소에 전송
Beats
Beats
- 경량 에이전트로 설치되어 데이터를 Logstash 또는 ElasticSeach로 전송하는 도구
- Logstash보다 경량화되어 있는 서비스
- Filebeat, Meticbeat, Packetbeat 등이 있음
- Packetbeat은 응용 프로그램 서버 간에 교환되는 트랜잭션에 대한 정보를 제공하는 네트워크 패킷 분석기
- Filebeat는 서버에서 로그 파일을 제공
- Metricbeat은 서버에서 실행중인 운영 체제 및 서비스에서 메트릭을 주기적으로 수집하는 서버 모니터링 에이전트
Discussion and feedback