[ELK] ELK Stack

CHAN LIM·2024년 2월 26일
0

ELK

목록 보기
1/2
post-thumbnail

ELK

  • Elasticsearch
    • 데이터 처리 담당
  • Logstash
    • 데이터 수집 담당
  • Kibana
    • 데이터 분석 담당
  • (Beat)
    • 데이터 수집만을 담당하는 경량화된 모델

위 세가지 기술 스택을 통해,
수집 - 처리 - 분석 플랫폼을 표방한다.


Elasticsearch

Text, 숫자, Geospatial, 정형 및 비정형 데이터등의
데이터에 대한 검색, 분석이 가능한
검색엔진 | Information Retrieval 라이브러리

용어 정리

  • 검색 엔진
    • 컴퓨터 시스템에 저장된 정보를 찾아주거나
      웹 검색을 도와주도록 설계된 검색 시스템 또는 컴퓨터 프로그램
  • IR
    • 정보검색
      • 사용자가 입력한 키워드에 대해서 적절한 문서를 찾는 것을 의미
      • 정보들은 대량의 문서 형태
      • 검색 대상 : 비정형 | 반정형
      • SQL을 사용하지 않음
      • 정답 < 관련성

REST API, 분산처리, 속도, 확장성이 특징


장점

  • Full Text Search
    • Text 내용 전체를 색인하여 특정 단어가 포함된 문서를 검색
    • 다양한 플러그인을 조합하여 빠르게 검색 가능
  • Inverted Index
    • 역색인을 통해 빠르게 검색 가능
    • 검색을 원하는 해당 단어가 포함된 모든 문서의 위치 파악 가능
  • 확장성 가용성
    • 분산 구조
    • 샤드를 통해 데이터를 분산하여 빠르게 처리

단점

  • 실시간이 아님
    • 인덱싱된 데이터는 1초 뒤에 검색 가능
    • Near Real Time
  • 트랜잭션, 롤백 불가
    • 분산 시스템으로 구성
    • 리소스 소모가 큰 롤백이나 트랜잭션을 지원하지 않아, 데이터 손실 위험이 큼
  • 데이터 업데이트 불가
    • 업데이트는 기존 문서를 삭제하고 변경내용으로 새 문서를 생성하는
      Reindexing 방식으로 진행
    • 비용이 큼

Elasticsearch VS RDB

  • Elasticsearch는 검색 특화

  • RDBMS는 SQL을 통해 원하는 정보 검색 가능,
    그러나 단순한 검색에 해당


Logstash

다양한 소스에서
데이터를 수집하여 변환한 후 자주 사용하는 저장소로 전달하는 기능

파이프라인을 구성하는 각 요소들은 전부
플러그인형태

모든 형태의 데이터 처리 가능


특징

  • 성능
    • 자체 내장 메모리, 파일 기반 Queue를 통해
      안정성이 높고 처리속도가 빠름
    • 벌크 인덱싱파이프라인 배치 크기 조정을 통한 병목현상 방지 및 성능 최적화
  • 안정성
    • Dead-Letter-Queue 내장
      • Elasticsearch의 장애 상황 대응을 위한 로직,
        오류가 발생한 도큐먼트를 따로 보관하는 Queue

Pipeline

데이터를 입력받고
실시간으로 변경하고
변경한 데이터를 다른 시스템에 전달한다.

Input, Output이 필수, Filter는 옵션


Kibana

Elasticsearch에 있는 데이터를 시각화

  • 저장된 데이터를 분석, 시각화하는데 주로 사용

profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글