ELK Stack ?

김재범·2024년 4월 2일
0

ELK Stack

목록 보기
1/1

01. ELK ?

Elasticsearch, Logstash, Kibana의 머리글자를 따온 것입니다.
여기서 Elasticsearch는 데이터를 저장하고 분석하고, Logstash는 데이터를 수집하고 가공, Kibana는 시각화 및 모니터링 도구입니다.

02. ELK Stack ?

데이터를 수집, 분류, 검색해서 정보를 입맞에 맞게 시각화 해 주는 오픈소스입니다.
오픈소스에서 Stack 이라고 표현하는 거는 개별적으로 역할을 하는 기능들을 모아서 연결하여 더 유연하고 강력한 기능을 제공하는 기술단위를 뜻 합니다.

예를 들어, MEAN (Mongo DB, Express JS, Angular, Node JS) Stack,

LAMP(Linux, Apache HTTP Server, MySQL, PHP) Stack이 있습니다.

ELK Stack도 마찬가지로 Beats이 추가가 되면서 ELK 라고 표현하기 보다는 ELK Stack이라고 더 많이 쓰입니다.

02-01. Elasticsearch

ElasticsearchLucene 기반 검색, 분석엔진입니다. Logstash를 통해 수신한 데이터의 저장소 역할을 합니다. JSON기반의 분산형 RESTful 검색엔진입니다.

  • Lucene 기반 검색, 분석엔진
    루씬 기반 검색엔진으로서 강력한 기능들을 가지고 있는데, 그 중 하나가 scoring, 연관도에 따른 정렬입니다. 검색어에 대해 유사도 스코어를 기반으로 한 정렬을 제공하는데, 이것은 문자열 콘텐츠에서 검색을 수행할 때 강력한 기능이 됩니다.
  • JSON기반의 분산형 RESTful 검색엔진
    모든 통신을 REST API를 이용하도록 만들어서 프로그래밍 언어와 무관하게 활용할 수 있습니다.
    별도의 드라이버 라이브러리가 없더라도 웹 브라우저나 curl 명령어, Postman 등을 이용해 기능을 활용할 수 있습니다.

02-02. Logstash

Logstash서버사이드 데이터처리 파이프라인입니다. 다양한 소스에서 동시에 Data 수집하고 변환하여 stash 보관소로 보냅니다. 수집할 로그를 선정해서 지정된 대상 서버(Elasticsearch)에 인덱싱하여 전송하는 역할을 담당합니다.

02-03. Kibana

Kibana데이터를 시각적으로 탐색하고 실시간으로 분석할 수 있습니다. HTML과 JavaScripts 엔진입니다.

02-04. Beats

Beats서버에 에이전트로 설치하여 다양한 유형의 데이터를 Elasticsearch 또는 Logstash에 데이터를 전송합니다.

  • Filebeats
    보안 장치, 클라우드, 컨테이너, 호스트 또는 OT에서 수집하는 로그와 파일을 경량화된 방식으로 전달합니다.

  • Metricbeat
    시스템과 서비스에서 메트릭을 수집합니다. CPU부터 메모리, Redis, NGINX까지 Metricbeat를 통해 다양한 시스템 서비스 통계를 가볍게 전송할 수 있습니다.

  • Packetbeat
    호스트와 컨테이너의 데이터를 Logstash 또는 Elasticsearch로 전송하는 경량 네트워크 패킷 분석기입니다.

  • Winlogbeat
    Windows 이벤트 로그를 Elasticsearch와 Logstash로 스트리밍합니다.

  • Auditbeat
    Linux 감사 프레임워크 데이터를 수집하고 파일 무결성 모니터링 이벤트를 실시간으로 전송하여 추가적인 분석이 가능하도록 지원합니다.

  • Heartbeat
    활성 상태를 감지하고 서비스가 가능한지 모니터링합니다. URL 목록을 제공하면 Heartbeat에서 잘 작동 중인가? 라는 간단한 질문을 한 후, 향후 분석을 위해 정보와 반응 시간을 전송합니다.

  • Functionbeat
    클라우드 서비스 제공자의 Function-as-a-Service (FaaS) 플랫폼에서 기능으로 배포하여 클라우드 서비스로부터 데이터를 수집, 전송, 모니터링합니다.

profile
미래의 아들에게 전해 줄 나의 이야기

0개의 댓글