Trace 데이터 내보내기 개요

이 페이지에서는 Cloud Trace를 사용하여 trace 데이터를 내보내는 것에 대한 개념 개요를 제공합니다. 다음과 같은 이유로 trace 데이터를 내보낼 수 있습니다.

  • trace 데이터를 기본 보관 기간인 30일보다 길게 저장하기 위해.
  • BigQuery 도구를 사용하여 trace 데이터를 분석하기 위해. 예를 들어 BigQuery를 사용하면 스팬 수와 분위수를 식별할 수 있습니다. 다음 표를 생성하는 데 사용되는 쿼리에 대한 자세한 내용은 HipsterShop 쿼리를 참조하세요.

    이전 쿼리에 대한 응답을 표시합니다.

내보내기 작동 방식

trace를 내보내려면 Google Cloud 프로젝트에 싱크를 생성해야 합니다. 싱크는 BigQuery 데이터세트를 대상으로 정의합니다.

Cloud Trace API를 사용하거나 gcloud 명령줄 도구를 사용하여 싱크를 만들 수 있습니다.

싱크 속성 및 용어

싱크는 Google Cloud 프로젝트에 대해 정의되며 다음과 같은 속성을 갖습니다.

  • 이름: 싱크의 이름입니다. 예를 들어 이름은 다음과 같습니다.

    "projects/[PROJECT_NUMBER]/traceSinks/my-sink"
    

    여기서 [PROJECT_NUMBER]는 싱크의 Google Cloud 프로젝트 번호이고 my-sink는 싱크 식별자입니다.

  • 상위 요소: 싱크가 만들어지는 리소스입니다. 상위 요소는 Google Cloud 프로젝트여야 합니다.

    "projects/[PROJECT_ID]"
    

    [PROJECT_ID]는 Google Cloud 프로젝트 식별자 또는 번호일 수 있습니다.

  • 대상: Trace 스팬을 전송할 단일 위치입니다. Trace에서는 BigQuery로 trace 내보내기가 지원됩니다. 대상은 싱크의 Google Cloud 프로젝트 또는 동일한 조직에 있는 다른 Google Cloud 프로젝트일 수 있습니다.

    예를 들어 유효한 대상은 다음과 같습니다.

    bigquery.googleapis.com/projects/[DESTINATION_PROJECT_NUMBER]/datasets/[DATASET_ID]
    

    여기서 [DESTINATION_PROJECT_NUMBER]는 대상의 Google Cloud 프로젝트 번호이고 [DATASET_ID]는 BigQuery 데이터세트 식별자입니다.

  • 작성자 ID: 서비스 계정 이름입니다. 내보내기 대상의 소유자는 이 서비스 계정에 내보내기 대상에 쓰기 권한을 부여해야 합니다. 추적을 내보낼 때 Trace는 이 ID를 승인에 사용합니다. 보안 강화를 위해 새 싱크는 고유한 서비스 계정을 얻습니다.

    export-[PROJECT_NUMBER]-[GENERATED_ID]@gcp-sa-cloud-trace.iam.gserviceaccount.com
    

    여기서 [PROJECT_NUMBER]는 16진수의 Google Cloud 프로젝트 번호이고 [GENERATED_ID]는 임의로 생성된 값입니다.

    작성자 ID 사용에 대한 자세한 내용은 대상 권한을 참조하세요.

싱크의 작동 방식

Trace 스팬이 프로젝트에 도착할 때마다 Trace는 스팬의 복사본을 내보냅니다.

싱크가 생성되기 전에 Trace가 받은 trace는 내보낼 수 없습니다.

액세스 제어

싱크를 만들거나 수정하려면 다음 Identity and Access Management 역할 중 하나가 있어야 합니다.

  • Trace 관리자
  • Trace 사용자
  • 프로젝트 소유자
  • 프로젝트 편집자

자세한 내용은 액세스 제어를 참조하세요.

trace를 대상으로 내보내려면 싱크의 작성자 서비스 계정에서 해당 대상에 대한 쓰기 권한이 부여되어야 합니다. 작성자 ID에 대한 자세한 내용은 이 페이지의 싱크 속성을 참조하세요.

할당량 및 한도

Cloud Trace에서는 BigQuery 스트리밍 API를 활용하여 Trace 스팬을 대상에 보냅니다. Cloud Trace에서는 API 호출을 일괄 처리합니다. Cloud Trace에서는 재시도 또는 제한 메커니즘을 구현하지 않습니다. 데이터 양이 대상 할당량을 초과하는 경우 Trace 스팬 내보내기에 실패할 수 있습니다.

BigQuery 할당량 및 한도에 대한 자세한 내용은 할당량 및 한도를 참조하세요.

가격

trace 내보내기에는 Cloud Trace 요금이 발생하지 않습니다. 그러나 BigQuery 요금이 발생할 수 있습니다. 자세한 내용은 BigQuery 가격 책정을 참조하세요.

비용 추정

BigQuery에서는 데이터 수집 및 스토리지 비용이 청구됩니다. 월별 BigQuery 비용을 추정하려면 다음을 수행하세요.

  1. 한 달에 수집되는 총 trace 스팬 수를 추정합니다.

    Trace 개요 창에는 이번 달과 지난 달에 수집된 청구 대상인 스팬 수가 표시됩니다.

    Trace로 이동

    개요 창에 나열된 스팬 수에는 청구 대상이 아닌 스팬이 포함되지 않습니다. 자세한 내용은 가격 책정을 참조하세요.

  2. 수집된 Trace 스팬 수를 기준으로 스트리밍 요구사항을 추정합니다.

    각 스팬은 테이블 행에 기록됩니다. BigQuery의 각 행에는 최소 1024바이트가 필요합니다. 따라서 BigQuery 스트리밍 요구사항의 하한값은 각 스팬에 1024바이트를 할당하는 것입니다. 예를 들어 Google Cloud 프로젝트가 200개의 스팬을 수집한 경우 해당 스팬은 스트리밍 삽입에 최소 20,400바이트가 필요합니다.

  3. 가격 계산기를 사용하여 스토리지, 스트리밍 삽입, 쿼리로 인한 BigQuery 비용을 예상해 보세요.

BigQuery 사용량 보기 및 관리

측정 항목 탐색기를 사용하여 BigQuery 사용량을 볼 수 있습니다. 또한 BigQuery 사용량이 사전 정의된 한도를 초과하는 경우 이를 알리는 알림 정책을 만들 수 있습니다. 다음 표에는 알림 정책을 만들기 위한 설정이 포함되어 있습니다. 차트를 만들거나 측정항목 탐색기를 사용할 때 대상 창 표의 설정을 사용할 수 있습니다.

수집된 BigQuery 측정항목이 사용자 정의 수준을 초과할 때 트리거되는 알림 정책을 만들려면 다음 단계를 따르세요.

목표
필드

Resource type BigQuery Dataset 입력
Metric 사용량과 관련된 측정항목은 Stored bytes, Uploaded bytes, Uploaded bytes billed입니다. 그러나 이는 일부 목록에 불과합니다. 사용 가능한 측정항목의 전체 목록은 BigQuery 측정항목을 참조하세요.
Filter project_id: Google Cloud 프로젝트 ID입니다.
dataset-id: 데이터세트 ID입니다.
Group By dataset-id: 데이터세트 ID입니다.
Aggregator sum
Period 1 m
Advanced Aggregation Aligner: mean
조건
필드

Condition triggers if Any time series violates
Condition is above
Threshold 허용되는 값을 결정합니다.
For 1 minute

다음 단계

싱크를 구성하려면 trace 내보내기를 참조하세요.