ELK란 Elasticsearch, Logstash, Kibana 세가지 모듈을 합쳐서 이르는 말로 독립된 기술이기에 각각 사용해도 되지만, 서로 호환이 잘 되고 합쳤을 때 시너지가 나기 때문에 같이 구축되곤 한다. 함께 쓸 경우 stack이라고 부르며 각자의 기능은 다음과 같다.
Data Processing (Logstash)
- 서버 내의 로그, 웹, 메트릭 등 다양한 소스에서 데이터를 수집하여 입력
- 데이터 변환 및 구조 구축
- 데이터 출력 및 송신
Storage (Elasticsearch) : 검색엔진이자 데이터베이스
- 데이터 저장
- 데이터 분석
- 데이터 관리
Visualize (Kibana)
- Dashboard를 통한 데이터 탐색
- 팀원들과 공유 및 협업하는데 사용 가능
- 엑세스 제어 (Access Control) 사용 가능
1. SLK stack의 장점
1) 가격
별도로 AWS EC2 등의 인스턴스에 사용한다면 관련 비용이 당연히 들어가지만, ELK 자체는 무료이기 때문에 다른 시스템에 비해 가격적인 측면에서 장점을 가진다.
2) 접근성
ELK는 오픈소스를 내려받아 설치하는 것으로 구축이 완료된다. 그 외의 별도의 추가적인 개발 과정이 필요없기 때문에 접근성이 뛰어나다. 또 그 사용이 다른 유사 시스템들에 비해 쉬운 편이다.
3)속도
ELK중 데이터 보관 및 분석 역할을 담당하는 Elasticsearch는 거의 실시간 (Real-Time)에 가깝게 데이터를 처리할 수 있다.
4) 유연성
ELK는 각자의 기능을 담당하는 세가지의 모듈은 붙여서 만든다. 그렇기 때문에 그 기능만 담당할 수 있다면 얼마든지 모듈을 유연하게 변경할 수 있다. 예를 들어서, 굳이 Logstash를 쓰지 않아도 데이터 수집 역할만 할 수 있다면 경우에 따라 다른걸로 대체가 가능하다.
2. 추가적인 도입
1) Cloud 기반의 Elasticsearch 도입
큰 규모의 회사들은 기존 On-Premise 기반의 서비스들을 클라우드 기반으로 마이그레이션하기 위해 발빠르게 움직이고 있다. Elastic은 그에 맟춰 elastic cloud라는 서비스를 시작했다. 클라우드 서비스인 AWS, Google Cloud 및 Azure에서 호스트형 Elasticsearch와 Kibana, 각종 Elasticsearch 관련 애플리케이션을 한꺼번에 관리 및 배포할 수 있게 하는 서비스이다.
2) beats의 도입
기존의 ELK에서의 큰 문제점 중 하나는 Logstash였다. 데이터 수집의 역할을 맡고 있는 Logstash는, 원하는 형태로의 데이터 입출력 변환 기능까지 맡고 있었기 때문에 그 부하가 컸다. 많은 사용자들의 요구사항을 받아들인 Elastic 회사는, 오로지 데이터의 수집만을 담당하는 경량화된 모듈 Beats를 도입했다. 보통 비츠에서 서비스 호스트 정보를 수집하고 Logstash에서 취합, 가공해 Elasticsearch로 전송하는 아키텍처가 많이 사용된다.
출처 : https://velog.io/@holidenty/ELK-ELK-Stack-%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C
[ELK] ELK Stack 이란? 소개, 정의
트렌디한 로그 수집 기술. ELK Stack.
velog.io
'Sparta > TIL' 카테고리의 다른 글
24.03.19 TIL - LexoRank (0) | 2024.03.20 |
---|---|
24.03.18 TIL - 정렬 for Javascript (0) | 2024.03.19 |
24.03.12 TIL - TypeOrm (0) | 2024.03.13 |
24.03.11 TIL - nest.js 패키지 (0) | 2024.03.12 |
24.03.08 TIL - Nest.js 파일 구조 (0) | 2024.03.09 |