기록하자
ELK 본문
ELK란?
ELK는 약어로 ElasticSearch, LogStash, Kibana의 조합을 말한다. 각각 서로 연동 되어 데이터 수집 및 분석을 진행합니다. ELK가 필요한 이유는 여러 대의 서버를 운영하면 각각 서버에 접속하여 로그를 확인하는 불편함이 가장 큰 이유인 것 같습니다.
로그를 한 곳으로 집중시키고 쿼리를 만들어 찾고자하는 데이터를 손쉽게 찾을 수 있으며 데이터로부터 인사이트를 얻을 수 있습니다.
ELK 설명
LogStash
Logstash는 수집할 로그를 선정한 후 ElasticSearch에 인덱싱 하여 전송하는 역할을 담당합니다. 또한 여러 소스의 데이터를 동시에 가져와서 변환 한 다음 ElasticSearch 서버에 보내는 일종의 데이터 처리 파이프라인입니다
ElasticSearch
ElasticSearch는 루씬 기반으로 개발한 분산 검색엔진이며 Logstash를 통해 수신된 데이터를 저장소에 저장하는 역할을 담당합니다.
Kibana
사용자에게 분석 결과를 가시적으로 보여주기 위한 소프트웨어이며 ElasticSearch에서 차트와 그래프로 데이터를 시각화할 수 있습니다.
ELK Data Flow
- 수집 데이터 서버에서 beats가 트리거에 의해 logstash로 data 전송
- logstash로 전달된 data를 필터를 통해 가공하여 elasticsearch로 전달
- elasticsearch는 전달 받은 데이터를 저장
- kibana는 elasticsearch에 저장된 데이터 셋을 기반으로 시각화 제공