Visão geral do armazenamento de rastreamentos

Os dados do Cloud Trace são armazenados em um conjunto de dados de observabilidade gerenciado por um bucket de observabilidade. Entender o modelo de armazenamento ajuda a controlar onde os dados de trace são armazenados, aplicar políticas de criptografia e conectar a telemetria aos serviços de análise fornecidos pela Análise de Observabilidade e pelo BigQuery.

Para saber como usar o BigQuery para analisar seus dados de trace, consulte Criar um conjunto de dados vinculado do BigQuery.

Modelo de armazenamento de observabilidade

O modelo de armazenamento da API Observability depende da seguinte arquitetura:

Buckets de observabilidade

Um bucket de observabilidade é a entidade de gerenciamento de conjuntos de dados, que armazenam dados. Um bucket de observabilidade está em um local específico e tem uma política de retenção de dados. Quando um serviço do Google Cloud usa a API Observability para armazenar os dados, o sistema cria um bucket de observabilidade com base no nome do serviço, um conjunto de dados para armazenar dados e uma visualização para fornecer acesso de leitura aos dados armazenados. Por exemplo, para o serviço do Cloud Trace, o sistema nomeia o bucket criado pelo sistema como _Trace, o conjunto de dados como Spans e a visualização como _AllSpans. Para saber mais sobre a estrutura de um bucket de observabilidade, consulte Bucket.

O Google Cloud Observability usa configurações padrão e políticas da organização para determinar o local e o modelo de criptografia dos novos buckets de observabilidade. Se um bucket de observabilidade atual não atender aos requisitos regulamentares da sua organização, talvez seja possível reprovisionar o bucket de observabilidade.

Conjuntos de dados

Um conjunto de dados armazena dados. O sistema cria automaticamente um conjunto de dados quando cria um bucket de observabilidade, que gerencia o conjunto de dados. Por exemplo, quando o sistema cria o bucket _Trace, ele também cria um conjunto de dados chamado Spans, que armazena os dados de trace. Para saber mais sobre a estrutura de um conjunto de dados, consulte Dataset.

Visualizações em conjuntos de dados

Cada conjunto de dados hospeda uma ou mais visualizações. Uma visualização fornece acesso de leitura a um subconjunto de entradas no conjunto de dados. O sistema cria uma visualização quando cria um conjunto de dados. Essa visualização inclui todos os dados do conjunto. O nome da visualização depende do serviço. Por exemplo, para o serviço do Cloud Trace, o sistema cria uma visualização chamada _AllSpans no conjunto de dados Spans. Para saber mais sobre a estrutura de uma visualização, consulte View.

Links em conjuntos de dados

Cada conjunto de dados pode conter no máximo um link. Quando você cria um link para um conjunto de dados, o sistema cria um conjunto de dados vinculado do BigQuery. Em seguida, é possível consultar os dados no conjunto de dados usando o BigQuery ou outros serviços que usam a API BigQuery. Para saber mais sobre a estrutura de um link, consulte Link.

O sistema não cria links automaticamente em conjuntos de dados.

Configuração de armazenamento para dados de trace

Os dados de trace são armazenados em um conjunto de dados gerenciado pelo bucket de observabilidade chamado _Trace. Para armazenar o conjunto de dados, o bucket _Trace precisa existir. O bucket _Trace pode ser criado de forma automática ou manual:

  • Criação automática: o sistema cria automaticamente o bucket em resposta ao recebimento de dados de trace de um aplicativo ou serviço do Google Cloud . O sistema usa as configurações padrão aplicáveis para buckets de observabilidade para determinar o local e a chave de criptografia do bucket. Se você não tiver definido as configurações padrão, o sistema vai selecionar um local compatível, e o bucket vai usar a criptografia padrão do Google.

    Os dados de trace gerados pelo Cloud Run functions, pelo Cloud Run e pelo App Engine não fazem com que o sistema crie o bucket de observabilidade. Os períodos desses serviços são armazenados apenas quando o bucket de observabilidade existe.

  • Criação manual: use a API Observability para criar o bucket _Trace antes que o projeto do Google Cloud receba dados de trace. É preciso fornecer o local do bucket. É possível fornecer uma chave do Cloud Key Management Service:

    • Se você fornecer uma chave, o sistema vai usá-la para criptografar os dados armazenados.
    • Se você não fornecer uma chave do Cloud KMS, as configurações padrão que se aplicam ao recurso pai do bucket determinarão a chave de criptografia. Se as configurações padrão especificarem uma chave do Cloud KMS, ela vai criptografar os dados armazenados. Caso contrário, a criptografia padrão do Google será usada.

Quando o bucket _Trace é criado, o sistema também cria um conjunto de dados chamado Spans para o bucket e uma visualização chamada _AllSpans no conjunto de dados. Essa visualização inclui todos os dados do conjunto.

Para ver mais informações, consulte os seguintes tópicos:

Se os dados de trace aparecerem na página Explorador de traces, o bucket de observabilidade chamado _Trace existe. Se você não encontrar dados ou se um banner informar que o armazenamento não foi inicializado, tente uma das seguintes opções:

Residência de dados para buckets de observabilidade

Se você tiver requisitos regulatórios ou de compliance para armazenar seus dados em locais específicos ou usar chaves de criptografia gerenciadas pelo cliente (CMEKs), recomendamos que configure as políticas da organização e as configurações padrão para buckets de observabilidade.

Para organizações, pastas e projetos, as configurações padrão para buckets de observabilidade permitem definir o seguinte:

  • Um local de armazenamento padrão.
  • Para cada local, uma chave padrão do Cloud Key Management Service.

Há duas maneiras diferentes de o sistema usar as configurações padrão:

  • Quando o sistema cria automaticamente um bucket de observabilidade, ele usa as configurações padrão para determinar o local e a chave de criptografia do bucket. Se você não tiver definido as configurações padrão, o sistema vai selecionar o local, e o bucket vai usar a criptografia padrão do Google.

  • Ao iniciar a criação de um bucket de observabilidade emitindo uma solicitação de API, você fornece o local. No entanto, o sistema usa automaticamente a chave do Cloud KMS definida pelas configurações padrão para criptografar os dados, a menos que os argumentos para a solicitação de API especifiquem a chave.

Como o pai de um bucket de observabilidade é sempre um projeto, quando você cria um bucket, o sistema primeiro pesquisa as configurações padrão no nível do projeto. Se eles não existirem, o sistema vai pesquisar as configurações padrão nos ancestrais do pai. Por exemplo, se você definir as configurações padrão para uma pasta, elas serão aplicadas aos descendentes da pasta, exceto aqueles que tiverem configurações padrão definidas.

Também é possível usar políticas da organização para restringir os locais de novos buckets de observabilidade, exigir o uso de CMEKs ou restringir quais chaves do Cloud KMS podem ser usadas para criptografia. Se você configurar políticas da organização que exigem o uso de CMEKs, será necessário definir as configurações padrão para buckets de observabilidade. Caso contrário, o provisionamento de buckets de observabilidade criados pelo sistema vai falhar.

Para mais informações, consulte estes documentos:

Limitações

Não é possível fazer o seguinte:

  • Modificar ou excluir buckets de observabilidade.
  • Criar, excluir ou modificar conjuntos de dados.
  • Criar, excluir ou modificar visualizações.
  • Use o console do Google Cloud para listar buckets, conjuntos de dados, visualizações ou links.

A seguir