La función Transformers ya está disponible de forma general dentro del servicio Logpush de Cloudflare, lo que permite a los equipos procesar sus registros antes de exportarlos al destino final. Los usuarios pueden escribir consultas SQL para filtrar registros, ocultar partes de datos confidenciales y añadir, cambiar el nombre, eliminar u organizar campos dentro de una estructura anidada.
La función está dirigida a equipos de monitorización y seguridad que exportan registros de Cloudflare a sistemas de gestión de información y eventos de seguridad (SIEM), plataformas de análisis y almacenes de objetos. En lugar de ejecutar un servicio independiente para procesar los registros después de su llegada, Logpush realiza la transformación dentro del propio flujo de exportación.
¿Qué cambia en la práctica?
El usuario define un Transformer personalizado para un conjunto de datos concreto en Logpush. Se aplica una cláusula WHERE para eliminar los registros no deseados, mientras que una cláusula SELECT determina los campos que aparecerán en el registro exportado. Los resultados se guardan en formato NDJSON, al igual que los registros originales, y la función no es una herramienta para transformar el formato de serialización en sí.
Por ejemplo, se pueden excluir solicitudes de comprobaciones de estado y tráfico interno, ocultar la última parte de una dirección IP, unificar los nombres de los campos entre varios proveedores de CDN y añadir campos estáticos, como el nombre del proveedor o un indicador que identifique errores del servidor. Filtrar antes de la exportación ayuda a reducir el volumen de datos por cuya exportación, recepción y almacenamiento pagan los equipos antes de descartarlos posteriormente.
Ejecución dentro del flujo de exportación
Cloudflare optó por ejecutar las consultas dentro del servicio de entrega Bufstream, en lugar de depender de un servicio de red externo. Según la empresa, ejecutar WebAssembly mediante Cloudflare Workers habría añadido una conexión de red al flujo de Logpush, lo que podría provocar tiempos de espera y reintentos que afectarían al tiempo de entrega y a la tasa de transferencia.
Transformers utiliza el motor Apache DataFusion, escrito en Rust, junto con Apache Arrow para representar los datos en columnas tipadas dentro de la memoria. En una prueba realizada por Cloudflare sobre un lote sintético de 5.000 registros http_requests, la ejecución de un Transformer preconfigurado tardó aproximadamente 3 milisegundos con un único hilo de Go, lo que equivale aproximadamente a 1,6 millones de registros por segundo.
Bufstream recibe lotes de Logpush comprimidos, convierte los registros aptos en un Arrow RecordBatch y después los pasa a DataFusion mediante Arrow IPC y la interfaz de enlace entre Go y Rust. Tras ejecutar la consulta, el servicio devuelve los resultados a NDJSON, los agrupa y comprime, y los carga en el destino especificado.
Controles de fallos y gestión
Transformers funciona según el principio de cierre seguro: si no se puede ejecutar la transformación, Bufstream no envía el lote en bruto ni proporciona el punto de entrega. En su lugar, vuelve a intentarlo de forma progresiva, informa del error y puede desactivar los trabajos que permanecen en estado de fallo durante mucho tiempo para que no consuman recursos de los trabajos en buen estado.
Las transformaciones se pueden crear, previsualizar y gestionar mediante Transformer Studio en el panel de Cloudflare o a través de la API. Además, cada actualización crea una nueva versión, y la pantalla Transformer Health ofrece indicadores sobre las transformaciones correctas y fallidas, el volumen de datos antes y después del procesamiento y la duración de la ejecución.
¿Por qué importa esta noticia?
El valor principal no está únicamente en añadir SQL a un servicio de registros, sino en trasladar las decisiones de reducción, unificación y ocultación de datos a un punto anterior a la exportación. Esto puede reducir la dependencia de los equipos respecto a capas de procesamiento personalizadas, pero no elimina la necesidad de probar las consultas y revisar los esquemas de datos, especialmente porque un fallo del Transformer impide enviar el lote en lugar de transferir una versión sin procesar.
Transformers está disponible en los planes Free, Pro, Business y Enterprise. Los detalles de configuración y precios siguen sujetos a la documentación vigente de Cloudflare.