OpenTelemetry란?

개발자, IT 운영자, DevOps 엔지니어, SRE(사이트 안정성 엔지니어)는 빌드하거나 운영하는 애플리케이션의 성능과 상태에 대한 책임이 있습니다. 애플리케이션이 정상인지, 의도한 대로 작동하는지 여부를 확인하는 데 사용되는 정보를 원격 분석 데이터라고 합니다. 기술 제공업체에서 원격 분석 데이터를 수집하기 위해 에이전트를 생성했지만, 이러한 에이전트를 사용할 경우 해당 제공업체가 아닌 다른 제공업체를 이용할 수 없게 됩니다. OpenTelemetry는 원격 분석 데이터를 위한 단일 개방형 표준과 클라우드 기반 애플리케이션에서 데이터가 모니터링되고 분석할 수 있도록 데이터를 수집하고 내보내기 위한 기술을 생성합니다.

Google Cloud에서 실행되는 클라우드 기반 애플리케이션 및 인프라를 모니터링하고 분석하기 위해 OpenTelemetry가 Google Cloud 운영 제품군에서 작동하는 방식을 알아보세요.

OpenTelemetry 개요

OpenTelemetry는 단일 오픈소스 표준을 제공하며 클라우드 기반 애플리케이션 및 인프라에서 측정항목, trace, 로그(지원 예정)를 캡처하고 내보내는 기술 집합을 제공합니다.

최신 클라우드 기반 애플리케이션은 분산되어 원격 분석 데이터를 캡처하고 내보내는 데 복잡합니다. OpenTelemetry의 단일 표준 집합 및 기술 도구를 사용하면 더 쉽게 데이터를 캡처하고 참여하는 기술 공급업체 또는 오픈소스 프로젝트로 내보낼 수 있습니다.

OpenTelemetry의 이점은 무엇인가요?

클라우드 기반 애플리케이션과 관련된 데이터 가져오기

OpenTelemetry는 언어별 API의 단일 집합을 제공합니다. 이는 애플리케이션에 이미 있는 웹 프레임워크, 스토리지 클라이언트, RPC 시스템 등에서 데이터를 캡처하며 커스텀 측정항목, trace 스팬, 로그(지원 예정)를 만드는 데 사용할 수 있습니다.

원격 분석 데이터 관리 및 내보내기 단순화

수집기를 사용하여 SDK, Prometheus 클라이언트, Zipkin 또는 Jaeger 클라이언트에서 캡처한 원격 분석, StatsD와 같은 API, Linux 및 Windows VM의 시스템 측정항목을 집계하고, 관리하고, 내보냅니다.

단일 표준 집합

OpenTelemetry는 서로 다른 표준을 가져 생태계 선택을 불가피하게 하는 두 오픈 소스 프로젝트, OpenCensus와 OpenTracing을 병합한 결과입니다. OpenTelemetry는 더 많은 공급업체 및 프로젝트와 작업할 수 있도록 단일 표준 집합을 만듭니다.

분산 시스템에서 애플리케이션 성능 최적화

OpenTelemetry의 소프트웨어 개발 키트(SDK)는 API를 사용하여 요청 지연 시간 및 처리량 측정항목을 자동으로 수집하고, 분산 trace를 전파하고, 캡처된 데이터를 Google Cloud 운영 제품군 및 수집기 또는 다른 APM 도구로 내보냅니다.

OpenTelemetry의 용도는 무엇인가요?

OpenTelemetry를 사용하면 분산 시스템 전반에서 클라우드 기반 애플리케이션을 실행하는 조직에서 흔히 발생하는 문제를 해결할 수 있습니다.

마이크로서비스 애플리케이션 상태 모니터링

분산 시스템의 애플리케이션에서 측정항목 및 trace를 캡처합니다. 이 데이터를 사용하면 애플리케이션이 의도한 대로 실행되는지 파악하는 데 도움이 됩니다.

다양한 사용자 그룹에 리소스 사용량 할당

OpenTelemetry를 사용하면 마이크로서비스 간의 요청을 캡처하여 리소스가 시작된 그룹으로 공유 시스템의 리소스 사용량을 추적할 수 있습니다.

공유 리소스 간에 우선순위 요청 만들기

애플리케이션 내에 계층화된 요청을 만들어 경쟁 요청이 공유된 리소스에 도달할 때 우선순위를 올바르게 지정할 수 있도록 합니다. 

캡처된 trace, 측정항목, 로그(지원 예정)는 Cloud MonitoringCloud Trace와 같은 Google Cloud 운영 제품군, Prometheus와 같은 오픈소스 도구 또는 Splunk, New Relic, Dynatrace, Lightstep, Datadog 등과 같은 백엔드로 전송될 수 있습니다. 여러 대상으로 동시에 내보낼 수 있습니다.

또한 Cloud Spanner 클라이언트 라이브러리를 포함한 Google Cloud 클라이언트는 기본적으로 OpenTelemetry와 통합되어 고객에게 동급 최고의 관리 경험을 제공합니다.