En esta página, se describe cómo copiar de forma manual las entradas de registro que ya están almacenadas en los buckets de registros 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 Google Cloud proyecto.
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 almacenarlas en Logging.
- Para compartir entradas de registro con auditores fuera de Logging.
- Para analizar entradas de registro con secuencias de comandos en Cloud Storage.
Cuando copias entradas de registro a 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 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 admitido preseleccionado, incluidos los buckets de Cloud Storage. No puedes usar receptores para enrutar registros de forma retroactiva. Usa receptores cuando sepas de antemano que deseas 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 registros a buckets de Cloud Storage; no hay otros destinos disponibles.
No puedes copiar registros de buckets de registros que tengan configuradas las CMEK.
Antes de comenzar
Antes de comenzar a copiar registros, haz lo siguiente:
- Verifica que estés usando la versión más reciente de la gcloud CLI. Para obtener instrucciones sobre cómo instalar o actualizar gcloud CLI, consulta Administra los componentes de Google Cloud CLI.
-
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 ejecutar una operación de copia:
Administrador de Logging (
roles/logging.admin) -
Para ver y administrar el estado de una operación de copia:
Escritor de configuración de registros (
roles/logging.configWriter)
-
Para ejecutar una operación de copia:
Administrador de Logging (
-
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 de 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 a Cloud Storage, debes conocer la siguiente información:
- El ID y la ubicación del bucket de registros desde el que realizas la copia.
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 al que realizas la copia. Para obtener información sobre cómo recuperar el nombre del bucket de Cloud Storage, consulta Obtén información sobre el bucket de Cloud Storage.
- Un filtro para las entradas de registro que deseas copiar.
Para copiar entradas de registro, ejecuta el
gcloud logging copy comando:
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 bucket 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 ID del Google Cloud proyecto. Puedes omitir esta marca cuando la configuración activa de gcloud CLI esté establecida en el proyecto correcto Google Cloud .
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 registros desde el que realizas la copia.
Visualiza y administra las operaciones de copia
Puedes ver y administrar tus operaciones de copia con los
gcloud logging operations
comandos, 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.
Enumera las 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 realizas la copia.
- Reemplaza PROJECT_ID por el ID del Google Cloud proyecto.
El comando muestra 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
Visualiza 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 correcta).cancellation: Indica si el usuario solicitó cancelar la operación.progress: Es el progreso estimado de la operación (0-100%).destination: Es el nombre del bucket de Cloud Storage al 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 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 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 realizas la copia.
- Reemplaza PROJECT_ID por el ID del Google Cloud proyecto.
El comando muestra metadatos sobre la operación de copia. Por ejemplo, esta es una salida para una operación que está 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 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 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 realizas la copia.
- Reemplaza PROJECT_ID por el ID del Google Cloud proyecto.
Visualiza los 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 con el campo timestamp en la marca --filter.
El comando de copia no puede copiar entradas de registro cuya retención haya vencido.
Precios
Para obtener información sobre los precios, consulta la página de precios de Google Cloud Observability. Si enrutas datos de registro a otros Google Cloud servicios, consulta los siguientes documentos: