Trace 데이터 내보내기 개요

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

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

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

내보내기 작동 방식

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

Cloud Trace API 또는 Google Cloud CLI를 사용하여 싱크를 만들 수 있습니다.

싱크 속성 및 용어

싱크는 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_VALUE@gcp-sa-cloud-trace.iam.gserviceaccount.com
    

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

    싱크의 작성자 ID로 식별된 서비스 계정을 만들거나 소유하거나 관리하지 않습니다. 싱크를 만들면 Trace에서 싱크에 필요한 서비스 계정을 만듭니다. 이 서비스 계정은 Identity and Access Management 바인딩이 최소 하나 이상이 있을 때까지 프로젝트의 서비스 계정 목록에 포함되지 않습니다. 이 바인딩은 싱크 대상을 구성할 때 추가합니다.

    작성자 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 스팬 수를 추정합니다.

    사용량을 확인하는 방법에 대한 자세한 내용은 결제 계정별 사용량 보기를 참조하세요.

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

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

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

BigQuery 사용량 보기 및 관리

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

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

새 조건
필드

리소스 및 측정항목 리소스 메뉴에서 BigQuery 데이터 세트를 선택합니다.
측정항목 카테고리 메뉴에서 스토리지를 선택합니다.
측정항목 메뉴에서 측정항목을 선택합니다. 사용량과 관련된 측정항목은 Stored bytes, Uploaded bytes, Uploaded bytes billed입니다. 사용 가능한 측정항목의 전체 목록은 BigQuery 측정항목을 참조하세요.
필터 project_id: Google Cloud 프로젝트 ID입니다.
dataset-id: 데이터 세트 ID입니다.
시계열
시계열 그룹화 기준
dataset-id: 데이터 세트 ID입니다.
시계열
시계열 집계
sum
순환 기간 1 m
순환 윈도우 함수 mean
알림 트리거 구성
필드

조건 유형 Threshold
알림 트리거 Any time series violates
기준 위치 Above threshold
기준 값 허용 가능한 값을 결정합니다.
재테스트 범위 1 minute

다음 단계

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