Copia las entradas de registro

En esta página, se describe cómo copiar de forma manual las entradas de registro que ya están almacenadas en depósitos de Cloud Logging en depósitos de Cloud Storage.

Recomendamos copiar las entradas de registro de los depósitos de Logging en depósitos de Cloud Storage por los siguientes motivos:

  • En caso de que hayas olvidado 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 entradas de registro en Cloud Storage, estas también permanecen en el bucket de registros desde el que se copiaron.

Ten en cuenta que las operaciones de copia no reemplazan los receptores, que envían de forma automática todas las entradas de registro entrantes a un destino de almacenamiento admitido previamente seleccionado, incluido Cloud Storage. Usa los receptores cuando sepas de forma anticipada dónde deseas almacenar las entradas de registro.

Para copiar registros y, luego, administrar y supervisar la operación, usa la herramienta de gcloud, como se describe en las siguientes secciones.

Limitaciones

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

  • Esta función no está disponible en Cloud Console ni en la API de Logging. usa la herramienta de gcloud como se describe.

  • Solo puedes copiar registros en depósitos de Cloud Storage. otros destinos no están disponibles.

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 herramienta de gcloud. Para obtener instrucciones sobre cómo instalar o actualizar la herramienta de gcloud, consulta Administra los componentes del SDK de Cloud.

  • Verifica que tengas los permisos de administración de identidades y accesos correctos:

    • Para copiar las entradas de registro de Logging y, luego, escribirlas en Cloud Storage, debes tener ambas opciones:

      • Para el bucket de Logging desde el que copias los registros, necesitas la función roles/logging.admin o una función personalizada con logging.buckets.copyLogEntries. permiso.

      • Para el bucket de Cloud Storage al que envías los registros, necesitas la función roles/storage.objectCreator o una función personalizada con el permiso storage.objects.create.

    • Para ver y administrar el estado de una operación de copia, debes tener una de las siguientes funciones o una función personalizada con los permisos logging.operations.*:

Copiar entradas del 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 transfieren y almacenan después de que comienza la operación de copia no se copian en Cloud Storage.

Para copiar entradas de registro en Cloud Storage, necesitas saber la siguiente información:

Para copiar entradas de registro, ejecuta el comando gcloud alpha logging copy:

gcloud alpha logging copy LOGGING_BUCKET_ID storage.googleapis.com/CLOUD_STORAGE_BUCKET_NAME
--location=LOCATION [--log-filter=FILTER] --project=PROJECT_ID

Comando de ejemplo:

gcloud alpha 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. En el caso de los bucket s de Logging que se crearon con la ubicación global, la ubicación real del bucket se muestra cuando ejecutas la operación de copia.

Obtén la ubicación del bucket de Logging

Para ejecutar los comandos de gcloud alpha logging operations, necesitas la ubicación específica en la que Logging creó el bucket. La ubicación regional del depósito de registros se muestra después de ejecutar el comando gcloud alpha logging copy.

Si no conoces la ubicación específica del bucket de Logging, tal vez porque se creó mediante la ubicación global, completa el siguiente procedimiento:

  1. Encuentra las ubicaciones geográficas que usa tu proyecto de Cloud:

    gcloud alpha logging locations list
    
  2. Enumera las operaciones por ubicación hasta que encuentres la operación de copia.

    Para usar operations list, debes especificar el tipo de operación con la marca --operation-filter. Los valores posibles de request_type son los siguientes:

    • CopyLogEntries
    • CreateBucket
    • UpdateBucket
    gcloud alpha logging operations list --location=LOCATION \
    --operation-filter=request_type=REQUEST_TYPE \
    --project=PROJECT_ID
    

    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
    

Ver y administrar operaciones de copiado

Puedes ver y administrar tus operaciones de copia mediante los comandos gcloud alpha logging operations, que te permiten hacer lo siguiente:

  • Enumerar todas las operaciones de copia actuales
  • Cómo ver el estado de una operación
  • Cancela una operación de copia en curso

Enumerar operaciones de copia

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

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

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

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: 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: El estado de la operación (programada, en ejecución, cancelada, con errores o correcta)
  • cancellation: Si el usuario solicitó cancelar la operación
  • progress: progreso estimado de la operación (0-100%)
  • destination: El nombre del bucket de Cloud Storage en el que la operación copia los registros.
  • filter: El filtro que especifica qué entradas de registro se deben copiar.
  • name: El nombre del bucket de Logging desde el que la operación copia los registros.
  • logEntriesCopiedCount: 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 aún se está ejecutando una operación de copia, los metadatos endtime no se aplicarían a la operación. Otro ejemplo es que si la marca --log-filter=FILTER no se usa cuando se ejecuta el comando gcloud alpha 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 alpha logging operations describe OPERATION_ID \
--location=LOCATION --project=PROJECT_ID

El comando muestra metadatos sobre la operación de copia. Por ejemplo, este es un resultado de una operación que está en curso:

  done: false
  metadata:
    @type: type.googleapis.com/google.logging.v2.CopyLogEntriesMetadata
    progress: 75
    request:
      destination: storage.googleapis.com/my-storage-bucket-1
      filter: “timestamp > 2021-05-23T10:00:00.0Z"
      name: projects/my-test-project/locations/us-central1/buckets/my-logging-bucket-2
    startTime: 2021-05-23T10:52:40.039751Z
    state: OPERATION_STATE_RUNNING
   

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 hayan copiado antes de 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 podría 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 alpha logging operations cancel OPERATION_ID \
--location=LOCATION --project=PROJECT_ID

Visualiza registros en Cloud Storage

Para ver y comprender los registros que copiaste en Cloud Storage, consulta Organización de los registros.

Cuotas y límites

Para obtener información sobre las cuotas, consulta Cuotas de la API de Cloud Logging.

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

Precios

Cloud Logging no te cobra por copiar registros, pero es posible que se apliquen cargos de destino de Cloud Storage. Para obtener más información, consulta Precios de Cloud Storage.