DevOps

ELK 란? (Elasticsearch , Logstash , Kibana, Beats ) 스택

code2772 2024. 11. 18. 09:49
728x90
반응형

회사에서 메세지 발송 간 ELK를 활용한 메세지 발송 처리량, 성공, 지연, 문제 등을 실시간으로 시각화하면서 배운 내용을 정리해보기로 하였다.
 

 

ELK란?

ELK는 세 가지 오픈소스 도구의 조합입니다:

  • Elastics
  • earch (E): 검색 및 분석 엔진
  • Logstash (L): 데이터 수집 및 처리 도구
  • Kibana (K): 데이터 시각화 도구

쉽게 비유하면:

  1. Logstash는 정보를 수집하는 '청소부'
  2. Elasticsearch는 수집된 정보를 저장하고 검색하는 '창고'
  3. Kibana는 저장된 정보를 보기 좋게 보여주는 '전시장'

 

# Beats란?

Beats는 서버에 설치하여 다양한 유형의 데이터를 Elasticsearch나 Logstash로 전송하는 경량 데이터 수집기입니다. 각각의 Beat는 특정 유형의 데이터 수집에 특화되어 있습니다.
 

1.1 주요 특징

  • 경량화 (적은 메모리 사용)
  • 단일 목적 데이터 수집기
  • 간편한 설치 및 설정
  • 효율적인 리소스 사용

각 구성요소 상세 설명

1. Elasticsearch

  • 역할: 데이터 저장소이자 검색 엔진
  • 특징:
    • 빠른 검색 속도
    • 대용량 데이터 처리 가능
    • JSON 형식으로 데이터 저장

간단한 예시:

{
  "주문정보": {
    "주문번호": "A12345",
    "고객이름": "김철수",
    "주문금액": 50000,
    "주문일시": "2024-03-15"
  }
}

2. Logstash

  • 역할: 데이터 수집 및 가공
  • 작동방식: Input → Filter → Output
  • 예시 활용:
    • 웹 서버 로그 수집
    • 데이터베이스 정보 수집
    • 각종 시스템 로그 수집

간단한 설정 예시:

input {
  file {
    path => "/var/log/nginx/access.log"
    type => "nginx-access"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
  }
}

3. Kibana

  • 역할: 데이터 시각화 및 분석 도구
  • 기능:
    • 대시보드 생성
    • 그래프, 차트 생성
    • 데이터 검색 및 필터링

 

활용 사례

  1. 웹사이트 모니터링
    • 접속자 수 추적
    • 오류 발생 감지
    • 페이지 로딩 시간 분석
  2. 보안 모니터링
    • 비정상 로그인 시도 감지
    • 보안 위협 분석
    • 시스템 접근 기록 관리
  3. 비즈니스 분석
    • 판매 데이터 분석
    • 고객 행동 패턴 분석
    • 실시간 매출 모니터링

 

시작하는 방법

  1. 설치
    • 각 도구 공식 웹사이트에서 다운로드
    • Docker를 이용한 간편 설치 가능
  2. 기본 설정
    • Elasticsearch 실행
    • Logstash 설정 파일 작성
    • Kibana 연결 설정
  3. 첫 데이터 수집
    • 간단한 로그 파일부터 시작
    • 기본 대시보드 생성
    • 데이터 시각화 연습

 
ELK 스택은 데이터 분석과 모니터링을 위한 강력한 도구 세트로, 다양한 산업과 용도에 활용될 수 있습니다. 적절한 계획과 구현을 통해 조직의 데이터 활용 능력을 크게 향상시킬 수 있습니다.
 
다음에는 실제 설치하는 방법과 간단한 활용방법을 작성해 보겠습니다.

반응형