Consultar um conjunto de dados do BigQuery associado

Este documento descreve como criar um conjunto de dados associado para um contentor de registos e como consultar e ver registos nesse conjunto de dados. Por exemplo, pode criar um conjunto de dados associado para poder executar consultas no Log Analytics usando as suas ranhuras do BigQuery reservadas. Da mesma forma, pode querer um conjunto de dados associado para poder escrever consultas no BigQuery ou no Looker Studio que juntem os seus dados de registo com outros dados empresariais.

Não pode criar um conjunto de dados do BigQuery associado para uma visualização do Analytics.

Se não estiver familiarizado com o Log Analytics, consulte o artigo Vista geral do Log Analytics.

Quando precisa de um conjunto de dados associado

Não precisa de um conjunto de dados do BigQuery associado para emitir consultas a uma visualização de registos na página Log Analytics quando usa o serviço Cloud Logging predefinido. Pode guardar e partilhar as suas consultas, bem como guardar os resultados num painel de controlo personalizado.

Precisa de um conjunto de dados do BigQuery associado quando quiser fazer qualquer uma das seguintes ações:

Um conjunto de dados do BigQuery associado a um contentor de registos permite que o BigQuery leia os dados no contentor de registos.

Se executar as consultas em slots do BigQuery reservados, as consultas estão sujeitas aos preços de computação de capacidade. Além disso, se consultar os seus dados através de um serviço que não seja o Log Analytics, as suas consultas podem estar sujeitas a outros custos com base nesse serviço. Consulte a página de preços do serviço que está a usar.

Como os contentores de registos e as vistas de registos são mapeados para objetos do BigQuery

Quando cria um conjunto de dados do BigQuery associado para um contentor de registos, fica disponível um novo conjunto de dados para o BigQuery. Especifica o nome do conjunto de dados associado durante o processo de associação. Todas as visualizações de registos no contentor de registos são automaticamente mapeadas para visualizações virtuais no conjunto de dados. O nome de uma vista virtual é igual ao da vista de registo correspondente.

Por exemplo, suponhamos que o projeto my_project tem um contentor de registos denominado example e que este contentor de registos tem uma vista de registos denominada _AllLogs. Se criar um conjunto de dados associado para esse contentor de registos com o nome my_dataset, a página Explorador do BigQuery apresenta uma entrada my_project. Um filho da entrada my_project é um conjunto de dados com o nome my_dataset e esse conjunto de dados apresenta uma visualização virtual denominada _AllLogs.

Implicações do controlo de acesso quando usa conjuntos de dados associados

Quando um principal consulta uma vista num conjunto de dados do BigQuery associado, essa consulta é executada através da camada de autorização do BigQuery e não da camada de autorização do Cloud Logging. Por conseguinte, as funções e as autorizações do BigQuery concedidas ao principal no conjunto de dados associado determinam se este pode consultar o conjunto de dados.

Não é possível restringir um principal a uma vista virtual específica num conjunto de dados associado. Quando um principal tem acesso concedido ao conjunto de dados associado, pode consultar todas as vistas nesse conjunto de dados.

Antes de começar

Esta secção descreve os passos que tem de concluir antes de poder usar a análise de registos.

Configure contentores de registos

Certifique-se de que os contentores de registos foram atualizados para usar o Log Analytics:

  1. Na Google Cloud consola, aceda à página Armazenamento de registos:

    Aceda a Armazenamento de registos

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

  2. Para cada contentor de registos que tenha uma vista de registos que quer consultar, certifique-se de que a coluna Log Analytics disponível apresenta Abrir. Se for apresentado o botão Atualizar, clique nele e conclua a caixa de diálogo.

Configure funções e autorizações do IAM

Esta secção descreve as funções ou as autorizações da IAM necessárias para usar o Log Analytics:

  • Para receber as autorizações de que precisa para usar o Log Analytics e consultar visualizações de registos, peça ao seu administrador que lhe conceda as seguintes funções de IAM no seu projeto:

    Pode restringir um principal a uma vista de registos específica adicionando uma condição de IAM à concessão da função Logs View Accessor feita ao nível do projeto ou adicionando uma associação de IAM ao ficheiro de política da vista de registos. Para mais informações, consulte o artigo Controle o acesso a uma vista de registo.

    Estas são as mesmas autorizações de que precisa para ver entradas de registo na página do Explorador de registos. Para ver informações sobre funções adicionais necessárias para consultar visualizações em contentores definidos pelo utilizador ou para consultar a visualização _AllLogs do contentor de registos _Default, consulte Funções do Cloud Logging.

  • Para receber as autorizações de que precisa para criar e consultar conjuntos de dados associados, peça ao seu administrador que lhe conceda as seguintes funções de IAM no projeto que armazena o contentor de registos:

Valide a sua edição do BigQuery

Se quiser consultar os dados de registo na página Log Analytics usando slots reservados do BigQuery e se estiver a usar projetos com os VPC Service Controls (Virtual Private Cloud), certifique-se de que está a usar a Enterprise Edition do BigQuery. Para mais informações, consulte o artigo Compreender as edições do BigQuery.

Quando quiser usar as capacidades do BigQuery para analisar os seus dados de registo, atualize um contentor de registos para usar a análise de registos e, em seguida, crie um conjunto de dados associado. Com esta configuração, o registo armazena os seus dados de registo, mas o BigQuery pode ler os dados de registo.

Google Cloud consola

Para criar uma associação a um conjunto de dados do BigQuery para um contentor de registos existente, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Armazenamento de registos:

    Aceda a Armazenamento de registos

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

  2. Localize o contentor de registos e verifique se a coluna Log Analytics disponível apresenta Abrir.

    Se esta coluna apresentar Atualizar, significa que o contentor de registos não foi atualizado para usar o Log Analytics. Configure o Log Analytics:

    1. Clique em Atualizar.
    2. Clique em Confirmar na caixa de diálogo.

    Após a conclusão da atualização, avance para o passo seguinte.

  3. No contentor de registos, clique em Mais e, de seguida, em Editar contentor.

    É apresentada a caixa de diálogo Editar contentor de registos.

  4. Selecione Criar um novo conjunto de dados do BigQuery que esteja associado a este contentor e introduza o nome do novo conjunto de dados.

    O nome do conjunto de dados tem de ser exclusivo para cada Google Cloud projeto. Se introduzir o nome de um conjunto de dados existente, recebe o seguinte erro: Dataset name must be unique in the selected region.

  5. Clique em Concluído e, de seguida, em Atualizar contentor.

    Depois de o registo apresentar o nome do conjunto de dados associado na página Armazenamento de registos, pode demorar vários minutos até o BigQuery reconhecer o conjunto de dados.

gcloud

Para criar um conjunto de dados associado para um contentor de registos atualizado para usar o Log Analytics, execute o comando gcloud logging links create:

gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION

O LINK_ID que fornece é usado como o nome do conjunto de dados do BigQuery, e o valor deste campo tem de ser único para o seu projeto Google Cloud .

O comando links create é assíncrono. O retorno de um método assíncrono é um objeto Operation e contém informações sobre o progresso do método. Quando o método é concluído, o objeto Operation contém o estado. Para mais informações, consulte o artigo Métodos de API assíncronos.

O comando links create demora vários minutos a concluir.

Por exemplo, o seguinte comando cria um conjunto de dados associado denominado mylink para o contentor de registos denominado my-bucket:

gcloud logging links create mylink --bucket=my-bucket --location=global

O nome do conjunto de dados tem de ser exclusivo para cada Google Cloud projeto. Se tentar criar um conjunto de dados com o mesmo nome de um conjunto de dados existente, recebe o seguinte erro:

BigQuery dataset with name "LINK_ID" already exists.

Se tentar criar um conjunto de dados associado para um contentor de registos que não tenha sido atualizado para usar o Log Analytics, é comunicado o seguinte erro:

A link can only be created for an analytics-enabled bucket.

REST

Para criar um conjunto de dados do BigQuery associado para um contentor de registos existente que seja atualizado para usar o Log Analytics, chame o método projects.locations.buckets.links.create assíncrono da API Cloud Logging.

Prepare os argumentos para o método da seguinte forma:

  1. Construa o corpo do pedido para o comando create. O corpo do pedido está formatado como um objeto Link.
  2. Para o parâmetro de consulta do comando, use linkId=LINK_ID. O LINK_ID que fornece é usado como o nome do conjunto de dados do BigQuery, e o valor deste campo tem de ser único para o seu projeto Google Cloud .

A resposta aos métodos assíncronos é um objeto Operation. Este objeto contém informações sobre o progresso do método. Quando o método é concluído, o objeto Operation contém o estado. Para mais informações, consulte o artigo Métodos de API assíncronos.

O método links.create demora vários minutos a ser concluído.

O nome do conjunto de dados tem de ser exclusivo para cada Google Cloud projeto. Se tentar criar um conjunto de dados com o mesmo nome de um conjunto de dados existente, recebe o seguinte erro:

BigQuery dataset with name "LINK_ID" already exists.

Se tentar criar um conjunto de dados associado para um contentor de registos que não tenha sido atualizado para usar o Log Analytics, é comunicado o seguinte erro:

A link can only be created for an analytics-enabled bucket.

Executar consultas a partir do BigQuery

Quando tem um contentor de registos que usa o Log Analytics e conjuntos de dados associados, pode ver e consultar os conjuntos de dados associados através da página BigQuery Studio. Com esta configuração, pode analisar os seus conjuntos de dados através de comandos, fluxos de trabalho e conjuntos de dados disponíveis apenas no BigQuery Studio.

Para abrir o BigQuery a partir do Log Analytics e, em seguida, consultar o conjunto de dados associado, faça o seguinte:

  1. Certifique-se de que existe um conjunto de dados associado ao contentor de registos que aloja a visualização de registos que quer consultar:

    1. Na Google Cloud consola, aceda à página Armazenamento de registos:

      Aceda a Armazenamento de registos

      Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

    2. Localize o contentor de registos e verifique se a coluna Conjunto de dados associado do BigQuery apresenta um URL. Se a entrada estiver vazia, tem de criar um conjunto de dados associado. Para obter informações sobre estes passos, consulte o artigo Crie um conjunto de dados do BigQuery associado

  2. Na Google Cloud consola, aceda à página Log Analytics:

    Aceda ao Log Analytics

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

  3. Na lista Ver registos, encontre e selecione a vista de registos.

  4. No painel Esquema, selecione Consulta.

    O painel Consulta é preenchido com uma consulta predefinida. Também pode introduzir uma consulta no painel Consulta ou editar uma consulta apresentada.

  5. Na barra de ferramentas, expanda o botão com a etiqueta Executar consulta ou Executar no BigQuery e selecione Abrir no BigQuery.

    É apresentada a página BigQuery Studio. A declaração da consulta é modificada para especificar o caminho para a vista de registo no conjunto de dados associado através da sintaxe do caminho da tabela do BigQuery.FROM

    Também pode editar a consulta apresentada.

  6. Na página BigQuery Studio, clique em Executar consulta.

Execute consultas de análise de registos nas suas ranhuras do BigQuery reservadas

Quando quiser minimizar o tempo de execução das suas consultas do Log Analytics, execute-as nos seus slots do BigQuery reservados. A página Log Analytics está pré-configurada para usar o serviço Log Analytics predefinido, o que significa que as suas consultas têm de competir por espaço de slots limitado com outras consultas. Quando não existem ranhuras disponíveis, a execução da consulta é atrasada. Pode eliminar estes atrasos executando as suas consultas em slots do BigQuery reservados.

Para emitir uma consulta SQL para uma vista de registo, faça o seguinte:

  1. Certifique-se de que existe um conjunto de dados associado ao contentor de registos que aloja a visualização de registos que quer consultar:

    1. Na Google Cloud consola, aceda à página Armazenamento de registos:

      Aceda a Armazenamento de registos

      Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

    2. Localize o contentor de registos e verifique se a coluna Conjunto de dados associado do BigQuery apresenta um URL. Se a entrada estiver vazia, tem de criar um conjunto de dados associado. Para obter informações sobre estes passos, consulte o artigo Crie um conjunto de dados do BigQuery associado

  2. Certifique-se de que configurou os seus slots do BigQuery reservados:

    1. Crie uma reserva com horários dedicados
    2. Crie atribuições de reservas
  3. Configure o Log Analytics para executar as suas consultas nas suas vagas reservadas do BigQuery:

    1. Na Google Cloud consola, aceda à página Log Analytics:

      Aceda ao Log Analytics

      Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.

    2. Na lista Ver registos, encontre a vista e, de seguida, selecione Consulta ou introduza uma consulta.

      Se o painel de consulta apresentar uma mensagem de erro que faça referência à declaração FROM, significa que não é possível resolver a tabela para uma vista de registo específica. Para obter informações sobre como resolver esta falha, consulte o erro FROM clause must contain exactly one log view.

    3. Aceda à barra de ferramentas e certifique-se de que é apresentado um botão com a etiqueta Executar no BigQuery.

      Se a barra de ferramentas apresentar Executar consulta, clique em Definições e selecione BigQuery.

      Se o botão Executar no BigQuery estiver desativado, tem de criar um conjunto de dados associado.

    4. Execute a consulta.

      Pode usar as opções da barra de ferramentas para formatar a consulta, limpar a consulta e abrir a documentação de referência do SQL do BigQuery.

O que se segue?