관측 가능성 분석으로 이전

싱크를 사용하여 trace 데이터를 BigQuery로 내보내는 경우 이 문서가 적용됩니다. trace 데이터를 내보내는 데 싱크를 사용하는 것은 더 이상 권장되지 않습니다. 대신 BigQuery와 동일한 SQL 쿼리 언어를 지원하는 관측 가능성 분석을 사용하는 것이 좋습니다. 이 문서에서는 싱크 기반 솔루션에서 관측 가능성 분석을 사용하는 솔루션으로 마이그레이션하는 방법을 설명합니다. 또한 BigQuery 서비스를 사용하여 trace 데이터를 쿼리하는 방법에 대한 정보도 포함되어 있습니다.

BigQuery는 테이블을 복사하거나 데이터를 내보낼 수 있는 서비스를 제공합니다. 연결된 BigQuery 데이터 세트를 만든 후 이러한 서비스를 사용하여 trace 데이터를 복사하고 내보낼 수 있습니다. 이 단계는 이 문서에 자세히 설명되어 있습니다. 자세한 내용은 테이블 관리데이터 내보내기 소개를 참조하세요.

관측 가능성 분석을 시작하려면 trace 쿼리 및 분석을 참조하세요.

시작하기 전에

  1. 계정에 로그인합니다. Google Cloud 를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. Google Cloud신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. **관측 가능성 분석** 페이지를 로드하고, 쿼리를 실행하고, 연결된 데이터 세트를 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

    역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

    커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

  9. 콘솔에서 Cloud Shell을 활성화합니다. Google Cloud

    Cloud Shell 활성화

    콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Google Cloud Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

관측 가능성 분석으로 마이그레이션

  1. 이 문서의 시작하기 전에 섹션에 나열된 작업을 완료했습니다. 이러한 작업에는 관측 가능성 API 사용 설정이 포함됩니다.

  2. 관측 가능성 분석을 사용하여 trace 데이터에 액세스할 수 있는지 확인합니다.

    1. 콘솔에서 로그 애널리틱스 페이지로 이동합니다. Google Cloud

      로그 애널리틱스로 이동

      검색창을 사용하여 이 페이지를 찾은 경우 부제목이 로깅 인 결과를 선택합니다.

    2. 메뉴에서 trace 섹션으로 이동한 후 _Trace.Spans._AllSpans를 선택합니다.

      스키마 창이 업데이트되고 스키마가 표시됩니다.

      _Trace.Spans._AllSpans라는 뷰가 표시되지 않으면 Google Cloud 프로젝트에 관측 가능성 버킷 _Trace이(가) 포함되어 있지 않은 것입니다. 이 상황을 해결하는 방법은 trace 스토리지 초기화 실패를 참조하세요.

    3. 스키마 창에서 쿼리 를 선택합니다.

      쿼리 편집기 필드가 업데이트됩니다. FROM 절에는 다음과 유사한 항목이 나열됩니다.

      `PROJECT_ID.us._Trace.Spans._AllSpans`
      
    4. 툴바에서 쿼리 실행 을 선택합니다.

      툴바에 BigQuery에서 실행이 표시되면 설정을 클릭하고 애널리틱스 (기본값)을 선택합니다.

    관측 가능성 분석 페이지를 사용하여 trace 데이터를 쿼리할 수 있는지 확인했습니다.

  3. 선택사항: trace 데이터를 BigQuery에서 사용할 수 있는 다른 비즈니스 데이터와 조인하려면 연결된 BigQuery 데이터 세트를 만듭니다. 자세한 내용은 연결된 BigQuery 데이터 세트 쿼리를 참조하세요.

  4. trace 싱크 및 불필요한 데이터 세트를 삭제합니다.

    1. 기존 trace 싱크를 나열하려면 gcloud alpha trace sinks list 명령어를 실행합니다.

      gcloud alpha trace sinks list
      
    2. 각 싱크에 대해 gcloud alpha trace sinks delete 명령어를 실행합니다.

      gcloud alpha trace sinks delete SINK_NAME
      
    3. 선택사항: 불필요한 BigQuery 데이터 세트를 삭제합니다. BigQuery 데이터 세트를 삭제하는 방법에 대한 자세한 내용은 데이터 세트 삭제를 참조하세요.

스키마 비교

이 섹션에서는 관측 가능성 분석과 싱크 기반 내보내기 스키마의 차이점에 대한 정보를 제공합니다.

이름 애널리틱스 기존
Trace ID trace_id extendedFields.traceId
스팬 ID span_id span.spanId
상위 스팬 ID parent_span_id span.parentSpanId
스팬 이름 name span.displayName.value
스팬 종류 kind
값은 OpenTelemetry: SpanKind를 참조하세요.
span.spanKind
값은 Cloud Trace API 참조 SpanKind 페이지를 참조하세요.
스팬 시작 시간 start_time span.startTime
스팬 종료 시간 end_time span.endTime
속성

스팬, 리소스, 계측 속성에는 각각 고유한 형식이 있습니다. 이러한 필드에는 BigQuery JSON 데이터 유형이 있습니다. 예:

  • attributes["somekey"]
  • resource.attributes["somekey"]
  • instrumentation_scope.attributes["somekey"]

모든 속성은 동일한 형식인 span.attributes.attributeMap.ATTRIBUTE_KEY를 사용합니다.

예:

  • span.attributes.attributeMap._http_method
  • span.attributes.attributeMap.g_co_agent
  • span.attributes.attributeMap.rpc_service
  • span.attributes.attributeMap.rpc_method

다음 단계