[Elastic Search, Kafka] ELK란?

DEINGVELOP·2022년 10월 18일

ELK란?

: Elasticsearch, Logstash, Kibana의 세 가지 인기 있는 프로젝트로 구성된 스택

  • Elasticsearch라고도 불리는 ELK 스택은 사용자에게 모든 시스템과 애플리케이션에서 로그를 집계하고 이를 분석하며 애플리케이션과 인프라 모니터링 시각화를 생성하고, 빠르게 문제를 해결하며 보안 분석할 수 있는 능력을 제공한다.

  • ELK 솔루션에서 Beats가 추가되면서 이를 ELK Stack이라고 불린다.
    • Beats : 서버에 에이전트로 설치하여 다양한 유형의 데이터를 ElasticSearch 또는 Logstash에 전송하는 오픈 소스 데이터 발송자다.



분석, 저장 기능

  • Apache Lucene 기반으로 개발한 분산 검색 엔진

  • Logstash를 통해 수신된 데이터를 저장소에 저장하는 역할을 담당한다.

  • 데이터를 중심부에 저장하여 예상되는 항목을 검색하고, 예상치 못한 항목을 밝혀낼 수 있다.

  • 정형, 비정형, 위치 정보, 메트릭 등 원하는 방법으로 다양한 유형의 검색을 수행하고, 결합할 수 있다.

✅ 참고

  • 2021년 1월 21일, Elastic NV는 소프트웨어 라이선스 전략을 변경하는 바, 퍼미시브 라이선스인 Apache License Version 2.0(ALv2) 라이선스 하에서 Elasticsearch 및 Kibana의 새로운 버전을 더 이상 릴리스하지 않는다고 발표
  • 대신 새로운 버전의 소프트웨어는 Elastic License 또는 SSPL 아래에서 소스 코드를 사용할 수 있는 Elastic 라이선스 하에서 제공됨
    • 해당 라이선스 : 오픈 소스가 아니며 사용자에게 동일한 자유를 제공하지 않음
  • 오픈 소스 커뮤니티와 고객이 계속해서 안전하고 고품질에 완전한 오픈 소스 검색과 분석 제품군을 사용할 수 있도록 AWS는 커뮤니티 주도적이며 오픈 소스 ElasticsearchKibana의 ALv2 라이선스 갈래인 OpenSearch 프로젝트를 도입
  • OpenSearch 제품군은 검색 엔진인 OpenSearch와 시각화 및 사용자 인터페이스인 OpenSearch 대시보드로 구성됨



L = Logstash

수집 기능

  • 오픈소스 서버측 데이터 처리 파이프라인

  • 다양한 소스에서 동시에 데이터를 수집하고 변환하여 원하는 stash 보관소로 보낸다.

  • 수집할 로그를 선정해서, 지정된 대상 서버(ElasticSearch)에 인덱싱하여 전송하는 역할을 담당하는 소프트웨어

  • 사전 구축된 필터와 200개가 넘은 플러그인에 대한 지원으로 Logstash는 사용자가 데이터 원본이나 유형에 관계없이 데이터를 쉽게 수집할 수 있도록 도와줌



K = Kibana

시각화 도구

  • 로그 및 이벤트 검토에 사용하는 데이터 시각화 및 탐색 도구

  • Kibana는 사용하기 쉽고 대화형 차트와 사전 구축된 집계 및 필터, 지리 공간적 지원을 제공하고 이를 사용해 Elasticsearch에 저장된 데이터를 시각화할 때 원하는 선택을 할 수 있음

  • 데이터를 시각적으로 탐색하고, 실시간으로 분석할 수 있다.

  • 시각화를 담당하는 HTML + Javascript 엔진이라고 보면 된다.



ELK 도입의 효과

  • ELK 스택은 로그 분석 공간에서의 수요를 충족시킨다는 점에서 매우 효과적이다.

  • IT 인프라가 점점 더 퍼블릭 클라우드로 이동할수록, 해당 인프라와 서버 로그, 애플리케이션 로그, 클릭스트림 프로세스를 모니터링하기 위해 로그 관리와 분석 솔루션이 필요하다.

  • ELK 스택은 개발자와 DevOps 엔지니어가 오류 진단, 애플리케이션 성능, 인프라 모니터링으로부터 값진 인사이트를 얻을 수 있도록 적은 비용으로 단순하면서도 강력한 로그 분석 솔루션을 제공한다.



ELK 스택 - 맞는 옵션 선택하기

  • Apache 2.0 라이선스 버전의 Elasticsearch 및 Kibana(7.10.2 버전까지)에 직접 ELK 스택을 배포하고 관리하거나,

  • ELK 스택의 오픈 소스 대안으로 OpenSearch, OpenSearch 대시보드 및 Logstash를 자체 관리할 수 있다.

그러나, 개발자가 정말 비즈니스 로직이 담긴 애플리케이션 구축보다 ELK 운영 작업 관리에 시간을 쓰게 되면 이는 비효율적일 것이다.
또, 자체적으로 관리/운영을 하게 되면 사용자의 비즈니스 요구 사항에 맞춰 확장 또는 축소하거나 보안 및 규정 준수를 성취하는 것도 다 개발자의 과제가 된다.
이를 방지하기 위해서는 AWS의 OpenSearch Service를 사용할 수도 있다.

Amazon OpenSearch Service란?

  • 최신 버전의 OpenSearch를 제공하며, 19가지 버전의 Elasticsearch(버전 1.5~7.10) 및 OpenSearch Dashboards 및 Kibana(버전 1.5~7.10)이 제공하는 시각화 기능을 지원하는 서비스

  • Amazon Kinesis Data Firehose, Amazon CloudWatch Logs, AWS IoT와 같은 여러 AWS 서비스는 물론 Logstash를 통합하여 사용자가 본인의 사용 사례 요구 사항에 적합한 데이터 수집 도구를 선택할 수 있는 유연성을 제공한다.

  • OpenSearch에는 Elasticsearch B.V. 및 다른 소스 코드의 특정 Apache 라이선스 Elasticsearch 코드가 포함된다.

  • Elasticsearch B.V.는 다른 소스 코드의 소스가 아니다. ELASTICSEARCHElasticsearch B.V.의 등록 상표이다.

0개의 댓글