Elastic Common Schema와 OpenTelemetry - 벤더에 종속되지 않고 더 나은 Observability와 보안을 실현할 수 있는 방법

ecs-otel-announcement-1.jpeg

KubeCon Europe에서, OpenTelemetry(OTel)가 프로젝트에 대한 기여로 Elastic Common Schema(ECS)를 받아들였다는 발표가 있었습니다. 그 목표는 ECS와 OpenTelemetry의 시맨틱 규칙(SemConv)을 OpenTelemetry가 유지관리하는 단일 개방형 스키마로 통합하는 것입니다. 이 FAQ에서는 Elastic이 Elastic Common Schema로 OpenTelemetry에 기여한 내용과 이것이 업계에서 공통 스키마를 추진하는 데 어떻게 도움이 될 것인지, 그리고 이것이 Observability와 보안에 미치는 영향에 대해 자세히 설명합니다.

발표되는 내용은 무엇인가요? 

Elastic은 자사의 오픈 소스 프로젝트인 Elastic Common Schema(ECS)를 클라우드 네이티브 컴퓨팅 재단(CNCF) 산하 OpenTelemetry 프로젝트에 기여하여 Observability 및 보안 데이터를 위한 공통 스키마로 통합하도록 지원하고 있습니다. 공통 스키마를 사용하면 모든 Observability 또는 보안 플랫폼에서 해당 데이터를 보다 효율적으로 분석, 시각화하고 상관 관계를 설정할 수 있도록 데이터를 정규화하는 데 도움이 됩니다. OpenTelemetry의 ECS 채택은 메트릭, 로그, 추적, 리소스(호스트, 컨테이너 등) 및 보안 이벤트에 대한 성숙하고 검증된 공통 스키마를 통해 OTel 사용자 커뮤니티에 이점을 제공합니다. 

Elastic 사용자가 알아야 할 사항은 무엇인가요?

Elastic은 ECS에 대한 Elastic 사용자의 투자를 보호할 것입니다. OpenTelemetry 내에서 ECS가 지속적으로 발전함에 따라, ECS 사용자는 업계에서 가장 널리 사용되는 시맨틱 규칙에 대한 표준이 될 것으로 예상되는 바를 채택할 수 있는 확실한 경로를 제공받게 됩니다.

Elastic은 OTel 커뮤니티에 참여하여 시간이 지남에 따라 ECS와 OpenTelemetry의 시맨틱 규칙을 적절하게 병합하기 위해 긴밀하게 협력할 것입니다. Elastic은 현재 ECS 형식의 사용자 데이터를 계속 지원할 예정이지만, 스키마 진화는 새로 병합된 스키마에서 이루어지게 됩니다. Elastic 사용자는 선택에 따라 현재("프로즌") ECS 형식을 계속 수집하고 사용하거나 새 스키마로 마이그레이션할 수 있습니다.

Elastic은 새 스키마로 마이그레이션하기로 결정하는 사용자를 위해 간단한 마이그레이션에 대한 지침과 도구를 제공할 것입니다.

Elastic이 OTel에 ECS를 기여하는 이유는 무엇인가요?

OpenTelemetry의 시맨틱 규칙(SemConv)과 Elastic Common Schema 통합은 리소스, 메트릭, 로그, 추적, 보안 이벤트 및 감사 이벤트에 대한 공통 이름 지정 체계를 제공하며, 이는 코드베이스, 라이브러리 및 플랫폼에서 사용할 수 있습니다. 이러한 ECS와 OTel 시맨틱 규칙의 통합은 다음과 같을 것입니다.

  • 이벤트 데이터 생산자가 광범위하게 채택할 수 있도록 준비된 단일 표준을 중심으로 노력을 조정하게 됩니다
  • 운영에 대한 가시성 및 근본 원인 분석 향상을 이루어냅니다
  • 벤더와 커뮤니티가 데이터 변환 작업을 처리하는 대신 보다 풍부한 Observability 및 보안 기능에 집중할 수 있도록 지원합니다
  • 보안과 Observability 사이를 포함한 다양한 신호 유형에 걸쳐 조직 간 분석을 용이하게 합니다
  • OpenTelemetry의 채택과 Observability 및 보안 도메인의 지속적인 발전 및 융합을 증대시킵니다

조직에 공통 스키마가 필요한 이유는 무엇인가요?

조직에서는 문제가 발생한 시기(가시성)와 문제가 발생한 이유(근본 원인 분석)를 파악하는 데 어려움을 겪는 경우가 너무나 많습니다. 이러한 운영상의 문제는 서로 다른 스키마로 분리되고 구조화된 데이터 때문입니다. 조직은 문제를 이해하거나 근본 원인을 분석하거나 운영을 최적화하는 것보다 불필요한 데이터 변환에 더 많은 시간을 할애합니다.

공통 스키마에 따라 구성된 데이터를 사용하면, 운영 팀은 평균 해결 시간(MTTR)을 단축하는 동시에 문제를 인식, 해결 및 방지하는 데 집중할 수 있게 됩니다. 또한 중복 데이터가 없고 정규화를 위해 데이터를 처리할 필요가 없어 운영 팀은 비용을 절감할 수 있습니다. 

공통 스키마의 예시는 무엇인가요?

간단한 예시는 클라이언트에 대한 원격 측정을 모니터링하거나 관리하는 여러 소스에서 클라이언트의 IP 주소를 보내는 경우입니다. Observability 플랫폼은 다음과 같은 여러 형식으로 이 정보를 수신합니다.

src:10.42.42.42
client_ip:10.42.42.42 
apache2.access.remote_ip: 10.42.42.42 
context.user.ip:10.42.42.42 
src_ip:10.42.42.42

IP 주소를 여러 방식으로 표시하면 잠재적인 문제를 분석하거나 식별하는 데조차 복잡성이 발생합니다. 관찰된 데이터에 대한 명확한 의미 체계와 공통 스키마가 없으면, Observability 솔루션은 데이터에서 근본 원인을 자동으로 연결, 분석 및 식별하는 데 어려움을 겪습니다. 따라서 운영(SRE, DevOps 등) 팀은 이러한 여러 정의를 이해하고, 이를 찾는 방법을 알고, 그리고 나서 분석을 위해 데이터를 수동으로 정규화해야 합니다.

공통 스키마를 사용하면, 모든 수신 데이터가 표준화된 형식으로 표시됩니다. 위의 예를 들면, 각 소스는 다음과 같이 동일한 방법으로 클라이언트의 IP 주소를 식별하게 됩니다.

source.ip:10.42.42.42

이제 Observability와 보안 솔루션은 일관되게 정의된 데이터 스키마를 활용하여 데이터 상관 관계 및 분석을 자동화할 수 있습니다. 이제 운영 팀은 불필요한 데이터 변환에 시간을 할애하기보다 문제를 이해하고, 근본 원인을 찾고, 운영을 최적화하는 데 더 많은 시간을 할애합니다.

Elastic Common Schema(ECS)는 무엇인가요?

오픈 소스(Apache 2.0) 사양인 Elastic Common Schema(ECS)는 Elasticsearch에서 이벤트 데이터를 저장할 때 사용할 공통 필드 집합을 정의하기 위해 Elastic 사용자 커뮤니티의 지원을 받아 개발되었습니다. ECS의 목표는 Elasticsearch 사용자가 이벤트 데이터를 정규화하여, 각 이벤트에 표시된 데이터를 보다 효과적으로 분석, 시각화하고 상관 관계를 파악할 수 있도록 지원하고 권장하는 것입니다. ECS는 Elastic Observability와 Security 솔루션의 기반이며 2019년에 시작된 이래 수년간 진화하고 성장한 검증되고 널리 채택된 스키마입니다.

OpenTelemetry와 OpenTelemetry 시맨틱 규칙은 무엇인가요?

OpenTelemetry(OTel)는 소프트웨어 성능 및 동작을 이해하기 위해 원격 측정 데이터(메트릭, 로그 및 추적)를 생성, 수집, 처리하여 내보내는 데 사용할 수 있는 사양, 도구, API 및 SDK 모음을 제공하는 오픈 소스 프로젝트입니다. 이것은 CNCF 에코시스템에서 두 번째로 속도가 빠른 프로젝트가 되었습니다.

OpenTelemetry의 시맨틱 규칙(SemConv)은 다양한 종류의 작업 및 데이터에 대해 공통 이름을 지정합니다. OpenTelemetry의 SemConv를 사용하는 이점은 OTel 최종 사용자를 위한 코드베이스, 라이브러리 및 플랫폼 전체에서 표준화할 수 있는 공통 이름 지정 체계를 따르는 데 있습니다. 또한 벤더별 의미 체계를 서로 분리하는 것도 또 하나의 큰 이점입니다. 이렇게 OpenTelemetry의 SemConv를 사용하여 데이터 사용자는 데이터의 벤더 종속 문제를 해결합니다. 따라서, 데이터 사용자는 데이터 수집을 조정할 필요 없이 Observability 솔루션들(및 ECS 기여를 통해 보안 솔루션들) 사이를 손쉽게 이동할 수 있습니다.

ECS 기여가 OpenTelemetry에 어떻게 도움이 되나요?

OpenTelemetry에서 가장 크게 필요한 사항은 로그 및 보안 이벤트를 설명하기 위한 스키마의 정의를 가속화하는 것입니다. ECS에 대한 기여자들은 이미 OTel에서 채택할 수 있는 통합되고 잘 받아들여지는 로깅 시맨틱 규칙 집합을 정의했습니다. ECS는 Observability 및 보안 사용 사례에서 활용되는 로그를 구성하는 데 널리 사용됩니다.

이 조합을 통해 벤더가 생성한 로깅과 OTel 구성 요소 로그(예: OTel Collector Logs Receivers 및 Processors)의 통합이 가속화됩니다. 목표는 가장 일반적인 시스템 유형에 대해 벤더에 구애받지 않는 시맨틱 규칙을 정의하고 벤더가 생성한 구성 요소나 오픈 소스 구성 요소(예: HTTP 액세스 로그, 네트워크 로그, 시스템 액세스/인증 로그)를 지원하여 이러한 새 신호에 대한 OTel 상관 관계를 확장하는 것입니다. 또한 사용자는 OTel 호환 Observability와 보안 제품 및 서비스를 통해 완벽하게 인식되는 턴키 로그 통합을 사용할 수 있게 됩니다. 

보안을 위한 ECS의 완성도는 보안 사용 사례를 위해 OpenTelemetry로 수집되는 데이터의 유용성을 개선할 수 있는 좋은 기회입니다. ECS를 통합하면 OTel 생산자는 보안 이벤트를 구성할 수 있게 됩니다.

ECS에 대한 라이선싱에 변경 사항이 있게 되나요?

ECS 라이선싱은 변경되지 않습니다. ECS는 OpenTelemetry와 마찬가지로 Apache 2.0 라이선스를 받습니다.

Elastic은 현재 OpenTelemetry를 지원하나요?

Elastic은 OTel을 기본적으로 지원합니다. Elastic 사용자는 애플리케이션에서 직접 또는 OTel 수집기를 통해 OTel SemConv 및 ECS 양쪽 모두를 처리하는 Elastic APM으로 OTel 데이터를 전송할 수 있습니다. 이 기본 OTel 지원을 통해, 모든 Elastic APM 기능을 OTel에서 사용할 수 있습니다. OTel 통합에 대한 자세한 내용은 Elastic 설명서를 참조하세요.

elastic otel 마이크로서비스

ECS와 Elastic의 OpenTelemetry 지원에 대해 좀더 자세히 알 수 있는 곳은 어디인가요?

아래에서 Elastic의 OpenTelemetry 지원 및 통합에 대한 추가 정보와 문서를 확인하세요.