Enruta y agrupa registros de forma retroactiva

En esta página, se describe cómo copiar manualmente las entradas de registro que ya están almacenadas en los buckets de registro de Cloud Logging a los buckets de Cloud Storage. Una operación de copia no requiere que el bucket de registros y el bucket de Cloud Storage estén en el mismo proyecto. Google Cloud

Es posible que desees copiar entradas de registro de buckets de registros a buckets de Cloud Storage por los siguientes motivos:

  • En caso de que hayas olvidado enrutar las entradas de registro a Cloud Storage antes de que se almacenaran en Logging
  • Compartir entradas de registro con auditores fuera de Logging
  • Analizar entradas de registro con secuencias de comandos en Cloud Storage

Cuando copias entradas de registro a Cloud Storage, estas también permanecen en el bucket de registros del que se copiaron.

Las operaciones de copia no reemplazan los receptores, que envían automáticamente todas las entradas de registro entrantes que coinciden con los filtros de inclusión y exclusión a un destino de almacenamiento compatible preseleccionado, incluidos los buckets de Cloud Storage. No puedes usar receptores para enrutar registros de forma retroactiva. Usa receptores cuando sepas de antemano que quieres almacenar entradas de registro en un bucket de Cloud Storage.

Para copiar registros y, luego, administrar y supervisar la operación, debes usar la Google Cloud CLI.

Limitaciones

Cuando se copian entradas de registro, se aplican las siguientes limitaciones:

  • Solo puedes copiar los registros a buckets de Cloud Storage. No hay otros destinos disponibles.

  • No puedes copiar registros de buckets de registros que tengan configurada la CMEK.

Antes de comenzar

Antes de comenzar a copiar registros, haz lo siguiente:

  • Para obtener los permisos que necesitas para copiar entradas de registro, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto que contiene el bucket de registros desde el que realizas la copia:

  • Para obtener los permisos que necesitas para escribir entradas de registro en Cloud Storage, pídele a tu administrador que te otorgue el rol de IAM Creador de objetos de almacenamiento (roles/storage.objectCreator) en el proyecto que contiene el bucket de Cloud Storage.

Copiar las entradas de registro

Logging solo copia las entradas de registro que se almacenan en el bucket de registros cuando se inicia la operación de copia. Las entradas de registro que se almacenan en buckets de registros después de que se inicia la operación de copia no se copian en Cloud Storage.

Para copiar entradas de registro en Cloud Storage, debes conocer la siguiente información:

  • ID y ubicación del bucket de registros desde el que se realiza la copia. Para recuperar el ID de bucket de registro y su ubicación, usa el comando de gcloud CLI gcloud logging buckets list.
  • Nombre del bucket de Cloud Storage al que copias el archivo. Para obtener información sobre cómo recuperar el nombre del bucket de Cloud Storage, consulta Cómo obtener información del bucket de Cloud Storage.
  • Un filtro para las entradas de registro que deseas copiar.

Para copiar las entradas de registro, ejecuta el 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 ejecutar el comando anterior, haz lo siguiente:

  • Reemplaza BUCKET_ID por el nombre de tu bucket de registros.
  • Reemplaza CLOUD_STORAGE_BUCKET_NAME por el nombre de tu depósito de Cloud Storage.
  • Reemplaza LOCATION por la ubicación del bucket de registros.
  • Opcional: Reemplaza FILTER por el filtro que define qué registros se copian.

    Si omites la marca --log-filter, todas las entradas de registro del bucket de registros se copian en el bucket de Cloud Storage.

  • Reemplaza PROJECT_ID por el Google Cloud ID del proyecto. Puedes omitir esta marca cuando la configuración activa de gcloud CLI esté establecida en el proyecto Google Cloud correcto.

Comando de ejemplo:

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 crea una operación de larga duración para que se ejecute en segundo plano y muestra el nombre de la operación de copia y la ubicación del bucket de registros:

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

La ubicación de la operación de copia es la misma que la del bucket de registro desde el que se realiza la copia.

Cómo ver y administrar operaciones de copia

Puedes ver y administrar tus operaciones de copia con los comandos gcloud logging operations, que te permiten enumerar, ver y cancelar operaciones.

Los siguientes comandos requieren que especifiques la ubicación de la operación. Usa la ubicación de tu bucket de registros. Para obtener información sobre cómo encontrar la ubicación de tu bucket de registros, consulta Cómo ver los detalles de un bucket.

Enumera las operaciones de copia

Puedes enumerar las operaciones de copia recientes, incluidas las operaciones programadas, en ejecución, completadas, fallidas y canceladas. Las operaciones de copia recientes aparecen en los resultados hasta 30 días después de la hora de finalización.

Para enumerar las operaciones de copia, ejecuta el siguiente comando:

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

Antes de ejecutar el comando anterior, haz lo siguiente:

  • Reemplaza LOCATION por la ubicación del bucket de registros desde el que copias.
  • Reemplaza PROJECT_ID por el Google Cloud ID del proyecto.

El comando devuelve información sobre la operación de larga duración, incluido el ID de la operación:

projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

Cómo ver el estado de una operación de copia

Puedes recuperar el estado y otros metadatos sobre las operaciones de copia, incluidos los siguientes:

  • startTime: Es la marca de tiempo que indica la creación de la operación.
  • endTime: Es la marca de tiempo que indica la finalización de la operación.
  • state: Es el estado de la operación (programada, en ejecución, cancelada, con errores o completada).
  • cancellation: Indica si el usuario solicitó cancelar la operación.
  • progress: Es el progreso estimado de la operación (de 0 a 100%).
  • destination: Es el nombre del bucket de Cloud Storage en el que la operación copia los registros.
  • filter: Es el filtro que especifica qué entradas de registro se copiarán.
  • name: Es el nombre del bucket de registros desde el que la operación copia los registros.
  • logEntriesCopiedCount: Es la cantidad de entradas de registro que la operación copió correctamente en el bucket de Cloud Storage.

Ten en cuenta que no todos los campos de metadatos enumerados se aplican a todas las operaciones de copia. Por ejemplo, si una operación de copia aún se está ejecutando, los metadatos de endtime no se aplicarían a la operación. Como otro ejemplo, si no se usó la marca --log-filter=FILTER cuando se ejecutó el comando gcloud logging copy, los metadatos de filter no se aplicarían a la operación.

Para recuperar información sobre una operación de copia, ejecuta el siguiente comando:

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

Antes de ejecutar el comando anterior, haz lo siguiente:

  • Reemplaza OPERATION_ID por el ID de la operación.
  • Reemplaza LOCATION por la ubicación del bucket de registros desde el que copias.
  • Reemplaza PROJECT_ID por el Google Cloud ID del proyecto.

El comando devuelve metadatos sobre la operación de copia. Por ejemplo, este es el resultado de una operación en 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>

Cancela una operación de copia

Puedes cancelar una operación de copia en curso. Si cancelas una operación de copia, todas las entradas de registro que se copiaron antes de la cancelación permanecerán en el bucket de Cloud Storage.

Después de cancelar una operación de copia, Logging completa todos los procesos en curso antes de completar la cancelación. Esto puede hacer que algunas entradas de registro se sigan copiando en Cloud Storage después de que canceles la operación.

Para cancelar una operación de copia, ejecuta el siguiente comando:

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

Antes de ejecutar el comando anterior, haz lo siguiente:

  • Reemplaza OPERATION_ID por el ID de la operación.
  • Reemplaza LOCATION por la ubicación del bucket de registros desde el que copias.
  • Reemplaza PROJECT_ID por el Google Cloud ID del proyecto.

Visualiza los registros en Cloud Storage

Para ver y comprender los registros que copiaste en Cloud Storage, consulta Cómo ver los registros enrutados a Cloud Storage.

Cuotas y límites

Todas las operaciones de copia tardan al menos una hora en completarse, independientemente de la cantidad de datos que se copien.

Para copiar un volumen grande (por ejemplo, petabytes), divide la copia en varias operaciones de copia con el campo timestamp en la marca --filter.

El comando de copia no puede copiar las entradas de registro cuya retención haya vencido.

Precios

Cloud Logging no cobra por enrutar registros a un destino compatible; sin embargo, es posible que el destino aplique cargos. Con la excepción del bucket de registros _Required, Cloud Logging cobra por transmitir registros a los buckets de registros y por el almacenamiento que supere el período de retención predeterminado del bucket de registros.

Cloud Logging no cobra por copiar registros, crear alcances de registros o vistas de análisis, ni por las consultas que se emiten a través de las páginas del Explorador de registros o del Análisis de registros.

Para obtener más información, consulta los siguientes documentos: