[ELK] ELK 스택이란 (ElasticSearch, Logstash, Kibana)

EUN JY·2022년 2월 15일
1

ELK

목록 보기
2/2
post-thumbnail

1. ELK

  • 대규모 서비스 경우 하루에 수십 기가가 넘는 로그가 쌓이는 경우도 있음
  • 서버가 각각 나뉘어 있으면 로그를 하나하나 확인하기 어려움
    • 로그를 한 곳으로 집중시키고 분석하고 적당한 쿼리를 만들어 원하는 데이터를 도출 해낼 수 있는 로그 관리 솔루션 활용
  • 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어
  • 접근성과 용이성이 좋아 최근 가장 주목 받는 Log 및 데이터 분석 도구
  • Logstash
    • 로그 수집 엔진
    • 데이터 변환 및 구조 구축, 출력 및 송신
  • ElasticSearch
    • 로그 저장 및 검색
    • 데이터 저장, 분석, 관리
  • Kibana
    • 로그 시각화 및 관리
    • Dashboard를 통한 데이터 탐색
    • 협업 및 엑세스 제어에 사용 가능

1-1. 장점

  • 개발자와 DevOps 엔지니어가 오류 진단, 애플리케이션 성능, 인프라 모니터링으로부터 값진 인사이트를 얻을 수 있도록 적은 비용으로 단순하면서도 강력한 로그 분석 솔루션을 제공

1-1-1. 가격

  • ELK는 Elastic이라는 회사에서 제공하는 오픈소스
  • 별도로 AWS EC2 등의 인스턴스에 사용한다면 관련 비용이 들어가긴 하지만 ELK 자체는 무료이기 때문에 다른 시스템에 비해 가격적으로 효율적

1-1-2. 접근성 및 사용성

  • 오픈소스를 내려받아 설치하는 것으로 구축이 완료됨
  • 별도의 추가적인 개발 과정이 필요 없기 때문에 접근성이 뛰어남
  • 사용이 다른 유사 시스템들에 비해 쉬운 편

1-1-3. 속도

  • 데이터 보관 및 분석 역할을 담당하는 Elasticsearch는 거의 실시간(Real-Time)에 가깝게 데이터를 처리할 수 있음

1-1-4. 유연성

  • ELK는 각자의 기능을 담당하는 세 가지의 모듈을 붙여서 만듦
  • 얼마든지 모듈을 유연하게 변경할 수 있음
    • 굳이 Logstash를 쓰지 않아도 데이터 수집 역할만 가능하다면 다른 것으로 대체 가능

1-2. 최근 동향

1-2-1. Beats 의 도입

  • 기존의 ELK에서의 큰 문제점 중 하나는 Logstash였음.
  • Logstash는 원하는 형태로의 데이터 입출력 변환 기능까지 맡고 있었기 때문에 그 오버헤드가 컸음
  • Elastic 회사는 오로지 데이터의 수집만을 담당하는 경량화된 모듈 Beats를 도입
    • 경량의 단일 목적 데이터 수집기 제품군

1-2-2. Cloud 기반의 Elasticsearch 도입

  • 큰 규모의 회사들은 기존 On-Premise 기반의 서비스들을 클라우드 기반으로 마이그레이션하기 위해 움직이고 있음
  • ELK 또한 Cloud 기반의 Elasticsearch를 도입

1-3. X-Pack

  • ELK Stack의 확장
  • 기존 ELK Stack에서 x-pack을 이용하여 구축 및 유지를 편리하게 해주는 솔루션
    • Security : 데이터 보호
    • Alerting : 데이터 변경 사항에 대한 알림을 제공
    • Monitoring : ELK Stack 상태를 지속적으로 체크
    • Reporting : 주기적으로 보고서를 생성하여 이메일로 전송
    • Graph : 데이터에서 의미 있는 관계를 살필 수 있음

2. ELK 스택

2-1. Logstash

  • 오픈소스 서버 측 데이터 처리 파이프라인
  • 소스에서 동시에 데이터를 수집하고 변환하여 stash 보관소로 보냄
  • 다양한 소스(DB, csv파일 등)의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 ElasticSearch로 전달
  • 수집할 로그를 선정해서 지정된 대상 서버(ElasticSearch)에 인덱싱하여 전송하는 역할을 담당

2-2. ElasticSearch

  • Logstash로부터 받은 데이터를 저장소에 저장하는 역할
  • 받은 데이터를 검색 및 집계를 하여 필요한 관심 있는 정보를 획득
  • 데이터를 중심부에 저장하여 예상되는 항목을 검색하고 예상치 못한 항목을 밝혀낼 수 있음
  • 정형, 비정형, 위치정보, 메트릭 등 원하는 방법으로 다양한 유형의 검색을 수행하고 결합할 수 있음.

2-3. Kibana

  • Elasticsearch의 빠른 검색을 통해 데이터를 시각화 및 모니터링
  • 데이터를 시각적으로 탐색하고 실시간으로 분석할 수 있음
  • 시각화를 담당하는 HTML + Javascript 엔진

참고
https://heowc.tistory.com/49
https://www.elastic.co/kr/what-is/elk-stack
https://aws.amazon.com/ko/opensearch-service/the-elk-stack/
https://velog.io/@holidenty/ELK-ELK-Stack-%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C
https://captcha.tistory.com/44

profile
개린이

0개의 댓글