추적 범위 만들기 및 관리

이 문서에서는 Trace Explorer 페이지에서 보거나 분석하려는 추적 스팬을 찾을 수 있는 추적 범위를 만들고 관리하는 방법을 설명합니다. Google Cloud 프로젝트에서 발생한 스팬만 보고 분석하려는 경우 추적 범위를 구성할 필요가 없습니다. 하지만 마이크로서비스 아키텍처를 사용할 때와 같이 추적 데이터가 여러 프로젝트에 저장된 경우 단일 Google Cloud 프로젝트의 모든 스팬을 보려면 몇 가지 구성 작업을 수행해야 합니다.

이 문서에서는 트레이스 및 스팬을 보는 방법을 설명하지 않습니다. 이 주제에 대한 자세한 내용은 trace 찾기 및 탐색을 참고하세요.

이 기능은 Google Cloud 프로젝트에서만 지원됩니다. App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.

trace 범위 정보

추적 범위는 추적 데이터에 대한 액세스를 제공하는 뷰를 나열하는 프로젝트 수준의 영구 리소스입니다. trace 범위별로 검색하도록 Trace 탐색기 페이지를 구성할 수 있습니다. 즉, 선택한 범위에 나열된 뷰를 페이지에서 검색합니다. 검색된 보기에 대한 Identity and Access Management (IAM) 역할과 기간 설정에 따라 시스템이 스토리지에서 가져와 표시하는 데이터가 결정됩니다.

추적 범위를 만들 수 있으며, 만든 추적 범위를 수정하고 삭제할 수 있습니다. 여러 Google Cloud 프로젝트에 스팬 데이터를 쓰는 서비스가 있는 경우 trace 범위를 만드는 것이 좋습니다.

trace 범위에는 프로젝트가 아닌 Google Cloud 뷰가 나열됩니다. trace 범위를 구성할 때 프로젝트를 선택하지만 시스템은 해당 프로젝트의 기본 trace 보기를 범위에 추가합니다. 프로젝트의 기본 추적 뷰는 경로가 _Trace/Spans/_AllSpans인 뷰에 해당하며, 여기서 필드 _Trace, Spans, _AllSpans은 관측 가능성 버킷, 데이터 세트, 뷰를 나타냅니다. 데이터 세트 Spans에는 추적 데이터가 저장됩니다.

trace 범위 또는 trace 및 스팬 ID가 포함된 URL로 Trace 탐색기 페이지를 열지 않으면 Trace 탐색기 페이지에서 기본 trace 범위에 나열된 뷰에서 trace 데이터를 검색합니다. 프로젝트를 만들면 _Default라는 추적 범위가 기본 추적 범위로 설정됩니다. 하지만 기본 추적 범위로 사용할 다른 추적 범위를 선택할 수 있습니다.

관측 가능성 범위 정보

모니터링 가능성 범위는 해당 탐색기 페이지가 열릴 때 사용할 trace 범위와 로그 범위를 지정합니다. 데이터를 저장하는 리소스를 나열하도록 관측 가능성 범위를 구성하지 않으면 트레이스 및 로그 데이터를 상호 연관시킬 수 없습니다. 자세한 내용은 다중 프로젝트 쿼리를 위한 관측 가능성 범위 구성을 참고하세요.

App Hub 애플리케이션 및 추적 범위

App Hub 애플리케이션이 여러 프로젝트에 추적 데이터를 쓸 수 있습니다. 이 데이터의 집계 뷰를 확인하려면 trace 범위를 만들고, trace 데이터를 저장하는 모든 프로젝트의 기본 trace 뷰를 나열하도록 구성한 다음, 기본 trace 범위로 구성하세요. 이 단계를 완료하면 데이터가 다른 프로젝트에 저장되어 있더라도 Trace 탐색기 페이지에 애플리케이션에서 작성한 데이터가 자동으로 표시됩니다.

추적 데이터를 볼 프로젝트에서 맞춤 추적 범위를 만듭니다. 이 프로젝트는 App Hub 호스트 프로젝트 또는 관리 프로젝트입니다. 예를 들어 폴더의 표시 이름이 My Folder인 경우 폴더의 관리 프로젝트의 표시 이름은 My Folder-mp입니다.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $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. 추적 범위를 만들고 보는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 관측 가능성 범위 편집자 (roles/observability.scopesEditor) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

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

    관측 가능성 범위 편집자 역할에는 추적 범위를 만들고 볼 수 있는 비공개 권한이 포함되어 있습니다. 이러한 권한은 커스텀 IAM 역할에 포함할 수 없습니다.

  9. 이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스하는 경우 인증을 설정할 필요가 없습니다.

    gcloud

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

    Cloud Shell 활성화

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

    Terraform

    로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.

    1. Google Cloud CLI를 설치합니다.

    2. 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

    3. 로컬 셸을 사용하는 경우 사용자 계정에 대한 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

      Cloud Shell을 사용하는 경우 이 작업을 수행할 필요는 없습니다.

      인증 오류가 반환되고 외부 ID 공급업체(IdP)를 사용하는 경우 제휴 ID로 gcloud CLI에 로그인했는지 확인합니다.

    자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참고하세요.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치합니다.

      외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

    자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.

추적 범위 나열

콘솔

추적 범위를 나열하려면 다음을 실행합니다.

  1. Google Cloud 콘솔에서  설정 페이지로 이동합니다.

    설정으로 이동

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

  2. Google Cloud 콘솔의 툴바에서 Google Cloud 프로젝트를 선택합니다. App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.
  3. 추적 범위 탭을 선택합니다.

    창에 추적 범위 목록이 표시됩니다. '기본값' 아이콘()이 포함된 항목이 기본 추적 범위입니다.

  4. 추적 범위의 세부정보를 보려면 추적 범위를 펼칩니다.

    추적 범위를 펼치면 범위에 포함된 뷰 목록을 볼 수 있습니다. 각 행에는 프로젝트 ID와 _Trace/Spans/_AllSpans와 같은 항목이 나열되어 있으며, 이는 추적 데이터의 기본 저장소 위치를 식별합니다. _Trace, Spans, _AllSpans 필드는 추적 데이터의 관측 가능성 버킷, 데이터 세트, 뷰를 나타냅니다. _AllSpans 뷰는 버킷의 모든 항목에 해당합니다.

    이름 설명 유형 리소스
    _Default Trace scope 1
    myscope My description Trace scope 2
      _Trace/Spans/_AllSpans myproject Trace view
      _Trace/Spans/_AllSpans project-b Trace view

gcloud

지원되지 않음.

Terraform

Terraform을 사용하여 추적 범위를 만들고 수정할 수 있습니다. 하지만 Terraform을 사용하여 추적 범위를 나열할 수 없습니다.

REST

Google Cloud 프로젝트의 모든 추적 범위를 나열하려면 projects.locations.traceScopes.list 명령어를 사용합니다. 경로 매개변수를 지정해야 합니다.

이 엔드포인트의 경로 매개변수는 다음과 같은 구문을 갖습니다.

projects/PROJECT_ID/locations/LOCATION_ID/traceScopes

이전 표현식의 필드는 다음과 같은 의미를 갖습니다.

  • PROJECT_ID: 프로젝트 식별자 App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.
  • LOCATION_IDglobal로 설정해야 합니다.

응답은 TraceScope 객체의 배열입니다. 각 객체에는 이름과 리소스 목록이 포함됩니다.

특정 추적 범위에 대한 정보를 가져오려면 projects.locations.traceScopes.get 명령어를 사용합니다.

trace 범위 만들기

Trace 탐색기 페이지에 표시되는 스팬은 검색된 뷰, 해당 뷰에 대한 IAM 역할, 기간 설정, 적용한 필터에 따라 다릅니다.

프로젝트당 추적 범위를 100개까지 만들 수 있습니다. trace 범위에는 총 20개의 뷰가 포함될 수 있습니다.

콘솔

추적 범위를 만들려면 다음을 실행하세요.

  1. Google Cloud 콘솔에서  설정 페이지로 이동합니다.

    설정으로 이동

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

  2. Google Cloud 콘솔의 툴바에서 Google Cloud 프로젝트를 선택합니다. App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.
  3. trace 범위 탭을 선택한 다음 trace 범위 만들기를 클릭합니다.
  4. 프로젝트 추가를 클릭하고 대화상자를 완료합니다.

  5. 추적 범위 이름 지정 섹션에 추적 범위 탭에 표시할 이름과 설명을 입력합니다.

    추적 범위 이름은 수정할 수 없으며 프로젝트 내에서 고유해야 합니다.

  6. 추적 범위 만들기를 클릭합니다.

    기본적으로 추적 범위 표에는 추적 범위가 축소된 형태로 표시됩니다. 각 범위에 대해 표에는 이름, 설명, 유형, 리소스 수가 나열됩니다.

    추적 범위를 펼치면 범위에 포함된 뷰 목록을 볼 수 있습니다. 각 행에는 프로젝트 ID와 _Trace/Spans/_AllSpans와 같은 항목이 나열되어 있으며, 이는 추적 데이터의 기본 저장소 위치를 식별합니다. _Trace, Spans, _AllSpans 필드는 추적 데이터의 관측 가능성 버킷, 데이터 세트, 뷰를 나타냅니다. _AllSpans 뷰는 버킷의 모든 항목에 해당합니다.

    이름 설명 유형 리소스
    _Default Trace scope 1
    myscope My description Trace scope 2
      _Trace/Spans/_AllSpans myproject Trace view
      _Trace/Spans/_AllSpans project-b Trace view

gcloud

지원되지 않음.

Terraform

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요. 자세한 내용은 Terraform 제공업체 참고 문서를 확인하세요.

Terraform을 사용하여 프로젝트에 추적 범위를 만들려면 다음을 실행하세요.

  1. Terraform 리소스 google_observability_trace_scope를 사용합니다.

    명령어에서 다음 필드를 설정합니다.

    • project: 프로젝트, 폴더 또는 조직의 이름입니다. 예를 들면 my-project입니다. App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.

    • provider: google-beta로 설정합니다.

    • trace_scope_id: 범위 ID로 설정합니다. 예를 들면 my-trace-scope입니다.

    • location: "global"로 설정합니다.

    • resource_names: 프로젝트의 배열. 여기서 각 프로젝트는 정규화된 이름을 통해 지정됩니다.

    • description: 간단한 설명입니다. 예를 들면 '프로덕션 리소스 범위'입니다.

  2. main.tf 파일을 업데이트한 후 Terraform 설치를 업그레이드합니다.

    terraform -init upgrade
    

    google_observability_trace_scope 리소스가 베타이므로 업그레이드가 필요합니다.

REST

추적 범위를 만들려면 projects.locations.traceScopes.create 명령어를 사용합니다. 경로 매개변수를 지정하고 TraceScope 객체를 제공해야 합니다. 응답은 TraceScope 객체입니다.

이 엔드포인트의 경로 매개변수는 다음과 같은 구문을 갖습니다.

projects/PROJECT_ID/locations/LOCATION_ID/traceScopes

이전 표현식의 필드는 다음과 같은 의미를 갖습니다.

  • PROJECT_ID: 프로젝트 식별자 App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.
  • LOCATION_IDglobal로 설정해야 합니다.

트레이스 범위 수정 또는 삭제

_Default라는 추적 범위는 삭제하거나 수정할 수 없습니다. 다른 모든 추적 범위는 수정하거나 삭제할 수 있습니다.

콘솔

추적 범위를 수정하거나 삭제하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서  설정 페이지로 이동합니다.

    설정으로 이동

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

  2. Google Cloud 콘솔의 툴바에서 Google Cloud 프로젝트를 선택합니다. App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.
  3. 추적 범위 탭을 선택합니다.
  4. 수정하거나 삭제하려는 추적 범위를 찾고  더보기를 클릭한 후 다음 중 하나를 수행합니다.

    • 수정하려면 범위 수정을 선택한 후 대화상자를 완료합니다.
    • 삭제하려면 범위 삭제를 선택한 후 대화상자를 완료합니다.

gcloud

지원되지 않음.

Terraform

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요. 자세한 내용은 Terraform 제공업체 참고 문서를 확인하세요.

Terraform을 사용하여 프로젝트에서 추적 범위를 수정하려면 다음을 수행합니다.

  1. Terraform 리소스 google_observability_trace_scope를 사용합니다.

  2. main.tf 파일을 업데이트한 후 Terraform 설치를 업그레이드합니다.

    terraform -init upgrade
    

    google_observability_trace_scope 리소스가 베타이므로 업그레이드가 필요합니다.

REST

범위 수정

추적 범위를 수정하려면 projects.locations.traceScopes.patch 명령어를 사용합니다. 경로 매개변수와 쿼리 매개변수를 지정하고 TraceScope 객체를 제공해야 합니다. 쿼리 매개변수는 변경된 필드를 식별합니다. 응답은 TraceScope 객체입니다.

이 엔드포인트의 경로 매개변수는 다음과 같은 구문을 갖습니다.

projects/PROJECT_ID/locations/LOCATION_ID/traceScopes/TRACE_SCOPE_NAME

이전 표현식의 필드는 다음과 같은 의미를 갖습니다.

  • PROJECT_ID: 프로젝트 식별자 App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.
  • LOCATION_IDglobal로 설정해야 합니다.
  • TRACE_SCOPE_NAME: 추적 범위의 이름입니다. 예를 들면 my-trace-scope입니다.

범위 삭제하기

추적 범위를 삭제하려면 projects.locations.traceScopes.delete 명령어를 사용합니다. 경로 매개변수를 지정해야 합니다.

이 엔드포인트의 경로 매개변수는 다음과 같은 구문을 갖습니다.

projects/PROJECT_ID/locations/LOCATION_ID/traceScopes/TRACE_SCOPE_NAME

이전 표현식의 필드는 다음과 같은 의미를 갖습니다.

  • PROJECT_ID: 프로젝트 식별자 App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.
  • LOCATION_IDglobal로 설정해야 합니다.
  • TRACE_SCOPE_NAME: 추적 범위의 이름입니다. 예를 들면 my-trace-scope입니다.

기본 trace 범위 구성

Trace 탐색기 페이지가 열리면 기본 trace 범위에 나열된 뷰에서 trace 데이터를 검색합니다. 해당 추적 범위에 액세스할 수 없으면 Trace 탐색기 페이지에서 기본 데이터 세트의 프로젝트 _AllSpans 보기를 쿼리합니다.

프로젝트가 생성될 때 _Default라는 추적 범위가 생성되고 기본 추적 범위로 지정됩니다. 하지만 자체 추적 범위를 만들어 기본 추적 범위로 지정할 수 있습니다.

콘솔

기본 추적 범위를 설정하려면 다음을 실행하세요.

  1. Google Cloud 콘솔에서  설정 페이지로 이동합니다.

    설정으로 이동

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

  2. Google Cloud 콘솔의 툴바에서 Google Cloud 프로젝트를 선택합니다. App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.
  3. 추적 범위 탭을 선택합니다.

    탭에는 추적 범위가 표시되며 맞춤 추적 범위를 만드는 버튼이 포함되어 있습니다. '기본값' 아이콘()이 표시된 trace 범위가 현재 기본 trace 범위입니다.

  4. 기본 추적 범위를 변경하려면 기본 추적 범위로 지정할 추적 범위를 찾아  더보기를 클릭한 다음 기본값으로 설정을 선택합니다.

    선택한 추적 범위에 '기본값' 아이콘()이 표시됩니다.

gcloud

지원되지 않음.

Terraform

Terraform을 사용하여 추적 범위를 만들고 수정할 수 있습니다. 하지만 Terraform을 사용하여 기본 추적 범위를 설정할 수 없습니다.

REST

API 호출을 사용하여 기본 로그 범위 또는 기본 trace 범위를 가져오고 설정하려면 모니터링 가능성 범위를 구성합니다. 모니터링 가능성 범위에는 기본 로그 범위와 기본 trace 범위가 표시됩니다.

  • 프로젝트의 기본 모니터링 가능성 범위를 가져오려면 projects.locations.scopes.get 엔드포인트로 요청을 보냅니다. 경로 매개변수를 지정해야 합니다. 응답은 기본 로그 범위와 기본 trace 범위를 나열하는 Scope 객체입니다.

  • 프로젝트의 기본 모니터링 가능성 범위를 업데이트하려면 projects.locations.scopes.patch 엔드포인트에 요청을 보냅니다. 경로 매개변수와 쿼리 매개변수를 지정하고 Scope 객체를 제공해야 합니다. 쿼리 매개변수는 변경된 필드를 식별합니다. 응답은 Scope 객체입니다.

두 엔드포인트의 경로 매개변수는 다음과 같은 형식을 갖습니다.

projects/PROJECT_ID/locations/LOCATION/scopes/OBSERVABILITY_SCOPE_ID

이전 표현식의 필드는 다음과 같은 의미를 갖습니다.

  • PROJECT_ID: 프로젝트 식별자 App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 관리 프로젝트를 선택합니다.
  • LOCATION: 위치 필드는 global로 설정되어야 합니다.
  • OBSERVABILITY_SCOPE_ID: Scope 객체의 이름. 이 필드는 _Default로 설정해야 합니다. 이름이 _DefaultScope 객체는 자동으로 생성되며 기본 로그 범위와 기본 trace 범위에 관한 정보를 저장합니다.

API 엔드포인트에 명령어를 전송하려면 참조 페이지에서 명령어를 실행할 수 있는 API 탐색기를 사용하면 됩니다. 예를 들어 현재 기본 범위를 가져오려면 다음을 수행하면 됩니다.

  1. projects.locations.scopes.get을 클릭합니다.
  2. 이 메서드 사용해 보기 위젯의 이름 필드에 다음을 입력합니다.

    projects/PROJECT_ID/locations/global/scopes/_Default
    

    이전 필드를 복사하기 전에 PROJECT_ID를 프로젝트 이름으로 바꿉니다.

  3. 실행을 선택합니다.

  4. 승인 대화상자에서 필수 단계를 완료합니다.

    응답은 다음 예시와 유사합니다.

    {
    "name": "projects/my-project/locations/global/scopes/_Default",
    "logScope": "logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default"
    "traceScope": "projects/my-project/locations/global/traceScopes/_Default"
    }
    

trace 범위 제한

trace 범위 제한
프로젝트당 최대 추적 범위 수 100
trace 범위당 최대 뷰 수 20

다음 단계