엘라스틱서치

IT 위키
Elasticsearch
아파치 루씬(Lucene)을 기반으로 만든 분산 검색·분석 엔진

JSON 문서를 저장하고 역색인(Inverted Index)으로 전문 검색을 제공한다. REST API 로 다룬다.

  • 인덱스(Index) — 문서의 모음. 관계형 DB 의 테이블에 해당한다
  • 문서(Document) — JSON 한 건. 행에 해당한다
  • 샤드(Shard) — 인덱스를 쪼갠 단위. 노드에 분산 배치된다
  • 레플리카(Replica) — 샤드의 복제본. 장애 대비와 읽기 부하 분산
  • 매핑(Mapping) — 필드의 타입 정의

분석기

[편집 | 원본 편집]

문서를 색인할 때 텍스트를 검색 가능한 토큰으로 쪼개는 모듈이다. 처리 순서가 정해져 있다.

순서 구성 요소 하는 일
1 캐릭터 필터(Character Filter) 토큰으로 쪼개기 전에 문자열 자체를 손본다 HTML 태그 제거, 문자 치환
2 토크나이저(Tokenizer) 문자열을 토큰으로 분리한다. 분석기당 하나만 둘 수 있다 공백 기준 분리, 한글 형태소 분석(Nori)
3 토큰 필터(Token Filter) 쪼개진 토큰을 가공한다 소문자 변환, 불용어 제거, 동의어 확장, 어간 추출
캐릭터 필터 → 토크나이저 → 토큰 필터 순이다. 토크나이저가 가운데라는 점이 자주 출제된다.

엘라스틱 스택

[편집 | 원본 편집]
구성 역할
Beats 경량 수집기. 각 서버에서 로그·메트릭을 보낸다 (Filebeat, Metricbeat)
Logstash 수집·변환·적재 파이프라인
Elasticsearch 저장·색인·검색
Kibana 시각화와 대시보드

예전에는 ELK(Elasticsearch, Logstash, Kibana) 스택이라 불렀고, Beats 가 추가되면서 엘라스틱 스택으로 이름이 바뀌었다.

보안 분야의 쓰임

[편집 | 원본 편집]
  • 방화벽·IDS·서버 로그를 한곳에 모아 검색하는 로그 통합 관리
  • SIEM 기능 — 상관 분석, 탐지 규칙, 알림
  • 침해사고 조사 시 대용량 로그의 신속한 추적

같이 보기

[편집 | 원본 편집]