Processamento em lote e registo de trajetos retroativos

Esta página descreve como copiar manualmente as entradas de registo que já estão armazenadas em contentores de registos do Cloud Logging para contentores do Cloud Storage. Uma operação de cópia não requer que o contentor de registos e o contentor do Cloud Storage estejam no mesmo projeto. Google Cloud

Pode querer copiar entradas de registo de contentores de registos para contentores do Cloud Storage pelos seguintes motivos:

  • Caso se tenha esquecido de encaminhar as entradas de registo para o Cloud Storage antes do respetivo armazenamento no Logging.
  • Para partilhar entradas de registo com auditores fora do Logging.
  • Para analisar entradas de registo com scripts no Cloud Storage.

Quando copia entradas do registo para o Cloud Storage, as entradas do registo também permanecem no contentor de registos do qual foram copiadas.

As operações de cópia não substituem os destinos, que enviam automaticamente todas as entradas de registo recebidas que correspondem aos filtros de inclusão e exclusão para um destino de armazenamento suportado pré-selecionado, incluindo contentores do Cloud Storage. Não pode usar destinos para encaminhar registos retroativamente. Use destinos quando souber antecipadamente que quer armazenar entradas de registo num contentor do Cloud Storage.

Para copiar registos e, em seguida, gerir e monitorizar a operação, tem de usar a Google Cloud CLI.

Limitações

Aplicam-se as seguintes limitações quando copia entradas do registo:

  • Só pode copiar registos para contentores do Cloud Storage. Outros destinos não estão disponíveis.

  • Não é possível copiar registos de contentores de registos que tenham a CMEK configurada.

Antes de começar

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

  • Para receber as autorizações de que precisa para copiar entradas de registo, peça ao seu administrador que lhe conceda as seguintes funções da IAM no projeto que contém o contentor de registos a partir do qual está a copiar:

  • Para receber as autorizações de que precisa para escrever entradas de registo no Cloud Storage, peça ao seu administrador para lhe conceder a função de IAM criador de objetos de armazenamento (roles/storage.objectCreator) no projeto que contém o contentor do Cloud Storage.

Copie entradas do registo

O registo só copia as entradas de registo armazenadas no contentor de registos quando a operação de cópia é iniciada. As entradas de registo armazenadas em contentores de registos após o início da operação de cópia não são copiadas para o Cloud Storage.

Para copiar entradas do registo para o Cloud Storage, tem de saber as seguintes informações:

  • O ID e a localização do contentor de registos a partir do qual está a copiar. Para obter o ID do contentor de registos e a respetiva localização, use o comando da CLI gcloud gcloud logging buckets list.
  • O nome do contentor do Cloud Storage para o qual está a copiar. Para obter informações sobre como obter o nome do contentor do Cloud Storage, consulte o artigo Obter informações do contentor do Cloud Storage.
  • Um filtro para as entradas do registo que quer copiar.

Para copiar entradas do registo, 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 seu contentor de registos.
  • Substitua CLOUD_STORAGE_BUCKET_NAME pelo nome do seu contentor do Cloud Storage.
  • Substitua LOCATION pela localização do contentor de registos.
  • (Opcional): substitua FILTER pelo filtro que define os registos que são copiados.

    Se omitir a flag --log-filter, todas as entradas de registo no contentor de registos são copiadas para o contentor do Cloud Storage.

  • Substitua PROJECT_ID pelo ID do seu Google Cloud projeto. Pode omitir esta flag quando a configuração ativa da CLI gcloud estiver definida para o projeto correto. Google Cloud

Exemplo de comando:

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

Este comando cria uma operação de execução prolongada para ser executada em segundo plano e devolve o nome da operação de cópia e a localização do contentor de registos:

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

A localização da operação de cópia é igual à localização do contentor de registos do qual está a copiar.

Veja e faça a gestão de operações de cópia

Pode ver e gerir as suas operações de cópia através dos comandos gcloud logging operations, que lhe permitem listar, ver e cancelar operações.

Os seguintes comandos requerem que especifique a localização da operação. Use a localização do seu contentor de registos. Para obter informações sobre como encontrar a localização do contentor de registos, consulte o artigo Ver detalhes de um contentor.

Apresentar operações de cópia

Pode listar operações de cópia recentes, incluindo operações agendadas, em execução, concluídas, com falhas e canceladas. As operações de cópia recentes aparecem nos resultados até 30 dias após a hora de fim.

Para apresentar uma lista de 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 pela localização do contentor de registos do qual está a copiar.
  • Substitua PROJECT_ID pelo ID do seu Google Cloud projeto.

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

projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

Veja o estado de uma operação de cópia

Pode obter o estado e outros metadados sobre as operações de cópia, incluindo o seguinte:

  • startTime: a data/hora que indica a criação da operação.
  • endTime: a data/hora que indica a conclusão da operação.
  • state: o estado da operação (agendada, em execução, cancelada, falhada ou bem-sucedida).
  • cancellation: indica se o utilizador pediu para cancelar a operação.
  • progress: progresso estimado da operação (0-100%).
  • destination: o nome do contentor do Cloud Storage para o qual a operação está a copiar registos.
  • filter: o filtro que especifica as entradas do registo a copiar.
  • name: o nome do contentor de registos a partir do qual a operação está a copiar registos.
  • logEntriesCopiedCount: o número de entradas de registo copiadas com êxito para o contentor do Cloud Storage pela operação.

Tenha em atenção que nem todos os campos de metadados indicados 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 se aplicam à operação. Por exemplo, se a flag --log-filter=FILTER não tiver sido usada ao executar o comando gcloud logging copy, os metadados filter não se aplicam à operação.

Para obter 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 pela localização do contentor de registos do qual está a copiar.
  • Substitua PROJECT_ID pelo ID do seu Google Cloud projeto.

O comando devolve metadados sobre a operação de cópia. Por exemplo, segue-se um resultado de uma operação em curso:

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: `2024-05-23T10:52:40.039751Z`
  state: OPERATION_STATE_RUNNING
name: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
   </pre>

Cancele uma operação de cópia

Pode cancelar uma operação de cópia em curso. Se cancelar uma operação de cópia, todas as entradas de registo copiadas antes do cancelamento da operação permanecem no contentor do Cloud Storage.

Depois de cancelar uma operação de cópia, o Logging conclui todos os processos em curso antes de concluir o cancelamento. Isto pode fazer com que algumas entradas de registo continuem a ser copiadas para o armazenamento na nuvem depois de 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 pela localização do contentor de registos do qual está a copiar.
  • Substitua PROJECT_ID pelo ID do seu Google Cloud projeto.

Veja os registos no Cloud Storage

Para ver e compreender os registos que copiou para o Cloud Storage, consulte o artigo Ver registos encaminhados para o Cloud Storage.

Quotas e limites

Todas as operações de cópia demoram, pelo menos, uma hora a concluir, independentemente da quantidade de dados que está a ser copiada.

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

O comando de cópia não pode copiar entradas de registo cuja retenção tenha expirado.

Preços

O Cloud Logging não cobra o encaminhamento de registos para um destino suportado. No entanto, o destino pode aplicar cobranças. Com exceção do contentor de registos _Required, o Cloud Logging cobra taxas para transmitir registos para contentores de registos e para armazenamento durante um período superior ao período de retenção predefinido do contentor de registos.

O Cloud Logging não cobra pela cópia de registos, pela criação de âmbitos de registo ou vistas de estatísticas, nem por consultas emitidas através das páginas do Explorador de registos ou Log Analytics.

Para mais informações, consulte os seguintes documentos: