Elasticsearch 설치 이후, Logstash와 Kibana 설치 이유
Elasticsearch를 단순 DB로 보고 데이터를 넣어보고자 했으나, 궁극적으로 Elasticsearch를 사용하는 목적에 큰 영향을 주는 부분이 아니라고 판단되었습니다. Logstash를 사용하여 다양한 데이터 소스에서 데이터를 수집하고 Elasticsearch에 전송하는 것은 일반적인 방법이므로 곧바로 적용해보기로 결정했습니다.
또한 Kibana라는 분석 툴에서 어떤것들을 확인 할 수 있는지 확인하고자 이 또한 설치하면서 ELK 스택을 모두 설치해보는 기본 환경 구축을 진행하고자 합니다.
Logstash, Kibana 설치
Elasticsearch 설치 과정은 아래 링크
brew tap elastic/tap
Shell
복사
brew install elastic/tap/logstash-full
Shell
복사
brew install elastic/tap/kibana-full
Shell
복사
Elasticsearch와 동일한 문제가 발생해서 곧바로 패키지 설치 정보를 수정해주었다.
Elasticsearch, Logstash, Kibana를 설치하고 모두 실행시켜줍니다.
brew services start elastic/tap/elasticsearch-full
brew services start elastic/tap/logstash-full
brew services start elastic/tap/kibana-full
Shell
복사
ELK Stack이란?
우선 ELK Stack이 무엇인지부터 정리하려합니다.
ELK(또는 ELKB)는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어입니다.
Logstash
•
오픈소스 서버측 데이터 처리 파이프라인으로, 다양한 소스에서 동시에 데이터를 수집하고 변환하여 stash 보관소로 보낸다.
•
수집할 로그를 선정해서, 지정된 대상 서버(ElasticSearch)에 인덱싱하여 전송하는 역할을 담당하는 소프트웨어
ElasticSearch
•
ElasticSearch는 Lucene 기반으로 개발한 분산 검색엔진으로, Logstash를 통해 수신된 데이터를 저장소에 저장하는 역할을 담당
•
데이터를 중심부에 저장하여 예상되는 항목을 검색하고 예상치 못한 항목을 밝혀낼 수 있다.
•
정형, 비정형, 위치정보, 메트릭 등 원하는 방법으로 다양한 유형의 검색을 수행하고 결합할 수 있다.
Kibana
•
데이터를 시각적으로 탐색하고 실시간으로 분석 할 수 있다.
•
시각화를 담당하는 HTML + Javascript 엔진이라고 보면 된다.
Beats
•
서버에 에이전트로 설치하여 다양한 유형의 데이터를 ElasticSearch 또는 Logstash에 전송하는 오픈 소스 데이터 발송자다.
•
우선 기본적인 ELK운영 이후에 확장 할 계획