Elastic 데이터 스트림 명명 체계 소개
Elastic 7.9에서는 시계열 데이터를 위해 Elasticsearch에서 인덱스와 데이터 스트림을 구성하는 새로운 방식과 함께 Elastic Agent 및 Fleet가 출시되었습니다. 이 블로그 글에서는 Elastic 데이터 스트림 명명 체계의 개요와 작동 방식을 살펴봅니다. 이 글은 Elastic 데이터 스트림 명명 체계를 다루는 블로그 시리즈의 첫 번째 글입니다.
Elastic 데이터 스트림 명명 체계
Elastic 데이터 스트림 명명 체계는 시계열 데이터를 위해 만들어졌으며, 다음 명명 규칙을 사용하여 데이터 세트를 여러 데이터 스트림으로 분할하는 방식으로 구성됩니다.
- type: 데이터를 설명하는 일반 유형
- dataset: 수집된 데이터와 그 구조를 설명
- namespace: 사용자가 구성할 수 있는 임의의 그룹화
이 세 부분은 “-”로 결합되며, ‘logs-nginx.access-production’과 같은 데이터 스트림이 생성됩니다. 세 부분 모두에서 “-” 문자는 사용할 수 없습니다. 즉, 모든 데이터 스트림은 다음과 같은 방식으로 명명됩니다.
{type}-{dataset}-{namespace}
데이터 세트와 네임스페이스는 각각 기본값이 있으며, 'dataset=generic' 및 'namespace=default'입니다. Elastic Agent의 경우 사용자가 로그 파일 수집을 시작하기만 하면 데이터는 'logs-generic-default'에 저장됩니다.
Elastic 데이터 스트림 명명 체계의 모든 이점을 활용하려면 각 문서에 다음 세 필드가 포함되어야 합니다.
- data_stream.type
- data_stream.dataset
- data_stream.namespace
이러한 필드에 관한 자세한 내용은 Elastic Common Schema(ECS)에서 확인할 수 있습니다. 위 필드는 상수 키워드로 매핑됩니다. 따라서 쿼리해야 하는 샤드 수가 줄어들어 이러한 필드에 대한 쿼리를 효율적으로 수행할 수 있습니다.
Elastic 데이터 스트림 명명 체계의 이점
Elastic 데이터 스트림 명명 체계는 Beats와 Logstash에서 사용하던 이전 인덱싱 전략과 비교해 몇 가지 이점이 있습니다. 소수의 대형 인덱스를 사용하는 대신 더 작고 밀도가 높은 다수의 데이터 스트림을 사용합니다. 주요 이점은 다음과 같습니다.
- 인덱스당 필드 수 감소: 데이터 세트별로 여러 데이터 스트림에 데이터가 분할되므로, 각 데이터 스트림에는 최소한의 필드 집합만 포함됩니다. 이에 따라 저장 공간 효율성이 향상되고 쿼리가 빨라집니다.
- 더욱 세분화된 데이터 제어: 데이터 세트와
namespace를 기준으로 데이터를 분할하면 롤오버, 보존 및 보안 권한을 세분화하여 제어할 수 있습니다. - 유연성: 사용자는
namespace를 사용하여 원하는 방식으로 데이터를 분할하고 구성할 수 있습니다. - 더욱 맞춤화된 경험: Elastic 데이터 스트림 명명 체계의 공통 구조를 활용하면 데이터 스트림을 기반으로 더욱 맞춤화된 경험을 구축할 수 있습니다.
- 필요한 수집 권한 감소:: 이전에는 Elastic Agent가 템플릿과 수집 파이프라인을 설정했습니다. 이제는 이 작업이 중앙에서 수행되므로, 수집 도구에는 데이터를 추가할 권한만 있으면 됩니다.
Elastic 데이터 스트림 명명 체계 사용
Elastic 데이터 스트림 명명 체계는 데이터 스트림, 새로운 Elasticsearch 구성 템플릿 및 [상수 키워드]를 지원해야 하므로 Elastic Stack 버전 7.9 이상에서 지원됩니다. logs-*-* 및 metrics-*-*의 인덱스 템플릿은 Elasticsearch 7.9 이상 버전과 함께 제공됩니다. Elastic Agent가 전송하는 모든 데이터에는 Elastic 데이터 스트림 명명 체계가 사용됩니다. 다른 데이터 전송 도구에서 이를 사용하려면 명명 구조를 따르고 data_stream 필드를 추가하면 됩니다.
요약
이 글에서는 Elastic 데이터 스트림 명명 체계를 간략히 살펴보았습니다. 후속 블로그 글에서는 이 체계가 내부적으로 작동하는 방식의 기술적 세부 사항, Elastic Agent가 이를 사용하는 구체적인 방식 및 이를 활용해 직접 이점을 얻는 방법을 자세히 살펴보겠습니다. 추가 정보를 확인하려면 Elastic Community YouTube 채널에서 새로운 Elastic 인덱싱 전략 심층 분석을 시청하세요.