Copiar entradas de registro

Nesta página, descrevemos como copiar manualmente as entradas de registro que já estão armazenadas em buckets do Cloud Logging para os buckets do Cloud Storage.

Copie as entradas de registro dos buckets de registros para os buckets do Cloud Storage pelos seguintes motivos:

  • Caso tenha esquecido de rotear entradas de registro para o Cloud Storage antes do armazenamento no Logging.
  • Para compartilhar entradas de registro com auditores fora do Logging.
  • Para analisar entradas de registro com scripts no Cloud Storage.

Quando você copia as entradas de registro para o Cloud Storage, elas também permanecem no bucket de registro em que foram copiadas.

As operações de cópia não substituem os coletores, que enviam automaticamente todas as entradas de registro recebidas para um destino de armazenamento compatível pré-selecionado, incluindo buckets do Cloud Storage. Use coletores quando quiser armazenar entradas de registro em um bucket do Cloud Storage.

Para copiar registros e, em seguida, gerenciar e monitorar a operação, use a Google Cloud CLI.

Limitações

As seguintes limitações são aplicadas ao copiar entradas de registro:

  • Só é possível copiar registros para buckets do Cloud Storage. Outros destinos não estão disponíveis.

  • Não é possível copiar registros de buckets de registros com a CMEK configurada.

Antes de começar

Antes de começar a copiar registros, faça o seguinte:

  • Para receber as permissões necessárias para copiar as entradas de registro do Logging e gravá-las no Cloud Storage, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

  • Para ter as permissões necessárias para visualizar e gerenciar o status de uma operação de cópia, peça ao administrador para conceder a você o papel do IAM de Gravador de configuração de registros (roles/logging.configWriter) no seu projeto.

Copiar entradas de registro

O Logging só copia entradas de registro armazenadas no bucket de registro quando a operação de cópia é iniciada. As entradas de registro armazenadas em buckets após o início da operação de cópia não são copiadas para o Cloud Storage.

Para copiar entradas de registro para o Cloud Storage, é preciso saber as seguintes informações:

  • O ID e o local do bucket de registros do qual você está copiando. Para recuperar o ID do bucket de registros e o local dele, use o comando gcloud logging buckets list da CLI gcloud.
  • O nome do bucket do Cloud Storage para o qual você está copiando. Para informações sobre como recuperar o nome do bucket do Cloud Storage, consulte Como conseguir informações do bucket do Cloud Storage.
  • Um filtro para as entradas de registro que você quer copiar.

Para copiar as entradas de registro, execute o comando gcloud logging copy:

gcloud logging copy BUCKET_ID storage.googleapis.com/CLOUD_STORAGE_BUCKET_NAME
--location=LOCATION [--log-filter=FILTER] --project=PROJECT_ID

Antes de executar o comando anterior, faça o seguinte:

  • Substitua BUCKET_ID pelo nome do bucket de registros.
  • Substitua CLOUD_STORAGE_BUCKET_NAME pelo nome do bucket do seu Cloud Storage.
  • Substitua LOCATION pela localização do bucket de registros.
  • (Opcional): substitua FILTER pelo filtro que define quais registros são copiados.

  • Substitua PROJECT_ID pelo ID do projeto do Google Cloud. É possível omitir essa sinalização quando a configuração ativa da CLI gcloud está definida para o projeto correto do Google Cloud.

Exemplo de comando:

gcloud logging copy my-log-bucket storage.googleapis.com/my-gcs-bucket \
--location=global --log-filter='timestamp > "2021-03-18T10:00:00.0Z"' \
--project=my-project

Este comando cria uma operação de longa duração para ser executada em segundo plano e retorna o nome da operação de cópia e o local do bucket de registro:

name: projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

O local da operação de cópia é o mesmo que o local do bucket de registro do qual você está copiando os registros.

Ver e gerenciar operações de cópia

É possível visualizar e gerenciar suas operações de cópia usando os comandos gcloud logging operations, que permitem listar, visualizar e cancelar operações.

Os comandos a seguir exigem que você especifique o local da operação. Use a localização do bucket de registros. Para informações sobre como encontrar o local do bucket de registros, consulte Visualizar os detalhes de um bucket.

Listar operações de cópia

É possível listar operações de cópia recentes, incluindo operações programadas, em execução, concluídas, com falha e canceladas. As operações de cópia recentes aparecem nos resultados por até 30 dias após o horário de término.

Para listar operações de cópia, execute o seguinte comando:

gcloud logging operations list --location=LOCATION \
--operation-filter=request_type=CopyLogEntries \
--project=PROJECT_ID

Antes de executar o comando anterior, faça o seguinte:

  • Substitua LOCATION pelo local do bucket de registros do qual você está copiando registros.
  • Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

O comando retorna informações sobre a operação de longa duração, incluindo o ID da operação:

projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

Ver o status de uma operação de cópia

É possível recuperar o status e outros metadados sobre operações de cópia, incluindo o seguinte:

  • startTime: o carimbo de data/hora que indica a criação da operação.
  • endTime: o carimbo de data/hora que indica a conclusão da operação.
  • state: o status da operação (programada, em execução, cancelada, com falha ou bem-sucedida).
  • cancellation: se o usuário solicitou o cancelamento da operação
  • progress: progresso estimado da operação (0 a 100%).
  • destination: o nome do bucket do Cloud Storage para o qual a operação está copiando os registros.
  • filter: o filtro que especifica quais entradas de registro serão copiadas.
  • name: o nome do bucket de registros de onde a operação está copiando registros.
  • logEntriesCopiedCount: o número de entradas de registro copiadas com sucesso para o bucket do Cloud Storage pela operação.

Observe que nem todos os campos de metadados listados se aplicam a todas as operações de cópia. Por exemplo, se uma operação de cópia ainda estiver em execução, os metadados endtime não serão aplicados à operação. Outro exemplo: se a sinalização --log-filter=FILTER não tiver sido usada ao executar o comando gcloud logging copy, os metadados filter não se aplicarão à operação.

Para recuperar informações sobre uma operação de cópia, execute o seguinte comando:

gcloud logging operations describe OPERATION_ID \
--location=LOCATION --project=PROJECT_ID

Antes de executar o comando anterior, faça o seguinte:

  • Substitua OPERATION_ID pelo ID da operação.
  • Substitua LOCATION pelo local do bucket de registros do qual você está copiando registros.
  • Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

O comando retorna metadados sobre a operação de cópia. Por exemplo, veja um resultado para uma operação em andamento:

done: false
metadata:
  `@type`: type.googleapis.com/google.logging.v2.CopyLogEntriesMetadata
  progress: 75
  destination: storage.googleapis.com/my-storage-bucket-1
  source: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
  verb: copy
  startTime: `2023-05-23T10:52:40.039751Z`
  state: OPERATION_STATE_RUNNING
name: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
   </pre>

Cancelar uma operação de cópia

Você pode cancelar uma operação de cópia em andamento. Se você cancelar uma operação de cópia, todas as entradas de registro que foram copiadas antes da operação ser cancelada permanecerão no bucket do Cloud Storage.

Depois de cancelar uma operação de cópia, o Logging conclui todos os processos em andamento antes de concluir o cancelamento. Isso pode resultar em algumas entradas de registro ainda sendo copiadas para o Cloud Storage depois que você cancelar a operação.

Para cancelar uma operação de cópia, execute o seguinte comando:

gcloud logging operations cancel OPERATION_ID \
--location=LOCATION --project=PROJECT_ID

Antes de executar o comando anterior, faça o seguinte:

  • Substitua OPERATION_ID pelo ID da operação.
  • Substitua LOCATION pelo local do bucket de registros do qual você está copiando registros.
  • Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

Ver registros no Cloud Storage

Para ver e entender os registros que você copiou para o Cloud Storage, consulte Visualizar registros roteados para o Cloud Storage.

Cotas e limites

Todas as operações de cópia levam pelo menos uma hora para serem concluídas, independentemente da quantidade de dados sendo copiados.

Para copiar um volume grande, por exemplo, petabytes, divida a cópia em várias operações de cópia usando o campo timestamp na sinalização --filter.

Preços

O Cloud Logging não cobra para rotear os registros para um destino compatível. No entanto, o destino pode aplicar cobranças. Com exceção do bucket de registros _Required, o Cloud Logging cobra para transmitir registros para buckets de registros e para armazenamento mais longo que o período de armazenamento padrão do bucket de registros.

O Cloud Logging não cobra pela cópia de registros ou por consultas emitidas na página Análise de registros ou na Análise de registros.

Para mais informações, consulte estes documentos: