Importar registros de Cloud Storage a Cloud Logging

Last reviewed 2025-02-19 UTC

En esta arquitectura de referencia se describe cómo importar a Cloud Logging los registros que se exportaron anteriormente a Cloud Storage.

Esta arquitectura de referencia está dirigida a ingenieros y desarrolladores, incluidos los de DevOps, los de fiabilidad de sitios (SREs) y los investigadores de seguridad, que quieran configurar y ejecutar el trabajo de importación de registros. En este documento se da por hecho que sabes cómo ejecutar tareas de Cloud Run y cómo usar Cloud Storage y Cloud Logging.

Arquitectura

En el siguiente diagrama se muestra cómo se usan los servicios de Google Cloud en esta arquitectura de referencia:

Diagrama de flujo de trabajo de la importación de registros de Cloud Storage a Cloud Logging.

Este flujo de trabajo incluye los siguientes componentes:

  • Segmento de Cloud Storage: contiene los registros exportados anteriormente que quieres volver a importar a Cloud Logging. Como estos registros ya se han exportado, se organizan en el formato de exportación esperado.
  • Tarea de Cloud Run: ejecuta el proceso de importación de registros.
    • Lee los objetos que almacenan entradas de registro de Cloud Storage.
    • Busca los registros exportados del ID de registro especificado en el intervalo de tiempo solicitado, en función de la organización de los registros exportados en el segmento de Cloud Storage.
    • Convierte los objetos en estructuras de la LogEntryAPI de Cloud Logging. Se agregan varias estructuras LogEntry en lotes para reducir el consumo de la cuota de la API Cloud Logging. La arquitectura gestiona los errores de cuota cuando es necesario.
    • Escribe las entradas de registro convertidas en Cloud Logging. Si vuelves a ejecutar el mismo trabajo varias veces, pueden producirse entradas duplicadas. Para obtener más información, consulta Ejecutar el trabajo de importación.
  • Cloud Logging: ingiere y almacena las entradas de registro convertidas. Las entradas de registro se procesan como se describe en la sección Información general sobre el enrutamiento y el almacenamiento.
    • Se aplican las cuotas y los límites de Logging, incluidas las cuotas y los límites de la API Cloud Logging, así como un periodo de conservación de 30 días. Esta arquitectura de referencia está diseñada para funcionar con las cuotas de escritura predeterminadas, con un mecanismo básico de reintentos. Si tu cuota de escritura es inferior a la predeterminada, es posible que la implementación falle.
    • Los registros importados no se incluyen en las métricas basadas en registros porque sus marcas de tiempo son del pasado. Sin embargo, si decide usar una etiqueta, la marca de tiempo registrará la hora de importación y los registros se incluirán en los datos de métricas.
  • BigQuery usa SQL para ejecutar consultas analíticas en los registros importados (opcional). Para importar registros de auditoría de Cloud Storage, esta arquitectura modifica los IDs de los registros. Debes tener en cuenta este cambio de nombre al consultar los registros importados.

Caso práctico

Puede elegir implementar esta arquitectura si su organización necesita un análisis de registros adicional para investigar incidentes u otras auditorías de eventos pasados. Por ejemplo, puede que quieras analizar las conexiones a tus bases de datos del primer trimestre del año pasado como parte de una auditoría de acceso a bases de datos.

Alternativas de diseño

En esta sección se describen alternativas al diseño predeterminado que se muestra en este documento de arquitectura de referencia.

Periodo de conservación y registros importados

Cloud Logging requiere que las entradas de registro entrantes tengan marcas de tiempo que no superen un periodo de conservación de 30 días. Las entradas de registro importadas con marcas de tiempo anteriores a 30 días desde el momento de la importación no se almacenan.

Esta arquitectura valida el periodo definido en el trabajo de Cloud Run para evitar importar registros que tengan más de 29 días, lo que deja un margen de seguridad de un día.

Para importar registros de más de 29 días, debe hacer los siguientes cambios en el código de implementación y, a continuación, compilar una nueva imagen de contenedor para usarla en la configuración del trabajo de Cloud Run.

  • Quitar la validación de 30 días del periodo
  • Añade la marca de tiempo original como etiqueta de usuario a la entrada de registro
  • Restablece la etiqueta de la marca de tiempo de la entrada de registro para que se pueda ingerir con la marca de tiempo actual.

Cuando utilice esta modificación, deberá usar el campo labels en lugar del campo timestamp en sus consultas de Log Analytics. Para obtener más información sobre las consultas y los ejemplos de Analíticas de registros, consulta Ejemplos de consultas de SQL.

Factores del diseño

Las siguientes directrices pueden ayudarte a desarrollar una arquitectura que cumpla los requisitos de tu organización.

Optimización de costes

El coste de importar registros mediante esta arquitectura de referencia tiene varios factores que influyen.

Utilizas los siguientes componentes facturables de Google Cloud:

Ten en cuenta los siguientes factores que pueden aumentar los costes:

  • Duplicación de registros: para evitar costes adicionales de almacenamiento de registros, no ejecutes el trabajo de importación con la misma configuración varias veces.
  • Almacenamiento en destinos adicionales: para evitar costes adicionales de almacenamiento de registros, inhabilita las políticas de enrutamiento en el proyecto de destino para evitar que los registros se almacenen en ubicaciones adicionales o que se reenvíen a otros destinos, como Pub/Sub o BigQuery.
  • CPU y memoria adicionales: si la tarea de importación agota el tiempo de espera, es posible que tengas que aumentar la CPU y la memoria de la tarea de importación en la configuración de la tarea de importación. Si aumentas estos valores, es posible que aumenten los costes de Cloud Run.
  • Tareas adicionales: si el número de registros que se van a importar cada día dentro del periodo es elevado, puede que tengas que aumentar el número de tareas en la configuración del trabajo de importación. El trabajo dividirá el intervalo de tiempo equitativamente entre las tareas, de modo que cada tarea procesará simultáneamente un número similar de días del intervalo. Si aumenta el número de tareas, es posible que aumenten los costes de Cloud Run.
  • Clase de almacenamiento: si la clase de almacenamiento de tu segmento de Cloud Storage no es Standard, sino Nearline, Durable Reduced Availability (DRA) o Coldline, es posible que se te apliquen cargos adicionales.
  • Tráfico de datos entre diferentes ubicaciones: configura la tarea de importación para que se ejecute en la misma ubicación que el segmento de Cloud Storage desde el que importas los registros. De lo contrario, se podrían generar costes de salida de red.

Para generar una estimación de costes basada en el uso previsto, incluidos los trabajos de Cloud Run, utiliza la calculadora de precios.

Eficiencia operativa

En esta sección se describen las consideraciones para gestionar las consultas analíticas después de implementar la solución.

Nombres y consultas de registros

Los registros se almacenan en el proyecto definido en el campo logName de la entrada de registro. Para importar los registros al proyecto seleccionado, esta arquitectura modifica el campo logName de cada registro importado. Los registros de importación se almacenan en el segmento de registros predeterminado del proyecto seleccionado, que tiene el ID de registro imported_logs (a menos que el proyecto tenga una política de enrutamiento de registros que cambie el destino de almacenamiento). El valor original del campo logName se conserva en el campo labels con la clave original_logName.

Debe tener en cuenta la ubicación del valor logName original al consultar los registros importados. Para obtener más información sobre las consultas y los ejemplos de Analíticas de registros, consulte Ejemplos de consultas de SQL.

Optimización del rendimiento

Si el volumen de registros que vas a importar supera los límites de capacidad de Cloud Run, es posible que la tarea agote el tiempo de espera antes de que se complete la importación. Para evitar que se importen datos incompletos, te recomendamos que aumentes el valor de tasks en el trabajo de importación. Aumentar los recursos de CPU y memoria también puede ayudar a mejorar el rendimiento de las tareas cuando aumentas el número de tareas.

Implementación

Para implementar esta arquitectura, consulta Implementar un trabajo para importar registros de Cloud Storage a Cloud Logging.

Siguientes pasos

Colaboradores

Autor: Leonid Yankulin | Ingeniero de Relaciones con Desarrolladores

Otros colaboradores: