Registros por lotes y rutas de forma retroactiva

En esta página, se describe cómo copiar de forma manual las entradas de registro que ya están almacenadas en buckets de registros de Cloud Logging en buckets de Cloud Storage. Es posible que desees copiar entradas de registro de los buckets de registros a los buckets de Cloud Storage por las siguientes razones:

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

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

Las operaciones de copia no reemplazan a los receptores, que envían automáticamente todas las entradas de registro entrantes a un destino de almacenamiento compatible preseleccionado, incluidos los buckets de Cloud Storage. Usa receptores cuando sepas almacenar entradas de registro en un bucket de Cloud Storage.

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

Limitaciones

Las siguientes limitaciones se aplican cuando se copian entradas de registro:

  • Solo puedes copiar registros en buckets de Cloud Storage; otros destinos no están disponibles.

  • No puedes copiar registros de buckets de registros que tengan CMEK configuradas.

Antes de comenzar

Antes de comenzar a copiar registros, haz lo siguiente:

  • A fin de obtener los permisos que necesitas para copiar entradas de registro de Logging y, luego, escribirlas en Cloud Storage, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

  • Si quieres obtener los permisos que necesitas para ver y administrar el estado de una operación de copia, pídele a tu administrador que te otorgue el rol de IAM de Escritor de configuración de registros (roles/logging.configWriter) en tu proyecto.

Copiar las entradas de registro

Logging solo copia las entradas de registro que se almacenan en el bucket de registros cuando comienza la operación de copia. Las entradas de registro que se almacenan en buckets de registros después de que comienza 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:

  • El ID y la ubicación del bucket de registros desde el que copias el registro. Para recuperar el ID de bucket de registros y su ubicación, usa el comando de gcloud CLI gcloud logging buckets list.
  • El nombre del bucket de Cloud Storage en el que estás copiando. Para obtener más información sobre cómo recuperar el nombre del bucket de Cloud Storage, consulta Obtén información del bucket de Cloud Storage.
  • Un filtro para las entradas de registro que deseas copiar

Para copiar 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.
  • Reemplaza FILTER por el filtro que define qué registros se copian (opcional).

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

Comando de ejemplo:

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 crea una operación de larga duración para ejecutarse 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 ubicación del bucket de registros desde el que copias los registros.

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 Visualiza los detalles de un bucket.

Muestra una lista de operaciones de copia

Puedes enumerar las operaciones de copia recientes, incluidas las operaciones programadas, en ejecución, completadas, con errores 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 los registros.
  • Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

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

projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID

Consulta el estado de una operación de copia

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

  • startTime: La marca de tiempo que indica la creación de la operación.
  • endTime: 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 correctamente).
  • cancellation: Indica si el usuario solicitó cancelar la operación.
  • progress: Progreso estimado de la operación (0-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 deben copiar.
  • name: Es el nombre del bucket de registros desde el que la operación copia los registros.
  • logEntriesCopiedCount: La cantidad de entradas de registro que la operación copió de forma correcta 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 endtime no se aplicarían a la operación. Otro ejemplo, si la marca --log-filter=FILTER no se usó cuando se ejecutaba el comando gcloud logging copy, los metadatos 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 los registros.
  • Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

El comando muestra metadatos sobre la operación de copia. Por ejemplo, aquí hay un 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: `2023-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 que se cancelara la operació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 aún se copien en Cloud Storage después de que cancelas 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 los registros.
  • Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

Ver registros en Cloud Storage

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

Cuotas y límites

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

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

Precios

Cloud Logging no cobra por enrutar los registros a un destino admitido. Sin embargo, el destino puede aplicar cargos. A excepción del bucket de registros _Required, Cloud Logging cobra por transmitir registros a buckets de registros y por el almacenamiento por más tiempo que el período de retención predeterminado del bucket de registros.

Cloud Logging no cobra por copiar registros ni por las consultas emitidas a través de la página Explorador de registros o la página Análisis de registros.

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