ELK 공부 (1/3)

KIMAKUMA·2023년 2월 21일

ELK

목록 보기
1/7
post-thumbnail

Part 1

01. ELK

  • ELK = ElasticSearch + LogStash + Kibana

02. ElasticSearch

정의

  • 데이터 색인, 저장, 검색, 집계 등을 수행하는 실시간 분석 검색 엔진 (NoSQL DB)

특징

  • 루씬 기반
  • 준 실시간으로 데이터 색인과 동시에 검색 가능
  • inverted file index(역파일 색인)
  • Document Oriented, Document 형식으로 데이터 저장
    • JSON 형식 데이터 사용
  • CRUD를 REST API로 처리
  • 플러그인을 통해 검색 및 분석, 색인 기능 확장 가능
  • 멀티 테넌시
    • 다른 인덱스들을 별도의 커넥션 없이 하나의 질의로 묶어서 검색하고 결과는 하나의 출력으로 도출
  • 분산 환경
    • 인덱스를 샤드(Shard) 단위로 분산하여 저장
      • Shard는 Replica를 통해 분산 및 병렬 처리 지원
    • 수평적 확장(Scale-Out) 지원
    • 실제 작동 중인 ElasticSearch 인스턴스를 노드(Node) 라고 지칭
      • 한 클러스터 안에서 복수의 노드가 동작 가능
      • 하나의 노드가 오류 발생할 경우 다른 노드를 통해 대체

03. LogStash

  • 다양한 데이터 수집과 저장을 위해 개발
  • 입력 → 필터 → 출력 의 과정을 거침
    • 다양한 저장소로부터 데이터를 입력 받음
    • 필터를 통해 데이터 변환, 확장, 필터링 및 삭제 처리
    • ElasticSearch 외 Kafka, Redis, local 등에 데이터 출력

Beats

  • LogStash로 다양한 데이터를 수집하는 것에 대한 부담을 줄이기 위해 개발
  • 단말 시스템으로부터 데이터 수집이 주 목적
  • 바이너리 실행 파일로 컴파일 되는 언어라 가볍고 라이브러리 종속성도 적음

04. Kibana

  • Elasticsearch를 시각화 할 수 있는 도구
  • Elasticsearch로부터 문서, 집계 결과 등을 불러와 웹 도구로 시각화
  • Discover, Visualize, Dashboard 3개의 기본 메뉴와 다양한 기능들로 구성

0개의 댓글