Cloud Trace 개요

Cloud Trace는 요청 지연 시간을 추적하고 서비스 및 생성형 AI 애플리케이션 전반의 성능 병목 현상을 해결하는 데 도움이 되는 Google Cloud용 분산 추적 시스템입니다. Trace는Google Cloud 서비스 및 계측된 애플리케이션에서 지연 시간 데이터를 수집하여 마이크로서비스 아키텍처에서 요청이 처리되는 방식을 이해하고 관련 로그를 식별하는 데 도움이 됩니다.

Trace를 사용하면 엔드 투 엔드 요청 지연 시간을 측정하고, 시간 경과에 따른 성능 추세를 비교하고, 지연을 일으키는 다운스트림 종속 항목을 정확히 파악할 수 있습니다. trace와 로그를 상호 연결하는 방법은 근본 원인 분석을 위해 trace와 로그를 함께 사용을 참조하세요.

환경 지원

Trace는 다음 환경의 Linux에서 실행됩니다.

구성요소

Trace는 trace를 수집하여 Google Cloud 프로젝트로 전송하는 추적 클라이언트로 구성됩니다. 그런 다음Google Cloud 콘솔을 사용하여 추적 클라이언트가 수집한 데이터를 보고 분석할 수 있습니다. 데이터 모델에 대한 자세한 내용은 trace 및 스팬을 참조하세요.

추적 클라이언트

추적 클라이언트는 애플리케이션에서 지연 시간 및 스팬 데이터를 수집하여 Google Cloud 프로젝트로 내보냅니다. 환경 및 요구사항에 따라 애플리케이션 코드를 계측하여 trace 데이터를 자동으로 또는 수동으로 수집할 수 있습니다.

추적 인터페이스

스팬 데이터를 보고 분석하려면Google Cloud 콘솔의 Trace 탐색기 및 Observability Analytics 페이지를 사용하면 됩니다.

  • Trace 탐색기: trace 데이터에 대한 집계 정보를 표시하고 개별 trace를 자세히 살펴볼 수 있습니다. 집계된 지연 시간 데이터는 히트맵에 표시되며 포인터로 탐색할 수 있습니다. 표시되는 데이터를 제한하려면 필터를 추가하면 됩니다. 개별 스팬과 trace를 보고 탐색할 수도 있습니다.

  • Observability Analytics: SQL 쿼리 인터페이스를 제공합니다. 쿼리는 trace 및 로그 데이터를 조인할 수 있으며 쿼리 결과를 테이블 또는 차트로 볼 수 있습니다. 연결된 BigQuery 데이터 세트를 만들면 BigQuery를 사용하여 trace 데이터를 분석할 수 있습니다. 자세한 내용은 trace 쿼리 및 분석을 참조하세요.

자동 trace를 사용하는 구성

다음 구성에서 trace 데이터를 자동으로 캡처합니다.

  • App Engine 표준 환경

    • 1세대 런타임은 trace 스팬을 자동으로 가로채서 Cloud Trace로 전송합니다. 자세한 내용은 기존 번들 서비스 개요를 참조하세요.

    • 2세대 런타임은 전체 요청 지연 시간을 자동으로 캡처하고 X-Cloud-Trace-Context HTTP 헤더를 요청에 추가합니다. 자세한 내용은 런타임 지원 일정을 참조하세요.

  • Cloud Run Functions 및 Cloud Run

    수신 및 발신 HTTP 요청의 경우 지연 시간 데이터가 Trace로 자동으로 전송됩니다.

애플리케이션 계측

애플리케이션을 계측하여 성능을 이해하고 실패를 해결하는 데 도움이 되는 특정 정보를 수집합니다. 여러 오픈소스 계측 프레임워크는 로그, 측정항목, trace 데이터를 수집하고 Google Cloud를 포함한 모든 공급업체에 해당 데이터를 전송할 수 있습니다. 에이전트 애플리케이션의 경우 일부 프레임워크는 프롬프트와 대답을 수집하거나 일부 원격 Google Cloud MCP 서버 호출을 추적할 수 있는 컨텍스트를 전달할 수 있습니다.

애플리케이션을 계측하려면 공급업체 및 제품별 API 또는 클라이언트 라이브러리 대신 OpenTelemetry와 같은 오픈소스인 공급업체 중립적인 계측 프레임워크를 사용하는 것이 좋습니다. 이러한 프레임워크에 대한 자세한 내용은 애플리케이션 개발자를 위한 모니터링 가능성 및 계측 방법 선택을 참조하세요.

Google에서 제공하는 계측 샘플은 OpenTelemetry를 사용합니다.

Cloud Trace 클라이언트 라이브러리를 사용하여 애플리케이션을 계측할 수 있지만 OpenTelemetry를 사용하는 것이 좋습니다. OpenTelemetry 라이브러리는 더 간단하고 OpenTelemetry에서 정의하는 OTLP 형식으로 trace 데이터를 내보내므로 Trace 클라이언트 라이브러리보다 선호됩니다. 자세한 내용은 Trace 계측 및 Cloud Trace용 클라이언트 라이브러리를 참조하세요.

Cloud Trace 및 에이전트형 애플리케이션

에이전트형 애플리케이션의 동작을 이해하려면 원격 Google Cloud MCP 서버를 호출할 때 프롬프트와 대답을 수집하거나 스팬을 생성하도록 구성합니다. 프롬프트와 대답은 에이전트형 애플리케이션이 사용하는 추론을 이해하는 데 도움이 됩니다. 도구 호출을 기록하는 스팬은 도구 호출, 호출 상태, 요청 지연 시간을 확인하는 데 도움이 됩니다.

여러 계측 샘플은 프롬프트와 대답을 수집하도록 애플리케이션을 구성하는 방법을 보여줍니다. 이 샘플은 OpenTelemetry를 사용합니다. 자세한 내용은 생성형 AI 애플리케이션을 계측하는 방법을 참조하세요.

Google Cloud MCP 서버는 trace 스팬을 생성할 수 있습니다. 자세한 내용은 Trace를 사용하여 MCP 호출 조사를 참조하세요.

trace 데이터를 수집하는 API

Telemetry API 또는 Cloud Trace API를 사용하여 trace 데이터를 프로젝트로 전송할 수 있습니다. 다음과 같은 이유로 Telemetry API를 사용하는 것이 좋습니다.

  • 이 API는 오픈소스 OpenTelemetry 생태계와 호환되며 한도는 독점 Google Cloud API인 Cloud Trace API의 한도보다 더 관대한 경우가 많습니다.

  • trace 데이터는 일반적으로 OTLP에서 정의한 proto 파일과 일치하는 형식으로 저장됩니다. 일부 필드는 저장 전에 OpenTelemetry 전용 데이터 유형에서 JSON 데이터 유형으로 변환될 수 있습니다. 스토리지 형식에 대한 자세한 내용은 trace 데이터 스키마를 참조하세요.

  • Trace 데이터의 수집기 기반 내보내기의 경우 계측은 Google Cloud별 내보내기 도구를 사용하지 않습니다.

  • 애플리케이션 모니터링과 같은 일부 기능은 trace 데이터를 Telemetry API로 전송하는 경우에만 사용할 수 있는 정보를 사용합니다.

Google Cloud 프로젝트에서 trace 데이터를 저장하지 못하게 하려면 Cloud Trace API를 사용 중지합니다. Cloud Trace API를 사용 중지하면 다음과 같은 영향이 있습니다.

  • Google Cloud 서비스는 trace 데이터를 프로젝트로 전송하지 않습니다.
  • Google Cloud 는 오류 코드와 함께 Cloud Trace API 엔드포인트로 전송된 요청에 응답합니다.
  • Google Cloud Observability는 trace별 Telemetry API 엔드포인트로 전송된 trace 데이터를 삭제합니다. Telemetry API는 로그, 측정항목, trace 데이터를 수신할 수 있으므로 사용 중지하지 마세요.

조직을 관리하고 Cloud Trace 사용을 방지하려면 조직 정책 제약조건을 만듭니다.

VPC 서비스 제어 지원

Google Cloud 서비스와 애플리케이션은 Cloud Trace API 또는 Telemetry API를 사용하여 trace 데이터를 프로젝트로 전송할 수 있습니다. Cloud Trace에서 제공하는 시각화 서비스는 Cloud Trace API를 사용하여 표시되는 trace 데이터를 가져옵니다.

  • Cloud Trace는 VPC 서비스 제어 지원 서비스입니다. Trace 서비스 이름은 cloudtrace.googleapis.com입니다. 자세한 내용과 제한사항은 지원되는 제품: Cloud Trace를 참조하세요.

  • Telemetry API는 VPC 서비스 제어 지원 서비스입니다. 서비스 이름은 telemetry.googleapis.com입니다. 자세한 내용과 제한사항은 지원되는 제품: Telemetry API를 참조하세요.

추적 데이터가 저장되는 Google Cloud 리전과 고객 관리 키가 데이터를 암호화하는지 여부를 지정하는 기본값을 설정하려면 Observability API를 사용합니다. 또한 이 API를 사용하여 BigQuery 서비스를 통해 trace 데이터를 쿼리할 수 있는 연결된 BigQuery 데이터 세트를 구성하고 여러 프로젝트에 저장된 trace 데이터를 집계할 수 있는 trace 범위를 구성합니다.

  • Observability API는 VPC 서비스 제어 지원 서비스입니다. 서비스 이름은 observability.googleapis.com입니다. 자세한 내용과 제한사항은 지원되는 제품: Observability API를 참조하세요.

자세한 내용은 다음을 참조하세요.

Cloud Trace 및 데이터 레지던시

데이터 상주 또는 영향 수준 4 (IL4) 요구사항이 있기 때문에 Assured Workloads를 사용하는 경우 Cloud Trace API를 사용하여 trace 스팬을 전송하지 마세요.

Google Cloud 프로젝트에서 trace 데이터를 저장하지 못하게 하려면 Cloud Trace API를 사용 중지합니다. Telemetry API는 로그, 측정항목, trace 데이터를 수신할 수 있으므로 사용 중지하지 마세요.

trace 보관

카테고리 보관 기간
_Trace 버킷에 저장된 스팬 30일

IAM 역할

Cloud Trace는 Identity and Access Management (IAM)를 사용하여 리소스에 대한 액세스를 제어합니다. Cloud Trace API 및 Telemetry API 역할 목록은 IAM으로 액세스 제어를 참조하세요.

Telemetry API는 소비자 API이므로 Telemetry API로 데이터를 전송하려면 할당량 프로젝트를 지정하고 애플리케이션의 서비스 계정에 해당 할당량을 사용할 수 있는 권한을 부여해야 합니다. 자세한 내용은 Telemetry API: 인증을 참고하세요.

가격 책정

Cloud Trace 가격 책정에 대한 자세한 내용은 Google Cloud Observability 가격 책정 페이지를 참조하세요.

다음 단계