Neste documento, descrevemos como criar um conjunto de dados vinculado do BigQuery no conjunto de dados de observabilidade. Em seguida, use os serviços do BigQuery, como o BigQuery Studio e a API BigQuery, para consultar o conjunto de dados vinculado.
Para começar a usar a Análise de observabilidade, consulte Consultar e analisar traces.
Quando você precisa de um conjunto de dados vinculado
Não é necessário um conjunto de dados vinculado do BigQuery quando você quer consultar dados de rastreamento ou dados de rastreamento e registro. Para esses cenários, use a página Análise de observabilidade. Para informações sobre como consultar dados de registro, consulte Consultar e analisar registros com a Análise de observabilidade.
Você precisa de um conjunto de dados vinculado do BigQuery quando quer fazer o seguinte:
- Mesclar dados de rastreamento com outros conjuntos de dados do BigQuery.
- Consultar dados de rastreamento de outro serviço, como o BigQuery Studio ou o Data Studio.
- Execute consultas na página Análise de observabilidade no mecanismo do BigQuery.
- Monitore os resultados da consulta SQL com uma política de alertas.
Criar um conjunto de dados vinculado do BigQuery
Esta seção descreve como criar um conjunto de dados vinculado do BigQuery, que permite que os serviços do BigQuery consultem seus dados de rastreamento. É possível criar um conjunto de dados vinculado do BigQuery em um conjunto de dados de observabilidade.
Ao criar um conjunto de dados vinculado, você inicia uma operação de longa duração. Várias ações ocorrem como parte dessa operação:
- Os registros de auditoria registram a solicitação de criação de um link e a conclusão da operação.
Quando a conta de serviço do Monitoring não existe, o Google Cloud Observability a cria.
A API Cloud Monitoring precisa estar ativada para que essa conta de serviço seja criada.
O Google Cloud Observability exige uma conta de serviço antes de criar um conjunto de dados vinculado. Quando necessário, uma conta de serviço é criada:
Conta de serviço da Observabilidade do Cloud: necessária para um link em um conjunto de dados de observabilidade.
Conta de serviço do Cloud Logging: necessária para um link em um bucket de registros.
Um registro de auditoria registra a solicitação do gerente do agente de serviço para conceder à conta de serviço do Monitoring o papel do IAM de Agente de serviço do Monitoring.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
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.-
Para receber as permissões necessárias para criar um link em um conjunto de dados de observabilidade, peça ao administrador para conceder a você o papel do IAM Editor de observabilidade (
roles/observability.editor) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Criar conjunto de dados
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- LINK_ID: o nome do conjunto de dados do BigQuery.
- DATASET_ID: o ID do conjunto de dados. Os dados de rastreamento são armazenados em um conjunto de dados chamado
Spans. - BUCKET_ID: o ID do bucket de observabilidade. Por exemplo, o ID pode ser
_Trace. - LOCATION: o local dos buckets de observabilidade.
- PROJECT_ID: o identificador do projeto.
Execute o comando
gcloud beta observability buckets datasets links create:
Linux, macOS ou 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
O comando "create" inicia uma operação de longa duração. Confira a seguir um exemplo de resposta quando o comando é bem-sucedido:
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
Para criar um link para um conjunto de dados do BigQuery, envie uma solicitação ao endpoint
projects.locations.buckets.datasets.links.create.
Você precisa especificar o parâmetro "parent", que tem o seguinte formato:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID
Os campos na expressão anterior têm o seguinte significado:
- PROJECT_ID: o identificador do projeto.
- LOCATION: o local do bucket de observabilidade.
- BUCKET_ID: o ID do bucket de observabilidade. Por exemplo, o ID pode ser
_Trace. - DATASET_ID: o ID do conjunto de dados que está sendo consultado. Por exemplo, o ID pode ser
Spans.
Esse comando requer um parâmetro de consulta e um corpo da solicitação:
O parâmetro de consulta,
linkId, precisa ser especificado e definido como o nome do conjunto de dados do BigQuery. Por exemplo,linkId="my_link". O nome do conjunto de dados do BigQuery precisa ser exclusivo para seu projeto Google Cloud , ter no máximo 100 caracteres e incluir apenas letras, dígitos e sublinhados.O corpo da solicitação é um objeto
Link. O valor do camponametem o seguinte formato:projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/dataset/DATASET_ID/links/LINK_IDO valor fornecido para o campo
nameprecisa corresponder ao conjunto de dados vinculado do BigQuery referenciado pelo parâmetro de consulta.O campo LINK_ID é o nome do conjunto de dados do BigQuery.
A resposta é um objeto Operation.
Esse objeto contém informações sobre o progresso do método. Quando o
método é concluído, o objeto Operation contém dados de status.
Para uma lista completa de endpoints da API Observability, consulte a documentação de referência da API Observability.
Se você encontrar erros de permissão ao criar um conjunto de dados vinculado, consulte Resolver problemas de erros de permissão.