Elastic Stack

Elastic v9.0+ (latest 9.5.2)번역일: 2026-08-20원본 보기

Elastic Stack은 Elasticsearch, Kibana, Elastic Agent, Logstash 등 오픈소스 제품들이 함께 동작하며 대규모 데이터를 수집, 저장, 검색, 시각화하는 제품군입니다. 이 페이지에서는 각 구성 요소를 설명하고 Elastic 배포 환경 전반에서 이들이 어떻게 결합되는지 살펴봅니다.

모든 Elastic 배포 및 프로젝트는 동일한 오픈소스 기반을 공유합니다:

  • Elasticsearch: 색인, 쿼리, 분석을 처리하는 분산 데이터 저장소이자 검색 엔진입니다.
  • Kibana: 대시보드, 시각화, 관리 도구를 제공하는 사용자 인터페이스입니다.

사용 사례에 따라 Elasticsearch 및 Kibana와 함께 동작하는 추가 제품(Elastic Stack 또는 ELK라고 부릅니다)을 설치해야 할 수도 있습니다. 예를 들면 다음과 같습니다:

  • Elastic Agent: 데이터를 수집해 Elasticsearch로 전달하는 경량 데이터 시퍼입니다.
  • Logstash: 데이터 수집 및 변환 엔진으로, 더 복잡한 ETL(추출, 변환, 적재) 파이프라인에 주로 사용됩니다.

Elastic Stack에는 대규모 데이터를 수집, 저장, 탐색하기 위한 제품들이 포함되어 있습니다:

Components of the Elastic Stack

이 제품들이 어떻게 함께 동작하는지 계속 읽어보세요.

모든 배포에는 Elasticsearch가 포함됩니다. Elasticsearch는 모든 Elastic 배포와 솔루션의 중심에 있는 분산 검색·분석 엔진이자 확장 가능한 데이터 저장소이며 벡터 데이터베이스입니다. Elasticsearch 클라이언트를 사용하면 널리 쓰이는 프로그래밍 언어로 데이터에 직접 접근할 수 있습니다.

Elasticsearch는 모든 유형의 데이터에 대해 거의 실시간에 가까운 검색과 분석을 제공하는 데이터 저장소이자 벡터 데이터베이스입니다. 정형 또는 비정형 텍스트, 시계열(타임스탬프가 있는) 데이터, 벡터, 지리 공간 데이터 무엇이든 Elasticsearch는 빠른 검색을 지원하는 방식으로 효율적으로 저장하고 색인할 수 있습니다. 또한 여러 쿼리 언어, 집계 기능, 그리고 데이터를 쿼리하고 필터링하는 강력한 기능을 제공합니다.

Elasticsearch는 복원력이 뛰어나고 확장 가능한 분산 시스템으로 설계되었습니다. 노드라고 부르는 하나 이상의 서버로 구성된 클러스터로 실행됩니다. Elasticsearch의 기본 저장 단위인 인덱스에 데이터를 추가하면, 데이터는 샤드라는 조각으로 나뉘어 클러스터의 여러 노드에 분산됩니다. 이러한 아키텍처 덕분에 Elasticsearch는 대용량 데이터를 처리할 수 있으며, 노드에 장애가 발생해도 데이터를 계속 사용할 수 있습니다. Elastic Cloud Serverless를 사용하는 경우, 고유한 Search AI Lake 클라우드 네이티브 아키텍처를 통해 노드, 샤드, 복제본이 자동으로 관리됩니다.

Elasticsearch에는 AI 기반 기능과 내장 자연어 처리(NLP) 모델도 포함되어 있어, 예측 수행, 추론 실행, LLM 연동을 더 빠르게 진행할 수 있습니다.

Elasticsearch의 거의 모든 부분은 REST API를 통해 프로그래밍 방식으로 구성하고 관리할 수 있습니다. 이를 통해 반복 작업을 자동화하고 Elastic 관리를 기존 운영 워크플로에 통합할 수 있습니다. 예를 들어 API로 인덱스를 관리하고, 클러스터 설정을 업데이트하고, 복잡한 쿼리를 실행하고, 보안을 구성할 수 있습니다. 이러한 API 우선 접근 방식은 인프라를 코드로 관리하는 방식(infrastructure-as-code)을 구현하고 대규모 배포를 관리하는 데 핵심적인 역할을 합니다.

Elasticsearch 데이터 저장소, 분산 아키텍처, API에 대해 자세히 알아보세요.

클라이언트는 Java, Ruby, Go, Python처럼 널리 쓰이는 언어에서 Elasticsearch와 주고받는 API 요청 및 응답을 편리하게 관리할 수 있는 수단을 제공합니다. 공식 클라이언트와 커뮤니티 기여 클라이언트를 모두 사용할 수 있습니다.

Elasticsearch 클라이언트에 대해 자세히 알아보기.

Kibana를 사용해 Elasticsearch에 저장된 데이터를 탐색, 관리, 시각화하고 Elastic Stack의 구성 요소를 관리하세요.

Kibana는 모든 Elastic 솔루션과 Serverless 프로젝트를 위한 사용자 인터페이스를 제공합니다. 데이터를 시각화하고 분석하며 Elastic Stack을 관리하고 모니터링하는 강력한 도구입니다. Kibana 없이도 Elasticsearch를 사용할 수는 있지만, 대부분의 사용 사례에서는 Kibana가 필요하며 Elastic Cloud Serverless를 비롯한 일부 배포 유형에서는 기본으로 포함됩니다.

Kibana로 다음과 같은 작업을 할 수 있습니다:

  • Discover를 사용해 원본 데이터를 대화형으로 검색하고 필터링합니다.
  • 드래그 앤 드롭 방식을 제공하는 Lens 같은 도구로 차트, 그래프, 지표 등 맞춤형 시각화를 만듭니다.
  • 시각화를 대화형 대시보드로 구성해 정보를 한눈에 파악합니다.
  • 지리 공간 분석을 수행하고 대시보드에 지도를 추가합니다.
  • 중요한 데이터 이벤트에 대한 알림을 구성하고 알림 및 케이스로 인시던트를 추적합니다.
  • 프로세서, 파이프라인, 데이터 스트림, 학습된 모델 등의 리소스를 관리합니다.

각 솔루션 또는 프로젝트 유형은 내장 대시보드와 AI 어시스턴트 같은 맞춤형 기능을 Kibana에서 제공합니다.

Kibana에는 Console 같은 쿼리 도구도 있어, Elasticsearch API로 요청을 직접 보내고 응답을 확인하는 대화형 방식을 제공합니다. 안전한 자동화 접근을 위해 API 키를 생성하고 관리하여 스크립트와 애플리케이션을 인증할 수 있습니다.

자세한 내용은 Kibana로 데이터 탐색 및 분석하기를 참고하세요.

데이터를 검색하고 시각화하며 인사이트를 얻으려면 먼저 데이터를 Elasticsearch에 넣어야 합니다. 데이터를 수집하는 방법은 여러 가지입니다. 가장 적합한 방식은 데이터 유형과 구체적인 사용 사례에 따라 달라집니다. 예를 들어 Elastic Agent로 로그, 지표 및 기타 유형의 데이터를 수집해 전송하거나, APM으로 상세한 성능 정보를 수집할 수 있습니다. 데이터를 저장하기 전에 변환하고 보강하려면 Elasticsearch 인제스트 파이프라인이나 Logstash를 사용할 수 있습니다.

어떤 수집 구성 요소를 사용할지 고민 중이신가요? 인제스트: 데이터를 Elastic으로 가져오기와 인제스트 도구 개요를 참고하세요.

Elastic Agent는 호스트에 로그, 지표 및 기타 유형의 데이터에 대한 모니터링을 추가하는 단일 통합 수단입니다. 또한 호스트를 보안 위협으로부터 보호하고, 운영 체제에서 데이터를 조회하며, 원격 서비스나 하드웨어에서 데이터를 전달할 수도 있습니다. 각 에이전트에는 정책이 하나씩 있으며, 여기에 새로운 데이터 소스, 보안 보호 기능 등을 위한 통합을 추가할 수 있습니다. Elastic Agent 프로세서를 사용해 데이터를 정제하거나 보강할 수도 있습니다.

모든 Elastic Agent의 상태를 모니터링하고, 에이전트 정책을 관리하며, Elastic Agent 바이너리나 통합을 업그레이드하려면 Fleet의 중앙 관리를 참고하세요.

Elastic Agent에 대해 자세히 알아보기.

APM은 애플리케이션 성능 모니터링 시스템입니다. 수신 요청의 응답 시간, 데이터베이스 쿼리, 캐시 호출, 외부 HTTP 요청 등에 대한 상세한 성능 정보를 수집해 소프트웨어 서비스와 애플리케이션을 실시간으로 모니터링할 수 있습니다. 덕분에 성능 문제를 빠르게 찾아내고 효율적으로 해결할 수 있습니다.

APM에 대해 자세히 알아보기.

OpenTelemetry는 텔레메트리 데이터를 수집, 처리, 내보내기 위한 벤더 중립적 옵저버빌리티 프레임워크입니다. Elastic은 Cloud Native Computing Foundation(CNCF)의 회원사이자 OpenTelemetry 프로젝트의 활발한 기여자입니다.

Elastic은 업스트림 OTel 개발을 지원하는 것에 더해, Elastic Observability와 함께 동작하도록 설계된 Elastic Distributions of OpenTelemetry를 제공합니다.

Elastic OpenTelemetry를 사용하면 벤더 중립적인 계측을 활용하고, 독자적인 에이전트 없이 표준화된 트레이스, 지표, 로그 같은 네이티브 OTel 데이터를 스트리밍할 수 있습니다.

Beats는 서버에 에이전트로 설치해 운영 데이터를 Elasticsearch로 전송하는 오픈소스 데이터 시퍼입니다. Elastic은 로그, 지표, 가동 시간 등 데이터 유형별로 별도의 Beats를 제공합니다.

대부분의 사용 사례에서 Beats는 Elastic Agent로 대체되었습니다. Elastic Agent를 사용하면 Beats의 핵심 기능에 더해 추가 기능까지 함께 사용할 수 있습니다. 데이터 요구 사항에 따라 호스트에 여러 개의 Beats 시퍼를 설치해야 하는 경우에도, 호스트에 설치된 하나의 Elastic Agent가 여러 유형의 데이터를 수집하고 전송할 수 있습니다.

Beats에 대해 자세히 알아보기.

인제스트 파이프라인을 사용하면 데이터를 Elasticsearch에 색인하기 전에 일반적인 변환 작업을 수행할 수 있습니다. 하나 이상의 "프로세서" 작업을 순차적으로 실행하도록 구성해, 문서를 Elasticsearch에 저장하기 전에 특정한 변경을 적용할 수 있습니다.

인제스트 파이프라인에 대해 자세히 알아보기.

Logstash는 실시간 파이프라이닝 기능을 갖춘 데이터 수집 엔진입니다. 서로 다른 소스의 데이터를 동적으로 통합하고, 원하는 대상에 맞게 데이터를 정규화할 수 있습니다. Logstash는 다양한 입력, 필터, 출력 플러그인을 지원하며, 여러 네이티브 코덱이 수집 과정을 한층 더 단순화합니다.

Logstash에 대해 자세히 알아보기.

Elastic Stack을 설치할 때는 스택 전체에서 동일한 버전을 사용해야 합니다. 예를 들어 Elasticsearch 9.5.1을 사용한다면 Beats 9.5.1, APM Server 9.5.1, Elasticsearch Hadoop 9.5.1, Kibana 9.5.1, Logstash 9.5.1을 설치합니다.

기존 설치를 업그레이드하는 경우, 9.5.1과의 호환성을 확보하는 방법은 배포, 클러스터 또는 오케스트레이터 업그레이드를 참고하세요.

자체 관리 클러스터에 Elastic Stack을 배포하는 경우, 사용하려는 Elastic Stack 제품을 다음 순서로 설치하세요:

이 순서대로 설치하면 각 제품이 의존하는 구성 요소가 미리 준비됩니다.

Tip

프로덕션 환경을 배포하면서 Elasticsearch에 신뢰할 수 있는 CA 서명 인증서를 사용할 계획이라면, Fleet과 Elastic Agent를 배포하기 전에 먼저 설정해야 합니다. 새 보안 인증서를 구성하면 모든 Elastic Agent를 다시 설치해야 하므로, 적절한 인증서를 갖춘 상태에서 Fleet과 Elastic Agent를 설정할 것을 권장합니다.