En esta página se describe cómo copiar manualmente las entradas de registro que ya están almacenadas en segmentos de registro de Cloud Logging a segmentos de Cloud Storage. Para realizar una operación de copia, no es necesario que el segmento de registro y el segmento de Cloud Storage estén en el mismo proyecto Google Cloud .
Puede que quieras copiar entradas de registro de segmentos de registro a segmentos de Cloud Storage por los siguientes motivos:
- Si has olvidado enrutar las entradas de registro a Cloud Storage antes de almacenarlas en Logging.
- Para compartir entradas de registro con auditores que no tienen acceso a Logging.
- Para analizar entradas de registro con secuencias de comandos en Cloud Storage.
Cuando copias entradas de registro en Cloud Storage, estas también permanecen en el segmento de registro del que se copiaron.
Las operaciones de copia no sustituyen 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 admitido preseleccionado, incluidos los segmentos 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 segmento de Cloud Storage.
Para copiar registros y, a continuación, gestionar y monitorizar la operación, debes usar la CLI de Google Cloud.
Limitaciones
Se aplican las siguientes limitaciones al copiar entradas de registro:
Solo puedes copiar registros en segmentos de Cloud Storage. No hay otros destinos disponibles.
No puedes copiar registros de segmentos de registro que tengan configuradas CMEK.
Antes de empezar
Antes de empezar a copiar registros, haz lo siguiente:
- Verifica que estés usando la versión más reciente de la CLI de gcloud. Para obtener instrucciones sobre cómo instalar o actualizar gcloud CLI, consulta Gestionar componentes de Google Cloud CLI.
-
Para obtener los permisos que necesitas para copiar entradas de registro, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto que contiene el segmento de registro del que vas a copiar:
-
Para ejecutar una operación de copia, sigue estos pasos:
Administrador de Logging (
roles/logging.admin
) -
Para ver y gestionar el estado de una operación de copia, siga estos pasos:
Escritor de configuración de registros (
roles/logging.configWriter
)
-
Para ejecutar una operación de copia, sigue estos pasos:
Administrador de Logging (
-
Para obtener los permisos que necesitas para escribir entradas de registro en Cloud Storage, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Creador de objetos de Storage (
roles/storage.objectCreator
) en el proyecto que contiene el segmento de Cloud Storage.
Copiar entradas de registro
El registro solo copia las entradas de registro que se almacenan en el segmento de registro cuando se inicia la operación de copia. Las entradas de registro que se almacenan en los segmentos de registro después de que se inicie 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 registro del que vas a copiar.
Para obtener el ID del segmento de registro y su ubicación, usa el comando de gcloud CLI
gcloud logging buckets list
. - Nombre del segmento de Cloud Storage al que vas a copiar. Para obtener información sobre cómo recuperar el nombre del segmento de Cloud Storage, consulta Obtener información sobre el segmento de Cloud Storage.
- Un filtro para las entradas de registro que quieras 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:
- Sustituye BUCKET_ID por el nombre de tu segmento de registro.
- Sustituye CLOUD_STORAGE_BUCKET_NAME por el nombre de tu segmento de Cloud Storage.
- Sustituye LOCATION por la ubicación del contenedor de registro.
(Opcional): Sustituye FILTER por el filtro que define qué registros se van a copiar.
Si omite la marca
--log-filter
, todas las entradas de registro del segmento de registro se copiarán en el segmento de Cloud Storage.Sustituye PROJECT_ID por el ID de tu proyecto. Google Cloud Puedes omitir esta marca cuando la configuración activa de la CLI de gcloud se haya definido 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 devuelve el nombre de la operación de copia y la ubicación del bucket de registro:
name: projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
La ubicación de la operación de copia es la misma que la del contenedor de registro del que estás copiando.
Ver y gestionar operaciones de copia
Puedes ver y gestionar tus operaciones de copia con los comandos
gcloud logging operations
que te permiten enumerar, ver y cancelar operaciones.
Para ejecutar los siguientes comandos, debes especificar la ubicación de la operación. Usa la ubicación de tu segmento de registro. Para obtener información sobre cómo encontrar la ubicación de tu segmento de registro, consulta Ver los detalles de un segmento.
Mostrar operaciones de copia
Puedes consultar una lista de las operaciones de copia recientes, incluidas las programadas, en curso, 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 ver una lista de 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:
- Sustituye LOCATION por la ubicación del contenedor de registro del que quieres copiar.
- Sustituye PROJECT_ID por el ID de tu proyecto. Google Cloud
El comando devuelve información sobre la operación de larga duración, incluido el ID de operación:
projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Ver el estado de una operación de copia
Puedes obtener el estado y otros metadatos sobre las operaciones de copia, como los siguientes:
startTime
: marca de tiempo que indica la creación de la operación.endTime
: marca de tiempo que indica la finalización de la operación.state
: estado de la operación (programada, en curso, cancelada, fallida o completada).cancellation
: indica si el usuario ha solicitado cancelar la operación.progress
: progreso estimado de la operación (0-100%).destination
: nombre del segmento de Cloud Storage al que la operación copia los registros.filter
: el filtro que especifica qué entradas de registro se deben copiar.name
: el nombre del contenedor de registro del que la operación está copiando los registros.logEntriesCopiedCount
: número de entradas de registro que la operación ha copiado correctamente en el segmento de Cloud Storage.
Ten en cuenta que no todos los campos de metadatos que se indican se aplican a todas las operaciones de copia.
Por ejemplo, si una operación de copia aún está en curso, los metadatos endtime
no se aplicarían a la operación. Por ejemplo, si no se ha usado la marca --log-filter=FILTER
al ejecutar el comando gcloud logging copy
, los metadatos filter
no se aplicarán a la operación.
Para obtener 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:
- Sustituye OPERATION_ID por el ID de la operación.
- Sustituye LOCATION por la ubicación del contenedor de registro del que quieres copiar.
- Sustituye PROJECT_ID por el ID de tu proyecto. Google Cloud
El comando devuelve metadatos sobre la operación de copia. Por ejemplo, aquí tienes 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>
Cancelar 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 hayan copiado antes de la cancelación permanecerán en el segmento de Cloud Storage.
Después de cancelar una operación de copia, el registro completa todos los procesos en curso antes de completar la cancelación. Esto puede provocar que algunas entradas de registro se sigan copiando en Cloud Storage después de cancelar 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:
- Sustituye OPERATION_ID por el ID de la operación.
- Sustituye LOCATION por la ubicación del contenedor de registro del que quieres copiar.
- Sustituye PROJECT_ID por el ID de tu proyecto. Google Cloud
Ver registros en Cloud Storage
Para ver y comprender los registros que has copiado en Cloud Storage, consulta 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 gran volumen de datos (por ejemplo, petabytes), divide la copia en varias operaciones de copia mediante el campo timestamp
de la marca --filter
.
El comando de copia no puede copiar entradas de registro cuya retención haya caducado.
Precios
Cloud Logging no cobra por enrutar registros a un destino compatible, pero es posible que el destino aplique cargos.
A excepción del segmento de registros _Required
, Cloud Logging cobra por transmitir registros a los segmentos de registros y por el almacenamiento que supere el periodo de conservación predeterminado del segmento de registros.
Cloud Logging no cobra por copiar registros, crear ámbitos de registro ni vistas de analíticas, ni por las consultas enviadas a través de las páginas Explorador de registros o Analíticas de registros.
Para obtener más información, consulte los documentos siguientes:
- Las secciones de Cloud Logging de la página Precios de Observabilidad de Google Cloud.
Costes al enrutar datos de registro a otros servicios: Google Cloud
- Se aplican cargos por generar registros de flujo de VPC cuando envías y luego excluyes tus registros de flujo de nube privada virtual de Cloud Logging.