Cloud Trace는 요청 지연 시간을 추적하고 서비스 및 생성형 AI 애플리케이션 전반에서 성능 병목 현상을 해결하는 데 도움이 되는 Google Cloud분산 추적 시스템입니다. Trace는 서비스Google Cloud 및 계측된 애플리케이션에서 지연 시간 데이터를 수집하여 마이크로서비스 아키텍처에서 요청이 처리되는 방식을 이해하고 관련 로그를 식별하는 데 도움이 됩니다.
Trace는 다음과 같은 질문에 답하는 데 도움이 됩니다.
- 애플리케이션이 특정 요청을 처리하는 데 걸리는 시간
- 요청이 완료되는 데 시간이 오래 걸리는 이유
- 일부 요청이 다른 요청보다 오래 걸리는 이유
- 애플리케이션에 대한 요청의 전체 지연 시간
- 애플리케이션 지연 시간이 시간이 지남에 따라 증가했나요, 아니면 감소했나요?
- 애플리케이션 지연 시간을 줄이려면 어떻게 해야 하나요?
- 애플리케이션의 종속 항목
근본 원인 분석을 위해 trace와 로그를 함께 사용하는 방법에 대한 자세한 내용은 블로그 게시물 분산 애플리케이션 문제 해결: 근본 원인 분석을 위해 trace와 로그를 함께 사용을 참조하세요.
애플리케이션 프로파일링에 대한 자세한 내용은 Cloud Profiler를 참조하세요.
환경 지원
Trace는 다음 환경에서 Linux를 실행합니다.
- Compute Engine
- Google Kubernetes Engine (GKE)
- Apigee (공개 미리보기)
- App Engine 가변형 환경
- App Engine 표준 환경
- Cloud Run
- Cloud Service Mesh
- Cloud SQL 쿼리 통계
- 비Google Cloud 환경
구성요소
Trace는 trace를 수집하여 Google Cloud 프로젝트로 전송하는 추적 클라이언트로 구성됩니다. 그런 다음 Google Cloud 콘솔을 사용하여 추적 클라이언트가 수집한 데이터를 보고 분석할 수 있습니다. 데이터 모델에 대한 자세한 내용은 trace 및 스팬을 참조하세요.
추적 클라이언트
추적 클라이언트는 애플리케이션에서 지연 시간 및 스팬 데이터를 수집하여 프로젝트로 내보냅니다. Google Cloud 환경 및 요구사항에 따라 애플리케이션 코드를 계측하여 trace 데이터를 자동으로 또는 수동으로 수집할 수 있습니다.
추적 인터페이스
스팬 데이터를 보고 분석하려면 Trace 탐색기 및 모니터링 가능성 분석 페이지를 Google Cloud 사용하면 됩니다.
Trace 탐색기: trace 데이터에 대한 집계 정보를 표시하고 개별 trace를 자세히 살펴볼 수 있습니다. 집계된 지연 시간 데이터는 포인터로 탐색할 수 있는 히트맵에 표시됩니다. 표시되는 데이터를 제한하려면 필터를 추가하면 됩니다. 개별 스팬 및 trace를 보고 탐색할 수도 있습니다.
- 여러 프로젝트에 저장된 trace 데이터를 보는 방법에 대한 자세한 내용은 trace 범위 만들기 및 관리를 참조하세요.
- trace 데이터 필터링 및 보기에 대한 자세한 내용은 trace 찾기 및 탐색을 참조하세요.
모니터링 가능성 분석: SQL 쿼리 인터페이스를 제공합니다. 쿼리는 trace 및 로그 데이터를 조인할 수 있으며 쿼리 결과를 테이블 또는 차트로 볼 수 있습니다. 연결된 BigQuery 데이터 세트를 만드는 경우 BigQuery를 사용하여 trace 데이터를 분석할 수 있습니다. 자세한 내용은 trace 쿼리 및 분석을 참조하세요.
자동 trace를 사용하는 구성
다음 구성은 trace 데이터를 자동으로 캡처합니다.
App Engine 표준 환경
1세대 런타임은 trace 스팬을 자동으로 가로채서 Cloud Trace로 전송합니다. 자세한 내용은 기존 번들 서비스 개요를 참조하세요.
2세대 런타임은 전체 요청 지연 시간을 자동으로 캡처하고 요청에
X-Cloud-Trace-ContextHTTP 헤더를 추가합니다. 자세한 내용은 런타임 지원 일정을 참조하세요.
Cloud Run Functions 및 Cloud Run
수신 및 발신 HTTP 요청의 경우 지연 시간 데이터가 Trace로 자동으로 전송됩니다.
애플리케이션 계측
애플리케이션을 계측하여 성능을 이해하고 오류를 해결하는 데 도움이 되는 특정 정보를 수집합니다. 여러 오픈소스 계측 프레임워크는 로그, 측정항목, trace 데이터를 수집하고 를 포함한 모든 공급업체에 해당 데이터를 전송할 수 있습니다 Google Cloud. 에이전트형 애플리케이션의 경우 일부 프레임워크는 프롬프트와 응답을 수집하거나 일부 원격 Google Cloud MCP 서버 호출을 추적할 수 있는 컨텍스트를 전달할 수 있습니다.
애플리케이션을 계측하려면 공급업체 및 제품별 API 또는 클라이언트 라이브러리 대신 OpenTelemetry와 같은 오픈소스인 공급업체 중립적인 계측 프레임워크를 사용하는 것이 좋습니다. 이러한 프레임워크에 대한 자세한 내용은 계측 및 모니터링 가능성 및 계측 방법 선택을 참조하세요.
Google에서 제공하는 계측 샘플은 OpenTelemetry를 사용합니다.
수집기 기반 내보내기를 사용하는 샘플은 다음을 참조하세요.
이러한 샘플은 OpenTelemetry 프로토콜 (OTLP) 형식을 따르는 측정항목 및 trace 데이터를 Telemetry API를 사용하여 프로젝트로 전송합니다. 샘플은 로그 데이터에 Google Cloud 내보내기 도구를 사용합니다.
trace 데이터의 직접 내보내기를 사용하고 해당 데이터를 Telemetry API로 전송하는 방법에 대한 자세한 내용은 Trace 내보내기 도구에서 OTLP 엔드포인트로 마이그레이션을 참조하세요.
에이전트형 애플리케이션을 구성하여 프롬프트와 응답을 수집하는 방법을 보여주는 샘플은 생성형 AI 애플리케이션을 계측하는 방법을 참조하세요.
- trace 스팬을 생성할 수 있는 Google Cloud MCP 서버에 대한 자세한 내용은 Trace를 사용하여 MCP 호출 조사를 참조하세요.
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 서비스 제어 지원
Trace는 VPC 서비스 제어 지원 서비스입니다. Trace 서비스 이름은 cloudtrace.googleapis.com입니다. Trace 서비스에 대해 생성한 VPC 서비스 제어 제한사항은 해당 서비스에만 적용됩니다. 이러한 제한사항은 trace 데이터를 수집할 수 있는
telemetry.googleapis.com 서비스와 같은 서비스를 비롯한 다른 서비스에는 적용되지 않습니다.
자세한 내용은 다음을 참조하세요.
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 가격 책정 페이지를 참조하세요.
다음 단계
빠른 시작 이용해 보기
할당량 및 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.
DevOps 관련 리소스를 읽고 DevOps 연구 및 평가 연구 프로그램 살펴보기