ELK Stack(Elastic Stack)에 대해 간략히 알아봅니다.


ELK 스택(ELK Stack)은 대량의 데이터를 수집, 분석 및 시각화하기 위해 널리 사용되는 오픈소스 소프트웨어 조합입니다. 최근에는 데이터 수집기인 ‘Beats’가 추가되면서 공식적으로는 ‘Elastic Stack’이라는 명칭으로 불리고 있습니다.

  1. Beats (데이터 수집)
    • 기능: 개별 서버나 장비에서 설치되어 데이터를 수집하는 가벼운 에이전트입니다.
    • 종류:
      • Filebeat: 로그 파일 수집 (가장 많이 사용됨)
      • Metricbeat: CPU, 메모리 등 시스템 지표 수집
      • Packetbeat: 네트워크 데이터 분석 (네트워크 엔지니어링 관점에서 유용함)
      • Auditbeat: 사용자 활동 및 프로세스 감사 로그 수집 (보안 관점)
      • Winlogbeat: Windows 운영체제의 이벤트 로그(Event Logs)를 수집
      • Heartbeat: 특정 URL이나 IP 주소에 대해 ICMP, TCP, HTTP 프로토콜로 ‘생존 확인(Ping)’을 수행
      • Functionbeat: AWS Lambda와 같은 서버리스(Serverless) 환경에서 발생하는 로그와 지표를 수집
  2. logstash (데이터 변환)
    • 기능: 수집된 데이터를 통합 서버로 모아 복잡한 가공(날짜 형식 변경, IP 주소의 지리 정보 변환 등)을 수행합니다.
    • 단계: 입력(Input) → 필터(Filter) → 출력(Output)의 3단계 파이프라인을 거칩니다.
      • 다양한 소스 지원(Input): 로그 파일, 데이터베이스, 시스템 메시지 등 다양한 곳에서 데이터를 가져옵니다.
      • 데이터 정제(Filter): 비정형 로그 데이터를 파싱(Parsing)하여 의미 있는 정형 데이터로 변환합니다. (Grok 필터 등을 사용)
      • 멀티 타겟(Output): 처리된 데이터를 Elasticsearch뿐만 아니라 다른 DB나 파일로도 보낼 수 있습니다.
  3. Elasticsearch (데이터 저장 및 검색 엔진)
    • 기능: 스택의 심장 역할을 하는 분산형 검색 및 분석 엔진으로, 데이터를 저장하고,이를 빠르게 검색하며 분석할 수 있는 기능을 제공합니다.
    • 특징:
      • NoSQL 데이터베이스: JSON 문서 기반으로 데이터를 저장합니다.
      • 실시간 검색: 루씬(Lucene) 라이브러리를 기반으로 하여 매우 빠른 전체 텍스트 검색을 지원합니다.
      • 분산 구조: 데이터를 여러 노드에 분산 저장하여 고가용성과 확장성을 제공합니다.
  4. Kibana (시각화 및 관리 도구)
    kibana

    • 기능: Elasticsearch에 저장된 데이터를 시각적으로 표현하고 관리하는 브라우저 기반의 인터페이스로, 사용자가 데이터를 이해할 수 있도록 차트, 그래프, 지도로 시각화합니다.
    • 특징:
      • 대시보드: 실시간으로 변하는 데이터를 한눈에 볼 수 있는 커스텀 대시보드를 구성할 수 있습니다.
      • 보안 및 모니터링: 전체 스택의 상태를 모니터링하고 접근 권한을 관리합니다.
      • Canvas: 프레젠테이션 형태의 동적인 시각화 기능을 제공합니다.

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다