Visão geral do armazenamento do Google Cloud Observability

O Google Cloud Observability armazena e organiza dados de telemetria do Cloud Logging, do Cloud Monitoring e do Cloud Trace em contêineres de armazenamento estruturados. Entender o modelo de armazenamento ajuda a configurar a residência de dados, aplicar políticas de criptografia e conectar a telemetria a serviços de análise, como o BigQuery.

Dados de registros

Os dados de registros residem em buckets de registros, que são os contêineres que o Logging usa para armazenar seus dados de registros. Cada Google Cloud projeto, conta de faturamento, pasta e organização contém buckets de registros chamados _Required e _Default.

Por padrão, os dados de registros residem no Google Cloud projeto, na conta de faturamento, na pasta, ou na organização em que os dados são originados. No entanto, é possível configurar o Logging para encaminhar dados de registros do recurso em que eles são originados para outro local, como outro projeto ou um bucket de registros centralizado. Para mais informações, consulte Entradas de registro do repositório e Entradas de registro de rota.

O Cloud Logging permite regionalizar os dados de registros:

  • As políticas da organização podem restringir os locais de novos buckets de registros e exigir que eles usem chaves de criptografia gerenciadas pelo cliente (CMEKs).
  • Para organizações e pastas, as configurações de recursos padrão do Cloud Logging permitem configurar o seguinte:

    • O local de novos buckets de registros _Required e _Default.
    • A chave do KMS para criptografar os dados de registros.
    • A configuração do coletor padrão.

    Os descendentes na hierarquia de recursos herdam automaticamente essas configurações, a menos que também configurem as configurações de recursos padrão. Por exemplo, se você configurar as configurações de recursos padrão do Cloud Logging para uma organização, todas as pastas e projetos na hierarquia de recursos da organização vão herdar essas configurações automaticamente. No entanto, se você definir as configurações de recursos padrão do Cloud Logging para uma pasta nessa organização, as configurações no nível da pasta serão usadas.

    As configurações de recursos padrão do Cloud Logging se aplicam apenas a novos recursos, não aos atuais. Para mais informações, consulte Configurar as configurações de recursos padrão do Cloud Logging.

Dados de métricas

Os dados de métricas residem no Google Cloud projeto em que os dados são originados.

Para informações sobre as políticas de armazenamento, consulte Residência de dados para o Monitoring.

Rastrear dados

Os dados de rastreamento 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 rastreamento 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 rastreamento 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 apenas quando o bucket de observabilidade existe.

  • Criação manual: é possível usar a API Observability para criar o _Trace bucket antes que o Google Cloud projeto receba dados de rastreamento. 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 que se aplicam 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:

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 para 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 Spans e a visualização _AllSpans. Para saber mais sobre a estrutura de um bucket de observabilidade, consulte Bucket.
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 rastreamento. 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 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 _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. 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.

Por exemplo, os dados de rastreamento residem em um conjunto de dados "Spans" dentro do bucket de observabilidade "_Trace". O sistema cria uma visualização "_AllSpans" nesse conjunto de dados que inclui todos os intervalos armazenados.

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 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 do para listar buckets, conjuntos de dados, visualizações ou links.

A seguir