Elasticsearch, Logstash, Kibana의 머리글자를 따온 것입니다.
여기서 Elasticsearch는 데이터를 저장하고 분석하고, Logstash는 데이터를 수집하고 가공, Kibana는 시각화 및 모니터링 도구입니다.
데이터를 수집, 분류, 검색해서 정보를 입맞에 맞게 시각화 해 주는 오픈소스입니다.
오픈소스에서 Stack 이라고 표현하는 거는 개별적으로 역할을 하는 기능들을 모아서 연결하여 더 유연하고 강력한 기능을 제공하는 기술단위를 뜻 합니다.
예를 들어, MEAN (Mongo DB, Express JS, Angular, Node JS) Stack,
LAMP(Linux, Apache HTTP Server, MySQL, PHP) Stack이 있습니다.
ELK Stack도 마찬가지로 Beats
이 추가가 되면서 ELK 라고 표현하기 보다는 ELK Stack이라고 더 많이 쓰입니다.
Elasticsearch는 Lucene 기반 검색, 분석엔진
입니다. Logstash를 통해 수신한 데이터의 저장소 역할
을 합니다. JSON기반의 분산형 RESTful 검색엔진
입니다.
Logstash는 서버사이드 데이터처리 파이프라인
입니다. 다양한 소스에서 동시에 Data 수집
하고 변환하여 stash 보관소로 보냅니다. 수집할 로그를 선정해서
지정된 대상 서버(Elasticsearch)에 인덱싱하여 전송하는 역할을 담당합니다.
Kibana는 데이터를 시각적으로 탐색
하고 실시간으로 분석할 수 있습니다. HTML과 JavaScripts 엔진
입니다.
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) 플랫폼에서 기능으로 배포하여 클라우드 서비스로부터 데이터를 수집, 전송, 모니터링합니다.