인프라,데이터/Elasticsearch, Logstash, Kibana
ELK란? + ELK 8.2.0 버전에 추가된 사항
AimB
2022. 5. 15. 22:35
ELK(Elastic) Stack
Elasticsearch
- 분산 검색 엔진 (검색 엔진 + NoSQL 데이터베이스)
- 모든 레코드를 JSON 도큐멘트 형태로 입력, 관리
- 텍스트, 숫자, 날짜, IP 주소, 지리 정보 등 다양한 데이터 타입에 대해 최적화되어 있음
- 인덱싱 시점에 분석을 거쳐 용어 단위로 분해해 역인덱스 사전 구축
- 숫자, 키워드 타입의 데이터들은 집계에 최적화된 컬럼 기반 자료구조로 저장됨 → 병렬이나 분산 처리 가능
- 검색어에 따른 유사도 스코어를 기반으로 데이터 정렬 → 복잡한 문자열 콘텐츠를 검색할 때 큰 효과
- 통신을 REST API를 이용하도록 만들어 사용자가 쉽게 접근할 수 있음
- AWS, GCP, 애져 모두 엘라스틱서치 서비스를 제공하고 있음
단점
- 저장공간이 크게 압축되지 않고 시스템 리소스를 많이 사용
- 인덱스는 불변의 자료구조 → 도큐먼트를 수정하거나 삭제할 경우에 비용이 저렴하지 않음
- 그러나 대량 데이터를 검색하기 위해 일반적으로 용인되는 제약들
Logstash
- 이벤트 수집과 정제를 위한 도구
- 대량의 데이터를 검색하기 위해서는 데이터를 적재해야 함
- 로그, 메트릭(페이지 뷰나 사이트에 머무른 시간, 새로운 방문자의 퍼센트 등등..), 웹 애플리케이션 등 다양한 소스로부터 로그를 수집할 수 있음.
- 비정형, 반정형 데이터를 분석하기 쉬운 상태로 정제
- 엘라스틱서치 외 다양한 플랫폼으로 정제된 데이터를 내보낼 수 있음
- 데이터를 동적으로 수집, 변환, 전송
- 민감한 필드를 익명화하거나 제외 가능
- 엘라스틱서치의 인덱싱 성능을 최적화하기 위한 배치 처리, 병렬 처리 가능
- 영속적인 큐를 사용해 현재 처리 중인 이벤트의 최소 1회 전송 보장
- 유동적인 처리 방식 → 수집 중인 데이터양이 급증하는 부하 상황에서도 안정성 보장
Kibana
- 시각화, 엘라스틱서치 관리 도구
- 엘라스틱 스택의 UI를 담당
- 실시간으로 인덱싱되는 로그를 지속적으로 확인할 수 있음
Elasticsearch 8.0 버전에 추가된 기능
- ES 클러스터 보안 추가
- network encryption(TLS)
- 키바나에 연결할 때 별도의 과정 없이 authentication 과정을 거침
- System indice
- configuration, 내부 데이터 저장하는 공간
- direct access로부터 제한하는 옵션 추가
- k-nearest neighbor search API 추가
- field 추가
- message field의 인덱스의 사이즈를 14.4% 감소
- PyTorch model support