ELK
- 3가지 오픈 소스 프로젝트 Elasticsearch, Logstash, Kibana의 머리글자로 데이터 수집 및 분석 툴.
ELK Stack
- ELK 솔루션에 단말 장치의 데이터를 전송하는 경량 데이터 수집기 Beats 를 추가한 형태
각 구성요소의 기능
- Elasticsearch - 검색 및 분석 엔진 (데이터 저장도 담당)
- Logstash - 서버측 데이터 처리 파이프라인으로, 여러 소스에서 동시에 데이터를 수집하여 변환한 후 Elasticsearch 같은 stash(보관소) 로 전송
- Kibana - 사용자자 Elasticsearch에서 챠트와 그래프를 이용해 데이터 시각화를 지원
- Beats - 서버에 에이전트로 설치하여 다양한 유형의 데이터를 Logstash나 Elasticsearch에 전송.
데이터 유형에 따라 Filebeat(로그 파일), Metricbeat(메트릭), Packetbeat(네트워크 데이터), Winlogbeat(Windows 이벤트 로그), Auditbeat(감사 데이터), Heartbeat(가동 시간 모니터링), Functionbeat(서버를 사용하지 않는 수집기)가 있음.
데이터 흐름은 Beats -> Logstash -> Elasicsearch -> Kinba 순으로 진행
1. 로그 수집 대상 서버에는 Beats가 설치되어 수집할 데이터 발생 시 Beats 트리거에 따라 Logstash로 데이터를 전송
2. Logstash로 전달 된 데이터는 사용자 필터에 따라 가공되어 Elasticsearch로 전달
3. Elasticsearch는 전달 받은 데이터를 Elasticsearch 서버에 저장
4. Kibana를 통해 Elasticsearch에 저장된 데이터를 토대로 시각화를 제공.