모니터링 가능성 범위 구성

이 문서에서는 하나의 Google Cloud 프로젝트를 구성하여 여러 Google Cloud 프로젝트의 원격 분석 데이터를 모니터링하거나 표시하는 방법을 설명합니다. 하나의Google Cloud 프로젝트에 저장된 데이터만 모니터링하거나 보려는 경우에는 별도의 구성을 수행할 필요가 없습니다. 프로젝트 선택 도구에서 선택한 Google Cloud 프로젝트에 저장된 데이터를 사용하도록 시각화 및 분석 도구가 구성되어 있기 때문입니다. 그러나 보거나 분석하려는 원격 분석 데이터를 여러 프로젝트에서 가져온 경우 해당 데이터를 집계된 뷰로 몇 가지 구성 작업을 수행해야 합니다.

관측 가능성 범위에 대한 정보

Google Cloud Observability 분석 및 시각화 도구는 데이터 유형별 범위를 사용하여 표시하거나 분석할 데이터를 결정합니다. 범위는 특정 유형의 데이터를 검색할 리소스를 정의합니다. 측정항목 데이터를 제외하고 검색된 프로젝트 및 로그 보기에 대한 Identity and Access Management(IAM) 역할에 따라 표시되는 데이터가 결정됩니다.

다음 범위를 구성할 수 있습니다.

모니터링 가능성 범위

이 범위는 탐색기 및 대시보드 페이지에서 표시할 데이터를 검색하는 방법을 제어합니다. 각 Google Cloud 프로젝트에는 단일 모니터링 가능성 범위가 포함되며, 여기에는 기본 로그 범위, 측정항목 범위, 기본 trace 범위가 표시됩니다.

다음 시나리오에서는 모니터링 가능성 범위의 구성요소를 구성하는 것이 좋습니다.

  • App Hub에 애플리케이션을 등록하는 경우. 직접 등록한 애플리케이션이거나 Application Design Center를 사용하여 배포한 애플리케이션일 수 있습니다.
  • 여러 Google Cloud 프로젝트에 저장된 원격 분석 데이터에 대한 통합 뷰가 필요한 경우

프로젝트에 대한 모니터링 가능성 범위의 구성요소를 구성하지 않으면 로그 탐색기 페이지에 프로젝트에서 발생한 로그 데이터가 표시됩니다. 측정항목 탐색기Trace 탐색기 페이지에는 프로젝트에 저장된 데이터만 표시할 수 있습니다. 또한 알림 정책은 프로젝트에 저장된 데이터만 모니터링할 수 있습니다.

로그 범위

로그 탐색기 페이지를 열 때 일반적으로 보고 싶은 데이터가 표시되도록 프로젝트의 기본 로그 범위를 구성합니다. 로그 범위에는 프로젝트, 폴더, 조직, 로그 뷰가 나열될 수 있습니다. 예를 들어 기본 로그 범위를 설정하여 로그 뷰를 나열할 수 있습니다. 이 로그 뷰는 쿼리 시 App Hub 애플리케이션의 로그 데이터를 반환합니다.

로그 범위를 여러 개 만들 수 있습니다. 로그 탐색기 페이지를 사용할 때 다른 로그 범위를 선택하면 페이지에서 선택한 범위에 나열된 리소스를 검색한 후 디스플레이를 새로고침합니다.

다음 시나리오에서는 기본 로그 범위를 구성하는 것이 좋습니다.

  • 로그 데이터를 중앙 집중식 로그 버킷으로 라우팅합니다.
  • 로그 데이터를 다른 프로젝트 또는 다른 프로젝트에서 저장한 로그 버킷으로 라우팅합니다.
  • 로그 뷰를 사용합니다.

자세한 내용은 로그 범위 만들기 및 관리를 참조하세요.

측정항목 범위

측정항목 데이터를 저장하는 모든 프로젝트를 나열하도록 측정항목 범위를 구성하면 차트와 알림 정책에서 측정항목 데이터의 집계된 뷰를 표시하거나 모니터링할 수 있습니다.

각 Google Cloud 프로젝트에는 단일 측정항목 범위가 포함되며 이 범위는 기본적으로 프로젝트만 나열합니다.

다음 중 하나라도 해당하는 경우 측정항목 범위를 구성하는 것이 좋습니다.

  • 여러 프로젝트에 저장된 데이터를 차트로 표시하려는 경우
  • 여러 프로젝트에 저장된 데이터를 모니터링하는 알림 정책이 필요한 경우
  • App Hub에 애플리케이션을 등록하는 경우. 이 시나리오에 대한 자세한 내용은 관리 프로젝트의 측정항목 범위를 참조하세요.

자세한 내용은 측정항목 범위 개요를 참조하세요.

trace 범위

trace 데이터를 저장하는 모든 프로젝트를 나열하도록 기본 trace 범위를 구성하여 Trace 탐색기 페이지를 열 때 trace 데이터의 집계된 뷰를 확인할 수 있습니다.

여러 trace 범위를 만들 수 있습니다. Trace 탐색기 페이지를 사용할 때 다른 trace 범위를 선택하면 페이지에서 선택한 범위에 나열된 프로젝트를 검색한 후 디스플레이를 새로고침합니다.

여러 프로젝트에 저장된 trace 데이터에 대한 통합 뷰를 보려면 trace 범위를 구성하는 것이 좋습니다.

자세한 내용은 trace 범위 만들기 및 관리를 참조하세요.

시작하기 전에

범위를 만들고 보는 데 필요한 권한을 얻으려면 관리자에게 다음의 IAM 역할을 부여해 달라고 요청하세요.

  • 로그 범위를 만들고 보거나 기본 로그 범위를 가져오려는 경우: 프로젝트에 대한 로그 구성 작성자(roles/logging.configWriter)
  • 측정항목 범위를 수정하려는 경우: 프로젝트나 측정항목 범위에 추가하려는 각 프로젝트에 대한 모니터링 관리자(roles/monitoring.admin)
  • trace 범위를 만들고 보거나 기본 trace 범위를 가져오려는 경우: 프로젝트에 대한 Cloud Trace 사용자(roles/cloudtrace.user)
  • 기본 로그 범위를 가져오고 설정하려는 경우: 프로젝트에 대한 모니터링 가능성 편집자(roles/observability.editor)

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

이렇게 사전 정의된 역할에는 범위를 만들고 보는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

범위를 만들고 보려면 다음 권한이 필요합니다.

  • 로그 범위를 구성하려는 경우: logging.logScopes.{create, delete, get, list, update}
  • 측정항목 범위를 구성하려는 경우: monitoring.metricsscopes.{link, get, list}
  • trace 범위를 구성하려는 경우: cloudtrace.traceScopes.{create, delete, get, list, update}
  • 기본 범위를 가져오고 설정하려는 경우: observability.scopes.{get, update}

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

관측 가능성 범위 구성

이 섹션은 폴더 또는 조직에는 적용되지 않습니다.

프로젝트에 대한 모니터링 가능성 범위의 구성요소를 구성하지 않으면 로그 탐색기 페이지에 프로젝트에서 발생한 로그 데이터가 표시됩니다. 측정항목 탐색기Trace 탐색기 페이지에는 프로젝트에 저장된 데이터만 표시할 수 있습니다. 또한 알림 정책은 프로젝트에 저장된 데이터만 모니터링할 수 있습니다.

로그 및 trace 데이터의 경우 보고 있는 프로젝트와 검색된 프로젝트 및 로그 뷰에 대한 Identity and Access Management(IAM) 역할에 따라 표시되는 데이터가 결정됩니다. 보고 있는 프로젝트의 IAM 역할에 따라 측정항목 데이터를 볼 수 있는지 여부가 결정됩니다.

콘솔

모니터링 가능성 범위를 구성하려면 기본 로그 범위, 측정항목 범위, 기본 trace 범위인 구성요소를 구성합니다.

  1. Enable the Observability API.

    Enable the API

    API를 사용 설정하기 전에 올바른 프로젝트가 선택되어 있는지 확인합니다. App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트를 선택합니다.

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

    설정으로 이동

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

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

  4. 기본 로그 범위를 구성합니다.

    1. 로그 범위 탭을 선택합니다.

      기존 로그 범위가 나열됩니다. '기본값' 아이콘()이 있는 항목이 기본 로그 범위입니다. 로그 범위를 만들려면 로그 범위 만들기를 클릭한 다음 대화상자를 완료합니다. 자세한 내용은 로그 범위 만들기 및 관리를 참조하세요.

    2. 기본값으로 지정할 항목을 찾아  더보기를 클릭한 다음 기본값으로 설정을 선택합니다.

  5. 측정항목 범위를 구성합니다.

    1. 측정항목 범위 탭을 선택합니다.
    2. Google Cloud 프로젝트 창에서 프로젝트 추가를 클릭한 다음 대화상자를 완료합니다. 자세한 내용은 측정항목 범위 구성을 참조하세요.
  6. 기본 trace 범위를 구성합니다.

    1. trace 범위 탭을 선택한 후 다음을 수행합니다.

      기존 trace 범위가 나열됩니다. '기본값' 아이콘()이 있는 항목이 기본 trace 범위입니다. trace 범위를 만들려면 로그 범위 만들기를 클릭한 다음 대화상자를 완료합니다. 자세한 내용은 trace 범위 만들기 및 관리를 참조하세요.

    2. 기본값으로 지정할 항목을 찾아  더보기를 클릭한 다음 기본값으로 설정을 선택합니다.

gcloud

기본 모니터링 가능성 범위를 보고 설정하려면 다음을 수행합니다.

  1. 기본 범위의 설정을 보려면 gcloud observability scopes describe 명령어를 실행합니다.

    아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

    • OBSERVABILITY_SCOPE_ID: Scope 객체의 이름. 이 값은 _Default로 설정해야 합니다.
    • LOCATION: 위치 필드는 global로 설정되어야 합니다.
    • PROJECT_ID: 프로젝트 식별자

    gcloud observability scopes describe 명령어를 실행합니다.

    Linux, macOS 또는 Cloud Shell

    gcloud observability scopes describe OBSERVABILITY_SCOPE_ID \
       --location=LOCATION\
       --project=PROJECT_ID

    Windows(PowerShell)

    gcloud observability scopes describe OBSERVABILITY_SCOPE_ID `
       --location=LOCATION`
       --project=PROJECT_ID

    Windows(cmd.exe)

    gcloud observability scopes describe OBSERVABILITY_SCOPE_ID ^
       --location=LOCATION^
       --project=PROJECT_ID

    명령어의 응답은 다음과 비슷합니다.

    logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default
    name: projects/my-project/locations/global/scopes/_Default
    

  2. 기본 범위를 업데이트하려면 gcloud observability scopes update 명령어를 실행합니다.

    아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

    • OBSERVABILITY_SCOPE_ID: Scope 객체의 이름. 이 값은 _Default로 설정해야 합니다.
    • LOG_SCOPE_FQN_ID: 로그 범위의 정규화된 ID입니다. 이 필드의 형식은 다음과 같습니다.
      logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/logScopes/LOG_SCOPE_ID

      이전 표현식에서 LOG_SCOPE_ID는 로그 범위의 ID입니다. 예를 들면 my-scope입니다.

    • LOCATION: 위치 필드는 global로 설정되어야 합니다.
    • PROJECT_ID: 프로젝트 식별자

    gcloud observability scopes update 명령어를 실행합니다.

    Linux, macOS 또는 Cloud Shell

    gcloud observability scopes update OBSERVABILITY_SCOPE_ID \
       --log-scope=LOG_SCOPE_FQN_ID\
       --location=LOCATION\
       --project=PROJECT_ID

    Windows(PowerShell)

    gcloud observability scopes update OBSERVABILITY_SCOPE_ID `
       --log-scope=LOG_SCOPE_FQN_ID`
       --location=LOCATION`
       --project=PROJECT_ID

    Windows(cmd.exe)

    gcloud observability scopes update OBSERVABILITY_SCOPE_ID ^
       --log-scope=LOG_SCOPE_FQN_ID^
       --location=LOCATION^
       --project=PROJECT_ID

    예를 들어 LOG_SCOPE_ID 값이 my-scope이면 응답은 다음과 비슷합니다.

    Updated scope [_Default].
    logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/my-scope
    name: projects/my-project/locations/global/scopes/_Default
    

REST

기본 trace 범위를 설정하는 데는 지원되지 않습니다.

Observability API를 사용하여 기본 로그 범위를 가져오거나 설정하려면 다음 단계를 따르세요.

  1. Observability API가 사용 설정되어 있어야 합니다.

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Google Cloud CLI의 기본 프로젝트를 설정합니다.

      gcloud config set project PROJECT_ID
      

      위 명령어를 실행하기 전에 다음을 교체합니다.

      • PROJECT_ID: 프로젝트 식별자 App Hub 구성의 경우 App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트를 선택합니다.
    3. Enable the Observability API:

      gcloud services enable observability.googleapis.com
  2. 다음 중 하나를 수행합니다.

    • 프로젝트의 기본 로그 범위를 가져오려면 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"
      }