Agrupar e rotear registros retroativamente

Nesta página, descrevemos como copiar manualmente as entradas de registro que já estão armazenadas nos buckets de registro do Cloud Logging nos buckets do Cloud Storage. É recomendável copiar as entradas de registro dos buckets de registro 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 coletores, que enviam automaticamente todos os entradas de registro para um destino de armazenamento compatível pré-selecionado, incluindo buckets do Cloud Storage. Use coletores quando quiser para armazenar entradas de registro em um bucket do Cloud Storage.

Para copiar os registros e 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 registro que tenham o CMEK configurado.

Antes de começar

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

  • Para ter as permissões necessárias para copiar entradas de registro do Logging e gravar as entradas de registro 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ê Gravador de configuração de registros (roles/logging.configWriter) do IAM 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 de registro 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 registro que você está copiando. Para recuperar o ID do bucket de registros e o local dele, use o Comando da CLI gcloud gcloud logging buckets list
  • 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 receber informações do bucket do Cloud Storage.
  • Um filtro para as entradas de registro que você quer copiar.

Para copiar 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 pelo local do bucket de registro.
  • (Opcional): substitua FILTER pelo filtro que define quais registros são copiado.

    Se você omitir a sinalização --log-filter, todas as entradas de registro na em um bucket de registros são copiados para o bucket do Cloud Storage.

  • Substitua PROJECT_ID pelo ID do projeto do Google Cloud. É possível omitir essa sinalização quando a CLI gcloud ativa 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 > "2024-07-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 o 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 o local do bucket de registro. Para mais informações sobre como encontrar do bucket de registros, consulte Veja 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á copiar 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 do qual 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á copiar 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: `2024-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á copiar registros.
  • Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

Ver registros no Cloud Storage

Para conferir e entender os registros copiados para o Cloud Storage, consulte Acessar 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, não importa a quantidade dados que estão 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.

O comando "copy" não pode copiar entradas de registro com retenção expirada. Portanto, se um comando de cópia incluir uma cláusula como timestamp > "SOME_DATE", verifique se SOME_DATE não é anterior à data atual menos o período de retenção do bucket de registro.

Preços

O Cloud Logging não cobra pelo encaminhamento de 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 pelo streaming de registros para buckets para armazenamento maior que o período de armazenamento padrão do bucket de registros.

O Cloud Logging não cobra pela cópia de registros, para definir escopos de registro; ou consultas emitidas pela páginas Análise de registros ou Análise de registros.

Para mais informações, consulte estes documentos: