trace 범위 만들기 및 관리

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

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

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

trace 범위 정보

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

Google Cloud 프로젝트를 만들면 _Default이라는 추적 범위가 생성됩니다. 이 범위에는 Google Cloud 프로젝트만 포함됩니다. 이 범위에 프로젝트를 추가하거나 이 범위를 삭제할 수 없습니다.

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

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

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

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

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

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  4. Enable the Observability API.

    Enable the API

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

    Go to project selector

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

  7. Enable the Observability API.

    Enable the API

  8. 추적 범위를 만들고 보는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 관측 가능성 범위 편집자 (roles/observability.scopesEditor) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

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

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

  9. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

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

      Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.

      gcloud init

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

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

    추적 범위 나열

    콘솔

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

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

      설정으로 이동

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

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

      추적 범위가 표에 나열됩니다. Google Cloud 프로젝트를 선택하면 하나의 항목에 '기본값' 아이콘()이 표시됩니다. 이는 기본 추적 범위임을 나타냅니다. Trace 탐색기 페이지가 열리면 기본 trace 범위에 나열된 프로젝트에서 trace 데이터를 검색합니다.

    gcloud

    지원되지 않음.

    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. 프로젝트 추가를 클릭하고 대화상자를 완료합니다.

      범위에 포함할 프로젝트를 모르는 경우 기존 Trace 탐색기 페이지를 사용하여 프로젝트를 식별할 수 있습니다. 자세한 내용은 이 문서의 추적 범위로 이전 섹션을 참고하세요.

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

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

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

    gcloud

    지원되지 않음.

    REST

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

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

    projects/PROJECT_ID/locations/LOCATION_ID/traceScopes
    

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

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

    trace 범위로 마이그레이션

    Trace 탐색기 페이지에서는 trace 데이터를 검색할Google Cloud 프로젝트를 지정해야 합니다. 이는 기존 Trace 탐색기 페이지와 다른 동작입니다. 기존 Trace 탐색기 페이지는 조직의 모든 프로젝트를 검색합니다. 이러한 차이로 인해 Trace 탐색기 페이지에 기존 Trace 탐색기 페이지에 표시되는 스팬이 표시되지 않을 수 있습니다.

    기존 Trace 탐색기 페이지의 Trace 세부정보 창 섹션을 사용하여 trace 데이터를 저장하는Google Cloud 프로젝트 목록을 작성할 수 있습니다.

    1. 기존 Trace 탐색기 페이지로 이동합니다.

      기존 Trace 탐색기로 이동

    2. Google Cloud 콘솔의 툴바에서 Google Cloud 프로젝트를 선택합니다. App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트를 선택합니다.

    3. 트레이스를 선택합니다.

      다음과 같은 방법을 시도해 보세요.

      • Trace ID 필드에 ID를 입력하여 트레이스를 확인합니다.
      • 필터 추가
    4. Trace 세부정보 창에서 trace를 선택한 다음 프로젝트 탭으로 이동합니다.

      이 탭에는 트레이스의 스팬을 저장하는 프로젝트가 나열됩니다.

    5. 나열된 프로젝트가 포함된 추적 범위를 만들려면 프로젝트 탭의 툴바로 이동하여 이 프로젝트로 범위 만들기를 선택한 후 대화상자를 완료합니다.

    6. 프로젝트 목록을 작성할 때까지 이전 단계를 반복합니다.

    프로젝트 목록을 컴파일한 후 추적 범위를 만듭니다. 기본 추적 범위로 설정할 수도 있습니다.

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

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

    콘솔

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

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

      설정으로 이동

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

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

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

    gcloud

    지원되지 않음.

    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 데이터를 검색합니다. 해당 추적 범위에 액세스할 수 없는 경우 프로젝트에서 추적 데이터를 검색합니다.

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

    콘솔

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

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

      설정으로 이동

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

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

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

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

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

    gcloud

    지원되지 않음.

    REST

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

    • 프로젝트의 기본 관측 가능성 범위를 가져오려면 projects.locations.scopes.get 엔드포인트로 요청을 보냅니다. 경로 매개변수를 지정해야 합니다. 응답은 기본 로그 범위와 기본 추적 범위를 나열하는 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 객체는 자동으로 생성되며 기본 로그 범위와 기본 추적 범위에 관한 정보를 저장합니다.

    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

    다음 단계