관찰 가능성 데이터 세트에 연결된 BigQuery 데이터 세트를 만들어 BigQuery 서비스를 사용하여 추적 데이터를 쿼리할 수 있습니다. 그런 다음 BigQuery Studio 또는 BigQuery API를 사용하여 추적 데이터를 비즈니스 데이터 세트와 조인하고 스팬을 분석할 수 있습니다.
관찰 가능성 분석을 사용하는 경우 SQL로 추적 데이터를 분석하는 데 연결된 BigQuery 데이터 세트가 필요하지 않습니다. 관찰 가능성 분석을 사용할 때 추적 및 로그 데이터를 조인할 수도 있습니다. 자세한 내용은 SQL로 trace 쿼리 및 분석 및 Observability Analytics로 로그 쿼리 및 분석을 참조하세요.
연결된 데이터 세트가 필요한 경우
다음 작업을 수행하려면 연결된 BigQuery 데이터 세트가 필요합니다.
- 추적 데이터를 다른 BigQuery 데이터 세트와 조인합니다.
- BigQuery Studio 또는 데이터 스튜디오와 같은 다른 서비스에서 추적 데이터를 쿼리합니다.
BigQuery 엔진의 관찰 가능성 분석 페이지에서 쿼리를 실행합니다.
관찰 가능성 분석 페이지는 유휴 슬롯을 사용하는 기본 쿼리 엔진에서 쿼리를 자동으로 실행합니다. 하지만 BigQuery 엔진에서 쿼리를 실행하도록 이 페이지를 구성할 수 있습니다.
연결된 BigQuery 데이터 세트 만들기
이 섹션에서는 관찰 가능성 데이터 세트에 연결된 BigQuery 데이터 세트를 만들어 BigQuery 서비스를 사용하여 추적 데이터를 쿼리하는 방법을 설명합니다. 각 관찰 가능성 데이터 세트는 하나의 연결된 BigQuery 데이터 세트를 지원합니다.
연결된 데이터 세트를 만들면 장기 실행 작업이 시작됩니다. 이 작업의 일부로 여러 작업이 발생합니다.
- 감사 로그는 링크를 만드는 요청과 작업 완료를 기록합니다.
Monitoring 서비스 계정 이 없는 경우 Google Cloud Observability에서 만듭니다.
이 서비스 계정을 만들려면 Cloud Monitoring API를 사용 설정해야 합니다.
Google Cloud Observability는 연결된 데이터 세트를 만들기 전에 서비스 계정이 필요합니다. 필요한 경우 서비스 계정이 생성됩니다.
Cloud Observability 서비스 계정: 관찰 가능성 데이터 세트의 링크에 필요합니다.
Cloud Logging 서비스 계정: 로그 버킷의 링크에 필요합니다.
감사 로그는 서비스 에이전트 관리자의 요청을 기록하여 Monitoring 서비스 계정에 Monitoring 서비스 에이전트의 IAM 역할을 부여합니다.
시작하기 전에
- 계정에 로그인합니다. Google Cloud 를 처음 사용하는 경우 Google Cloud, 계정을 만들어 실제 시나리오에서 제품이 어떻게 작동하는지 평가하세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Monitoring and Observability APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Monitoring and Observability APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
관찰 가능성 데이터 세트에 링크를 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한관찰 가능성 편집자 (
roles/observability.editor) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
데이터 세트 만들기
gcloud
아래의 명령어 데이터를 사용하기 전에, 다음을 바꿉니다.
- LINK_ID: BigQuery 데이터 세트의 이름입니다.
- DATASET_ID: 데이터 세트 ID입니다. 추적 데이터는
Spans라는 데이터 세트에 저장됩니다. - BUCKET_ID: 모니터링 가능성 버킷의 ID입니다. 예를 들어 이 ID는
_Trace일 수 있습니다. - LOCATION: 모니터링 가능성 버킷의 위치입니다.
- PROJECT_ID: 프로젝트 식별자입니다.
gcloud beta observability buckets datasets links create
명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud beta observability buckets datasets links create \ projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID \ --dataset=DATASET_ID\ --bucket=BUCKET_ID \ --location=LOCATION \ --project=PROJECT_ID
Windows(PowerShell)
gcloud beta observability buckets datasets links create ` projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ` --dataset=DATASET_ID` --bucket=BUCKET_ID ` --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud beta observability buckets datasets links create ^ projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ^ --dataset=DATASET_ID^ --bucket=BUCKET_ID ^ --location=LOCATION ^ --project=PROJECT_ID
create 명령어는 장기 실행 작업을 시작합니다. 다음은 명령어가 성공했을 때의 응답 예시입니다.
Create request issued for: [mydataset] Waiting for operation [projects/my-project/locations/us/operations/operation-1775164903749-64e80c9817833-9ff804b6-c3e9cbe7] to complete...done. Created link [mydataset].
REST
BigQuery 데이터 세트에 대한 링크를 만들려면
projects.locations.buckets.datasets.links.create
엔드포인트에 요청을 보냅니다.
다음 형식을 갖는 상위 매개변수를 지정해야 합니다.
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID
앞의 표현식에 있는 필드는 다음과 같은 의미를 갖습니다.
- PROJECT_ID: 프로젝트 식별자
- LOCATION: 관찰 가능성 버킷의 위치
- BUCKET_ID: 모니터링 가능성 버킷의 ID 예를 들어 이 ID는
_Trace일 수 있습니다. - DATASET_ID: 쿼리 중인 데이터 세트의 ID 예를 들어 이 ID는
Spans일 수 있습니다.
이 명령어에는 쿼리 매개변수와 요청 본문이 필요합니다.
쿼리 매개변수
linkId를 지정하고 BigQuery 데이터 세트의 이름으로 설정해야 합니다. 예를 들어linkId="my_link"입니다. BigQuery 데이터 세트 이름은 프로젝트에 고유해야 하며 Google Cloud 101자로 제한되고 문자, 숫자, 밑줄만 포함할 수 있습니다.요청 본문은
Link객체입니다.name필드의 값은 다음 형식을 갖습니다.projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_IDname필드에 제공하는 값은 쿼리 매개변수가 참조하는 연결된 BigQuery 데이터 세트와 일치해야 합니다.LINK_ID 필드는 BigQuery 데이터 세트의 이름입니다.
응답은 Operation 객체입니다.
이 객체에는 메서드의 진행률에 대한 정보가 포함되어 있습니다. 메서드가 완료되면 Operation 객체에 상태 데이터가 포함됩니다.
Observability API 엔드포인트의 전체 목록은 Observability API 참조 문서를 확인하세요.
연결된 데이터 세트를 만드는 중에 권한 오류가 발생하면 권한 오류 문제 해결을 참조하세요.