Elastic Stack

원본 보기

The Elastic Stack

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

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

사용 사례에 따라 Elasticsearch와 Kibana와 함께 작동하는 더 많은 제품(Elastic Stack 또는 ELK라고 함)을 설치해야 할 수 있습니다. 예를 들어:

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

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

Elastic Stack의 구성 요소

이러한 제품들이 어떻게 함께 작동하는지 알아보려면 계속 읽어보세요.

모든 배포에는 Elasticsearch가 포함됩니다. Elasticsearch는 모든 Elastic 배포 및 솔루션의 핵심이 되는 분산 검색 및 분석 엔진, 확장 가능한 데이터 저장소, 그리고 벡터 데이터베이스입니다. Elasticsearch 클라이언트를 사용하여 일반적인 프로그래밍 언어로 데이터에 직접 액세스할 수 있습니다.

Elasticsearch는 모든 유형의 데이터에 대해 거의 실시간 검색 및 분석을 제공하는 데이터 저장소이자 벡터 데이터베이스입니다. 구조화된 텍스트나 비구조화된 텍스트, 시계열(타임스탬프) 데이터, 벡터 또는 지리공간 데이터 등 어떤 데이터든 Elasticsearch는 빠른 검색을 지원하는 방식으로 효율적으로 저장하고 인덱싱할 수 있습니다. 또한 데이터를 쿼리하고 필터링하기 위한 다양한 쿼리 언어, 집계 및 강력한 기능들을 포함합니다.

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

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

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을 관리하고 모니터링하는 강력한 도구입니다. Elasticsearch를 Kibana 없이 사용할 수도 있지만, 대부분의 사용 사례에는 Kibana가 필요하며 Elastic Cloud Serverless를 포함한 일부 배포 유형을 사용할 때 기본적으로 포함됩니다.

Kibana를 사용하면 다음을 할 수 있습니다:

  • Discover를 사용하여 원시 데이터를 대화형으로 검색하고 필터링할 수 있습니다.
  • 드래그 앤 드롭 경험을 제공하는 Lens와 같은 도구로 차트, 그래프, 메트릭과 같은 맞춤형 시각화를 구축할 수 있습니다.
  • 시각화를 대화형 대시보드로 조합하여 정보에 대한 포괄적인 개요를 얻을 수 있습니다.
  • 지리공간 분석을 수행하고 대시보드에 지도를 추가할 수 있습니다.
  • 중요한 데이터 이벤트에 대한 알림을 구성하고 알림 및 케이스로 인시던트를 추적할 수 있습니다.
  • 프로세서, 파이프라인, 데이터 스트림, 훈련된 모델 등과 같은 리소스를 관리할 수 있습니다.

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

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

Kibana로 데이터 탐색 및 분석에서 자세히 알아보세요.

데이터를 검색하고, 시각화하고, 인사이트를 얻기 위해 사용하기 전에 먼저 Elasticsearch에 데이터를 가져와야 합니다. 데이터를 수집하는 방법은 여러 가지가 있습니다. 최적의 접근 방식은 데이터 유형과 특정 사용 사례에 따라 달라집니다. 예를 들어, Elastic Agent로 로그, 메트릭 및 기타 유형의 데이터를 수집하고 전송하거나 APM으로 세부적인 성능 정보를 수집할 수 있습니다. 데이터가 저장되기 전에 변환하고 보강하려는 경우 Elasticsearch ingest pipelines 또는 Logstash를 사용할 수 있습니다.

어떤 수집 구성 요소를 사용할지 결정하는 데 어려움이 있나요? Ingest: Bring your data to ElasticIngest tools overview를 참조하세요.

Elastic Agent is a single, unified way to add monitoring for logs, metrics, and other types of data to a host. It can also protect hosts from security threats, query data from operating systems, and forward data from remote services or hardware. Each agent has a single policy to which you can add integrations for new data sources, security protections, and more. You can also use Elastic Agent processors to sanitize or enrich your data.

To monitor the state of all your Elastic Agents, manage agent policies, and upgrade Elastic Agent binaries or integrations, refer to Central management in Fleet.

Learn more about Elastic Agent.

APM is an application performance monitoring system. It allows you to monitor software services and applications in real-time by collecting detailed performance information on response time for incoming requests, database queries, calls to caches, external HTTP requests, and more. This makes it easy to pinpoint and fix performance problems quickly.

Learn more about APM.

OpenTelemetry는 텔레메트리 데이터를 수집, 처리 및 내보내기 위한 벤더 중립적인 관측성 프레임워크입니다. Elastic은 Cloud Native Computing Foundation (CNCF)의 회원이며 OpenTelemetry 프로젝트의 적극적인 기여자입니다.

업스트림 OTel 개발 지원 외에도, Elastic은 Elastic Observability와 함께 작동하도록 특별히 설계된 Elastic Distributions of OpenTelemetry를 제공합니다.

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

Beats는 서버에 에이전트로 설치하여 운영 데이터를 Elasticsearch로 전송하는 오픈 소스 데이터 전송기입니다. Elastic은 로그, 메트릭, 가동 시간과 같은 다양한 유형의 데이터에 대해 별도의 Beats를 제공합니다.

Beats는 대부분의 사용 사례에서 Elastic Agent로 대체되었습니다. Elastic Agent를 사용하면 핵심 Beats 기능을 얻을 수 있지만 더 많은 추가 기능도 함께 제공됩니다. 데이터 요구사항에 따라 호스트에 여러 Beats 전송기를 설치해야 할 수도 있는 반면, 호스트에 설치된 단일 Elastic Agent는 여러 유형의 데이터를 수집하고 전송할 수 있습니다.

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

Ingest pipelines let you perform common transformations on your data before indexing them into Elasticsearch. You can configure one or more "processor" tasks to run sequentially, making specific changes to your documents before storing them in Elasticsearch.

Learn more about ingest pipelines.

Logstash is a data collection engine with real-time pipelining capabilities. It can dynamically unify data from disparate sources and normalize the data into destinations of your choice. Logstash supports a broad array of input, filter, and output plugins, with many native codecs further simplifying the ingestion process.

Learn more about Logstash.

When installing the Elastic Stack, you must use the same version across the entire stack. For example, if you are using Elasticsearch 9.3.3, you install Beats 9.3.3, APM Server 9.3.3, Elasticsearch Hadoop 9.3.3, Kibana 9.3.3, and Logstash 9.3.3.

If you’re upgrading an existing installation, see Upgrade your deployment, cluster, or orchestrator for information about how to ensure compatibility with 9.3.3.

If you're deploying the Elastic Stack in a self-managed cluster, then install the Elastic Stack products you want to use in the following order:

Installing in this order ensures that the components each product depends on are in place.

Tip

If you're deploying a production environment and you plan to use trusted CA-signed certificates for Elasticsearch, then you should do so before you deploy Fleet and Elastic Agent. If new security certificates are configured, any Elastic Agents need to be reinstalled, so we recommend that you set up Fleet and Elastic Agent with the appropriate certificates in place.