Ingesta datos directamente de Google Pub/Sub en Elastic con Google Dataflow

Hoy nos complace anunciar el desarrollo más reciente en nuestra sociedad continua con Google Cloud. Ahora, los desarrolladores, ingenieros de confiabilidad del sitio (SRE) y analistas de seguridad pueden ingestar datos de Google Pub/Sub en el Elastic Stack con solo unos clics en Google Cloud Console. Gracias a que aprovecha las plantillas de Google Dataflow, Elastic facilita la transmisión de eventos y logs de servicios de Google Cloud como Google Cloud Audit, VPC Flow o firewall al Elastic Stack. Esto permite a los clientes simplificar su arquitectura de pipeline de datos, eliminar gastos operativos y reducir el tiempo necesario para la solución de problemas.

Muchos desarrolladores, SRE y analistas de seguridad que usan Google Cloud para desarrollar aplicaciones y configurar su infraestructura, también usan el Elastic Stack para solucionar problemas, monitorear e identificar anomalías de seguridad. Google y Elastic trabajaron juntos para proporcionar una forma fácil de usar y sin fricción de ingestar en Elastic logs y eventos de aplicaciones e infraestructura en servicios de Google Cloud. Y todo esto es posible con solo unos clics en Google Cloud Console, sin tener que instalar ningún agente de datos.   

En este blog, veremos cómo dar los primeros pasos con la ingesta de datos sin agente de Google Pub/Sub en el Elastic Stack mediante Google Dataflow.

Omite los gastos

Pub/Sub es un servicio popular de mensajería asíncrono sin servidor que se usa para transmitir datos de Google Operations (anteriormente Stackdriver), aplicaciones creadas con servicios de Google Cloud u otros casos de uso que involucran la transmisión de pipelines de integración de datos. Ingestar logs de Google Cloud Audit, VPC Flow o firewall en soluciones de analíticas de terceros como el Elastic Stack requiere que estos logs se envíen primero a Google Operations y después a Pub/Sub.  Una vez que los logs están en Pub/Sub, un usuario de Google Cloud debe decidir el método de ingesta para enviar los mensajes almacenados en Google Pub/Sub a soluciones de analíticas de terceros.

Una opción popular entre los usuarios de Google y Elastic es instalar Filebeat, el Agente de Elastic o Fluentd en una VM (máquina virtual) de Google Compute Engine y después usar uno de estos agentes de datos para enviar datos de Pub/Sub al Elastic Stack. Provisionar una VM e instalar agentes de datos requiere gastos de procesamiento y gestión. La capacidad de omitir este paso e ingestar datos directamente de Pub/Sub en Elastic es valiosa para muchos usuarios, en especial cuando se puede hacer con pocos clics en Google Cloud Console. Estos es posible mediante un menú desplegable en Google Dataflow.

Optimiza la ingesta de datos

Google Dataflow es un servicio de mensajería asíncrono sin servidor basado en Apache Beam. Dataflow se puede usar en lugar de Filebeat para enviar registros directamente de Google Cloud Console. Los equipos de Google y Elastic trabajaron juntos para desarrollar una plantilla de Dataflow lista para usar que envíe los logs y eventos de Pub/Sub a Elastic. Esta plantilla reemplaza el procesamiento ligero como la transformación del formato de datos que previamente realizaba Filebeat de un modo sin servidor; sin otros cambios para los usuarios que antes usaron el pipeline de ingesta de Elasticsearch.          

Este es un resumen del flujo de ingesta de datos. La integración funciona para todos los usuarios, independientemente de que usen el Elastic Stack en Elastic Cloud, Elastic Cloud en Google Cloud Marketplace o un entorno autogestionado.

blog-gcp-integration-pubsub-1.png

Primeros pasos

En esta sección, veremos un tutorial paso a paso sobre cómo dar los primeros pasos con la plantilla de Dataflow para analizar los logs de auditoría de GCP en el Elastic Stack.

Los logs de auditoría contienen información que te ayudan a responder las preguntas "dónde, cómo y cuándo" de cambios operativos que suceden en tu cuenta de Google Cloud. Con nuestra plantilla de Pub/Sub, puedes transmitir logs de auditoría de GCP a Elasticsearch y recopilar información en segundos. 

Comenzaremos por instalar la integración de Elastic GCP directamente desde la UI web de Kibana, que contiene dashboards prediseñados, configuraciones de nodo de ingesta y otros activos que te ayudan a aprovechar al máximo los logs de auditoría que ingestas. 

Antes de configurar la plantilla de Dataflow, tendrás que crear un tema de Pub/Sub y una suscripción desde tu Google Cloud Console, a donde puedes enviar tus logs desde Google Operations Suite.

blog-gcp-integration-pubsub-2.png

Luego, navega a Google Cloud Console para configurar nuestro trabajo de Dataflow

En el producto Dataflow, haz clic en "Create job from template" (Crear trabajo a partir de plantilla) y selecciona "Pub/Sub to Elasticsearch" (Pub/Sub a Elasticsearch) desde el menú desplegable de plantillas de Dataflow.

blog-gcp-integration-pubsub-3.png

Completa los parámetros requeridos, incluida tu ID de cloud y clave de API codificada en Base64 para Elasticsearch. Como estamos transmitiendo logs de auditoría, agrega "auditoría" como parámetro de tipo de logs. Puedes encontrar la ID del cloud en la UI de Elastic Cloud, como se muestra a continuación. La clave de API se puede crear usando la API de creación de clave de API.

blog-gcp-integration-pubsub-4.png

blog-gcp-integration-pubsub-5.png

Haz clic en "Run Job" (Ejecutar trabajo) y espera a que Dataflow ejecute la plantilla, lo cual demora unos minutos. Como puedes ver, no necesitas salir de Google Cloud Console o gestionar agentes.

Ahora navega a Kibana para ver los logs parseados y visualizados en el dashboard [Logs GCP].

blog-gcp-integration-pubsub-6.png

Resumen

Elastic hace que cada vez haya menos fricción y sea más fácil para los clientes ejecutar donde desean y usar lo que desean; y esta integración optimizada con Google Cloud es el ejemplo más reciente. Elastic Cloud amplía el valor del Elastic Stack, lo que permite a los clientes hacer más, más rápido, y esto lo convierte en la mejor forma de experimentar nuestra plataforma. Para obtener más información sobre la integración, visita la documentación de Google. Para dar los primeros pasos con Elastic en Google Cloud, visita Google Cloud Marketplace o elastic.co.