Padrões de design para exportar dados de geração de registros

Aqui, apresentamos uma série de artigos que exploram padrões de design e práticas recomendadas para cenários comuns de exportação de dados de geração de registros.

O Cloud Logging oferece um armazenamento de dados operacional para registros e fornece recursos avançados de exportação. Há várias razões para exportar registros, como a manutenção de registros para armazenamento de longo prazo (meses ou anos) a fim de atender aos requisitos de conformidade ou para a execução de análise de dados das métricas extraídas dos registros. O Cloud Logging pode exportar para o Cloud Storage, BigQuery, Pub/Sub e também para o Elasticsearch.

Como exportar registros

O Cloud Logging pode exportar toda a geração de registros de uma organização usando coletores agregados, ou de um projeto específico do Google Cloud usando a exportação de registros. Com filtros de geração de registros, é possível incluir ou excluir projetos específicos ou recursos da nuvem. Por exemplo, é possível exportar todos os registros do Compute Engine, mas excluir registros de alto volume do Cloud Load Balancing. Com essa abordagem você tem flexibilidade para exportar todos os registros ou registros específicos.

Usando coletores agregados, sua organização pode exportar registros de todos os projetos ou de uma única pasta. Com essa funcionalidade, você aplica a política de exportação de geração de registros a todos os projetos da organização. É possível usar controles de IAM no nível da organização para limitar o acesso dos usuários a apenas modificar a configuração de exportação de geração de registros.

Como alternativa aos coletores agregados, a exportação de registros é ativada por projeto, e não para toda a organização. A exportação de registros é idêntica aos coletores agregados.

Maneiras de exportar

Há três maneiras de exportar registros do Cloud Logging:

  • para arquivos: arquivos JSON armazenados no Cloud Storage;
  • para o BigQuery: tabelas de geração de registros criadas em um conjunto de dados do BigQuery;
  • para o Pub/Sub: mensagens JSON enviadas a um tópico do Pub/Sub.

O que é exportado

Saiba mais sobre os tipos de registros disponíveis no Cloud Logging em Registros disponíveis.

Formatos de registros

Dependendo do tipo de registro, há três diferentes formatos de payload de registro.

textPayload
Os conteúdos são representados como uma única string. Os registros relatados pelo agente do Cloud Logging (incluindo syslog) e os registros do Cloud SQL são exemplos de registros que usam esse formato.
protoPayload
Os conteúdos são representados como um buffer de protocolo e variam dependendo do conteúdo específico que está sendo registrado. Os registros de auditoria de atividade de administração e acesso a dados são exportados nesse formato. Esses registros têm diferentes estruturas JSON e de tabela no BigQuery com base no tipo de entrada exportada.
jsonPayload
Os conteúdos são representados como objeto JSON e variam dependendo do conteúdo específico que está sendo registrado. Os registros de atividade do Compute Engine e do autoescalador do Compute Engine são exemplos que usam esse formato.

A documentação de esquemas e campos tem informações detalhadas sobre o mapeamento dos formatos de registro para estruturas de Tabela do BigQuery e arquivo de exportação JSON. Considere o formato de payload de geração de registros quando você gravar consultas relacionadas à exportação do BigQuery ou quando você analisar o arquivo ou os arquivos JSON de exportação do Pub/Sub. O formato detalhado do registro está listado na definição da API para LogEntry.

Cenários de exportação de registros

Nos artigos desta série, abordamos cenários em que você talvez queira exportar registros. Em cada cenário, detalhamos requisitos, configuração e uso, além de mostrar como compartilhar as exportações.

A seguir