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 pelo Observability Analytics e pelo BigQuery.
Para informações sobre como usar o BigQuery para analisar os 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 Google Cloud serviço usa a
API Observability para armazenar 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 Cloud Trace, o sistema nomeia o
bucket criado pelo sistema como
_Trace, o conjunto de dados comoSpanse a visualização_AllSpans. Para saber mais sobre a estrutura de um bucket de observabilidade, consulteBucket. - 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 chamadoSpans, que armazena os dados de trace. Para saber mais sobre a estrutura de um conjunto de dados, consulteDataset. - 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 no conjunto de dados.
O nome da visualização depende do serviço. Por exemplo, para o
serviço Cloud Trace, o sistema cria uma visualização chamada
_AllSpansno conjunto de dadosSpans. Para saber mais sobre a estrutura de uma visualização, consulteView. - Links em conjuntos de dados
Cada conjunto de dados pode conter no máximo um link. Ao criar 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 manter o conjunto de dados, o bucket _Trace precisa existir.
O bucket _Trace pode ser criado automaticamente ou manualmente:
Criação automática: o sistema cria automaticamente o bucket em resposta ao recebimento de dados de trace de um aplicativo ou a Google Cloud serviço. 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 pelas funções do Cloud Run, pelo Cloud Run e pelo App Engine não fazem com que o sistema crie o bucket de observabilidade. Os intervalos desses serviços são armazenados somente quando o bucket de observabilidade existe.
Criação manual: é possível usar a API Observability para criar o
_Tracebucket antes que o Google Cloud projeto receba dados de trace. Você precisa 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 aplicáveis ao recurso pai do bucket vão determinar a chave de criptografia. Se as configurações padrão especificarem uma chave do Cloud KMS, essa chave 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 no conjunto de dados.
Para mais informações, consulte os seguintes tópicos:
Se os dados de trace aparecerem na página Trace Explorer, o bucket de observabilidade chamado _Trace vai existir. Se você não encontrar nenhum dado ou se vir um banner informando que o armazenamento não está inicializado, tente uma das seguintes opções:
Residência de dados para buckets de observabilidade
Se você tiver requisitos regulamentares ou de compliance para armazenar seus dados em locais específicos ou usar chaves de criptografia gerenciadas pelo cliente (CMEKs), recomendamos que você 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 configurar 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 da solicitação de API especifiquem a chave.
Como o pai de um bucket de observabilidade é sempre um projeto, ao criar um bucket, o sistema primeiro pesquisa as configurações padrão para envolvidos no projeto. Se elas não existirem, o sistema vai pesquisar os ancestrais do pai para encontrar as configurações padrão. Por exemplo, se você definir as configurações padrão para uma pasta, essas configurações serão aplicadas aos descendentes da pasta, exceto aqueles que têm configurações padrão configuradas.
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 configurar 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 Definir padrões para buckets de observabilidade.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.
- Usar o Google Cloud console para listar buckets, conjuntos de dados, visualizações ou links.