초보자를 위한 ELK 스택 튜토리얼: 당신이 알고 싶었던 모든 것
게시 됨: 2020-03-24목차
소개
오늘날 세상은 데이터 중심적이며, 이는 소규모 스타트업이든 대기업이든 엄청난 양의 데이터가 생성된다는 것을 의미합니다. 비즈니스 데이터, 판매 데이터, 고객 데이터 및 제품 데이터, 이러한 데이터의 대부분은 데이터베이스와 웹 서버에 저장됩니다. 웹 서버 내부에서 웹 서버 로그에서 데이터를 찾을 수 있습니다. 이러한 로그에는 구조화되지 않고 이해하기 어려울 수 있는 원시 데이터가 있습니다.
이러한 로그는 일반적으로 대기업에서 무시하기 때문에 비즈니스 향상에 도움이 될 수 있는 귀중한 정보를 추적하지 못할 수 있습니다. 따라서 이 모든 로그 데이터를 처리하는 것이 중요합니다. 그러나 로그 분석 은 적절한 도구 없이는 번거로울 수 있습니다.
이것이 ELK 스택이 들어오는 곳입니다.
자세히 알아보기: Splunk와 Elk: 어느 것을 선택해야 합니까?
ELK 스택이란 무엇입니까?
ELK Stack은 Elasticsearch, Logstash 및 Kibana 의 세 가지 도구가 결합된 강력한 로그 분석 도구입니다 . 세 가지 오픈 소스 프로젝트이지만 함께 로그 검색, 시각화 및 분석 을 위한 종단 간 분석 솔루션을 제공합니다 . 이러한 로그는 다른 시스템에서 생성될 수 있습니다.
이 소프트웨어 스택을 사용하면 모든 소스 및 형식에서 데이터를 가져올 수 있습니다. 그런 다음 실시간으로 패턴을 결정하기 위해 이 데이터를 검색, 분석 및 시각화할 수 있습니다. 중앙 집중식 로깅을 통해 웹 서버 및 애플리케이션의 문제를 식별할 수 있습니다. 즉, 단일 플랫폼에서 모든 로그를 찾을 수 있습니다. 여러 서버의 문제도 감지할 수 있습니다.

ELK 스택 튜토리얼: 아키텍처
ELK 스택 아키텍처를 자세히 살펴보겠습니다. 구성 요소는 다음과 같습니다.
엘라스틱서치
이것은 소프트웨어 스택의 핵심이며 기본적으로 NoSQL 데이터베이스입니다. 2010년에 출시되었으며 Apache Lucene 검색 엔진을 기반으로 합니다. Java로 코딩된 이 도구는 오픈 소스입니다. 이 강력한 분석 엔진을 사용하면 방대한 양의 로그 데이터를 저장, 분석 및 검색할 수 있습니다. Elasticsearch에서 검색하여 데이터를 얻는 가장 좋은 방법은 REST API를 활용하는 것입니다.
중요한 기능 중 일부는 다음과 같습니다.
- 신속하게 찾을 수 있도록 데이터를 중앙에 저장
- 더 나은 데이터 분석을 위한 고급 쿼리 제공
- 이기종 데이터를 인덱싱하는 데 사용할 수 있습니다.
- 거의 실시간 검색 을 제공 합니다. 즉, 색인이 생성된 직후 문서를 찾을 수 있습니다. 따라서 실시간으로 문서에 더 많은 데이터를 업데이트하고 추가할 수 있습니다.
- 지리적 위치 지원 및 다국어 지원 제공
- 개별 레코드 처리를 위해 다중 문서 API 사용
Elasticsearch의 몇 가지 중요한 구성 요소는 다음과 같습니다.
- 인덱스 – 유사한 특성을 가진 문서의 논리적 파티션입니다.
- 노드 – 이것은 Elasticsearch 인스턴스입니다.
- 샤드 – 인덱스를 수평 샤드 또는 조각으로 분할할 수 있습니다.
- 문서 – 스토리지 단위이며 Elasticsearch 인덱스에 저장되는 JSON 객체
- 클러스터 – 노드 모음
읽기: 비즈니스 의사 결정을 개선하기 위한 4가지 유형의 데이터 분석
로그스태시
데이터 입력을 가져와 Elastic search에 제공하는 도구입니다. 처음에는 다양한 데이터 소스에서 대량의 데이터를 수집하고 스트리밍하는 데 사용되었습니다. 이후 ELK Stack에 포함된 후 로그 메시지를 처리하여 강화하고 목적지로 보낸다.

Logstash 는 수집된 데이터를 추가로 사용할 수 있도록 합니다. 또한 추가 사용을 위해 데이터를 정리하는 데 도움이 되며 방대한 데이터 유형을 지원할 수 있습니다. Logstash용 플러그인의 거대한 에코시스템이 있으므로 기능을 향상할 수 있습니다. 인기 있는 플러그인으로는 Github, file, exec, heartbeat, http 및 iMac이 있습니다.
3가지 주요 구성 요소가 있습니다.
입력
이것은 기계가 이해할 수 있도록 처리를 위해 로그를 전달하는 데 사용됩니다. 데이터베이스 및 애플리케이션에서 데이터를 수집하고 처리하기 위한 50개 이상의 입력 플러그인이 있습니다.
산출
이것은 메시지 필드에 대한 입력 데이터로 구성됩니다. 이것은 이미 처리된 로그에 대한 의사 결정자로 간주됩니다.
필터
액션이나 이벤트를 실행하기 위해 사용되는 조건입니다. 이벤트는 내부 대기열을 사용하여 처리됩니다.
키바나
ELK Stack에서 데이터 시각화에 사용되는 도구입니다. 이것을 사용하여 Elasticsearch 인덱스를 검색할 수 있으며 브라우저 기반의 간단한 인터페이스입니다. 이를 사용하여 많은 양의 데이터를 탐색할 수 있습니다. 그래프, 지리 공간 데이터 및 다이어그램과 같은 많은 기능이 있는 광범위한 대시보드가 있습니다. Kibana는 인덱스에 포함된 Elasticseach 데이터를 검색, 상호 작용 및 확인하는 데 사용할 수 있습니다. 데이터 시각화에 대해 자세히 알아보십시오.
Kibana의 중요한 기능은 다음과 같습니다.

- Windows, Mac 및 Linux에서 실행
- 인덱싱된 데이터의 실시간 시각화 제공
- 이것은 Node.js에서 실행되며 설치 패키지와 함께 필요한 패키지를 얻습니다.
- 차트 및 그래프를 사용하여 과거 정보를 표시할 수 있습니다.
- 자신의 그래프를 개발하고 저장할 수 있습니다.
비트
ELK 아키텍처의 또 다른 구성 요소는 Beats입니다. 메트릭 및 데이터 로그를 가져오기 위해 서버에 설치되는 로그 전달자 세트입니다 . Go 프로그래밍 언어로 코딩되어 있으며 가벼운 도구입니다. Beats의 다른 유형은 다음과 같습니다.
- Filebeat: 로그 파일을 수집합니다 .
- Packetbeat: 네트워크 데이터를 수집합니다 .
- Metricbeat: 서비스 및 시스템 메트릭을 수집합니다 .
- Winlogbeat: Windows 이벤트 로그 파일을 수집하는 데 사용됩니다 .
ELK 스택 튜토리얼: 설치
이제 ELK Stack 튜토리얼 의 마지막 섹션에 도달했습니다 . ELK 스택 설치에 필요한 단계를 살펴보겠습니다.
- ELK Stack 공식 웹사이트 방문 – https://www.elastic.co/downloads
- Elasticsearch를 다운로드하려면 클릭하세요.
- 그런 다음 클릭하여 Logstash를 다운로드하십시오.
- 그런 다음 Kibana를 다운로드하십시오.
- 3개의 zip 폴더가 생성됩니다. 압축을 풀고 공식 웹 사이트의 지침에 따라 개별적으로 다운로드하십시오.
결론
ELK Stack은 Netflix, Medium, LinkedIn과 같은 전 세계 유명 기업에서 로그 데이터를 처리하는 데 사용됩니다. 이는 도구가 다른 애플리케이션에서 데이터를 수집하고 단일 인스턴스로 수렴하는 동안 훌륭하게 작동하기 때문입니다. 수직 및 수평 스케일링에서도 매우 유용합니다. 또한 Python, Java, Perl 및 Ruby와 같은 여러 언어를 지원합니다.
따라서 로그 데이터를 처리하는 데 어려움을 겪고 있는 비즈니스 소유자라면 ELK가 솔루션입니다. 기본 사항을 이해하려면 이 ELK 스택 자습서 를 편리하게 보관하십시오.
빅 데이터에 대해 자세히 알아보려면 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트 및 과제, IIIT- B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.