Logotipo de Zephyrnet

Acelere el conocimiento de los datos con Elastic y Amazon Kinesis Data Firehose

Fecha:

Esta es una publicación de invitado coescrita con Udayasimha Theepireddy de Elastic.

Procesar y analizar datos de registro e Internet de las cosas (IoT) puede ser un desafío, especialmente cuando se trata de grandes volúmenes de datos en tiempo real. Elástico y Manguera de bomberos de datos de Amazon Kinesis son dos herramientas poderosas que pueden ayudar a hacer este proceso más fácil. Por ejemplo, al usar Kinesis Data Firehose para ingerir datos de dispositivos IoT, puede transmitir datos directamente a Elastic para análisis en tiempo real. Esto puede ayudarlo a identificar patrones y anomalías en los datos a medida que ocurren, lo que le permite tomar medidas en tiempo real. Además, al usar Elastic para almacenar y analizar datos de registro, puede buscar y filtrar rápidamente grandes volúmenes de datos de registro para identificar problemas y solucionar problemas.

En esta publicación, exploramos cómo integrar Elastic y Kinesis Data Firehose para optimizar el procesamiento y análisis de datos de registro e IoT. Le mostramos un ejemplo paso a paso de cómo enviar Registros de flujo de VPC a Elastic a través de Kinesis Data Firehose.

Resumen de la solución

El elástico es un Socio de AWS ISV que lo ayuda a encontrar información, obtener información y proteger sus datos cuando se ejecuta en AWS. Elastic ofrece funciones empresariales de búsqueda, observabilidad y seguridad que se basan en una única pila de tecnología flexible que se puede implementar en cualquier lugar.

Kinesis Data Firehose es un servicio popular que ofrece transmisión de datos de más de 20 servicios de AWS, como Núcleo de AWS IoT y Reloj en la nube de Amazon registra en más de 15 herramientas analíticas y de observabilidad como Elastic. Kinesis Data Firehose proporciona una manera rápida y fácil de enviar sus datos de registros de flujo de VPC a Elastic en minutos sin una sola línea de código y sin crear o administrar su propia infraestructura de ingesta y entrega de datos.

Los registros de flujo de VPC capturan la información de tráfico que va y viene de sus interfaces de red en su VPC. Con el lanzamiento del soporte de Kinesis Data Firehose para Elastic, puede analizar sus registros de flujo de VPC con solo unos pocos clics. Kinesis Data Firehose proporciona un verdadero mecanismo sin servidor de extremo a extremo para entregar sus registros de flujo a Elastic, donde puede usar Elastic Dashboards para buscar en esos registros, crear tableros, detectar anomalías y enviar alertas. Los registros de flujo de VPC lo ayudan a responder preguntas como qué porcentaje de su tráfico se descarta y cuánto tráfico se genera para fuentes y destinos específicos.

La integración de Elastic y Kinesis Data Firehose es un proceso sencillo. No hay agentes y latidos. Simplemente configure su flujo de entrega de Firehose para enviar sus datos al punto final de Elastic.

El siguiente diagrama muestra esta configuración específica de cómo ingerir registros de flujo de VPC a través de Kinesis Data Firehose en Elastic.

En el pasado, los usuarios tenían que usar un AWS Lambda función para transformar los datos entrantes de los registros de flujo de VPC en un Servicio de almacenamiento simple de Amazon (Amazon S3) antes de cargarlo en Kinesis Data Firehose o crear una suscripción de CloudWatch Logs que envíe cualquier evento de registro entrante que coincida con los filtros definidos al flujo de entrega de Firehose.

Con esta nueva integración, puede establecer esta configuración directamente desde sus registros de flujo de VPC a Kinesis Data Firehose y a Elastic Cloud. (Tenga en cuenta que Elastic Cloud debe implementarse en AWS).

Analicemos los detalles de la configuración de Kinesis Data Firehose y Elastic, y demostremos la ingesta de datos.

Requisitos previos

Para configurar esta demostración, asegúrese de tener los siguientes requisitos previos:

Recorremos la instalación de los componentes generales de integración de AWS en la implementación de Elastic Cloud para garantizar la conectividad de Kinesis Data Firehose. Referirse a lista completa de servicios compatibles con la integración de Elastic/AWS para obtener más información.

Implementar elástico en AWS

Siga las instrucciones en la página de registro de Elastic para empezar a usar Elastic Cloud.

Una vez que haya iniciado sesión en Elastic Cloud, cree una implementación en AWS. Es importante asegurarse de que la implementación sea en AWS. El flujo de entrega de Firehose se conecta específicamente a un punto de enlace que debe estar en AWS.

Después de crear su implementación, copie el extremo de Elasticsearch para usarlo en un paso posterior.

El punto de enlace debe ser un punto de enlace de AWS, como https://thevaa-cluster-01.es.us-east-1.aws.found.io.

Habilitar la integración AWS de Elastic

En su implementación Integración elástica sección, navegue a la integración de AWS y elija Instalar recursos de AWS.

Configurar un flujo de entrega de Firehose

Cree un nuevo flujo de entrega en la consola de Kinesis Data Firehose. Aquí es donde proporciona el punto final que guardó anteriormente. Consulte la siguiente captura de pantalla para conocer la configuración de destino y, para obtener más detalles, consulte Elige Elastic para tu destino.

En este ejemplo, estamos extrayendo registros de flujo de VPC a través del parámetro de flujo de datos que agregamos (logs-aws.vpcflow-default). El parámetro es_datastream_name se puede configurar con uno de los siguientes tipos de registros:

  • registros-aws.cloudfront_logs-defaultAWS CloudFront los registros
  • registros-aws.ec2_logs-defaultNube informática elástica de Amazon (Amazon EC2) inicia sesión en CloudWatch
  • registros-aws.elb_logs-defaultEquilibrio de carga elástica los registros
  • registros-aws.firewall_logs-defaultCortafuegos de red de AWS los registros
  • registros-aws.route53_public_logs-defaultRuta del Amazonas 53 registros de consultas DNS públicas
  • registros-aws.route53_resolver_logs-default – Registros de consultas y respuestas DNS de Route 53
  • registros-aws.s3access-default – Registro de acceso al servidor de Amazon S3
  • registros-aws.vpcflow-default – Registros de flujo de VPC
  • registros-aws.waf-predeterminadoWAF de AWS los registros

Implementa tu aplicación

Siga las instrucciones del Repositorio GitHub e instrucciones en el Taller de arquitectura web de tres niveles de AWS para implementar su aplicación.

Después de instalar la aplicación, obtenga sus credenciales de AWS para usarlas con la integración de AWS de Elastic.

Hay varias opciones para las credenciales:

Para más detalles, consulte Credenciales de AWS y Permisos de AWS.

Configurar registros de flujo de VPC para enviar a Kinesis Data Firehose

En la VPC de la aplicación que implementó, debe configurar sus registros de flujo de VPC y dirigirlos al flujo de entrega de Firehose.

Validar los registros de flujo de VPC

En la vista de Elastic Observability de los flujos de registro, debería ver los registros de flujo de VPC que ingresan después de unos minutos, como se muestra en la siguiente captura de pantalla.

Analizar registros de flujo de VPC en Elastic

Ahora que tiene registros de flujo de VPC en Elastic Cloud, ¿cómo puede analizarlos? Hay varios análisis que puede realizar en los datos de registro de flujo de VPC:

  • Use las capacidades de Elastic's Analytics Discover para analizar manualmente los datos
  • Use la función de anomalías de Elastic Observability para identificar anomalías en los registros
  • Use un panel listo para usar para analizar más a fondo los datos

Use Elastic's Analytics Discover para analizar datos manualmente

En Elastic Analytics, puede buscar y filtrar sus datos, obtener información sobre la estructura de los campos y mostrar sus hallazgos en una visualización. También puede personalizar y guardar sus búsquedas y colocarlas en un tablero.

Para obtener una comprensión completa de Discover y todas las capacidades de análisis de Elastic, consulte Descubrir.

Para los registros de flujo de VPC, es importante comprender lo siguiente:

  • Cuántos registros fueron aceptados o rechazados
  • Dónde se producen posibles infracciones de seguridad (IP de origen desde fuera de la VPC)
  • ¿Qué puerto se consulta generalmente?

Para nuestro ejemplo, filtramos los registros en lo siguiente:

  • Nombre del flujo de entregaAWS-3-TIER-APP-VPC-LOGS
  • Acción de registro de flujo de VPCREJECT
  • Periodo de tiempo - 5 horas
  • Interfaz de red de VPC – Interfaces de servidor web 1 y servidor web 2

Queremos ver qué direcciones IP intentan acceder a nuestros servidores web. A partir de eso, queremos entender qué direcciones IP estamos obteniendo más REJECT acciones de. Simplemente encontramos el source.ip campo y puede obtener rápidamente un desglose que muestre 185.156.73.54 es el más rechazado durante las últimas 3 o más horas en las que hemos activado los registros de flujo de VPC.

Además, podemos crear una visualización eligiendo Visualizar. Obtenemos el siguiente gráfico de anillos, que podemos agregar a un tablero.

Además de las direcciones IP, también queremos ver qué puerto está siendo accedido en nuestros servidores web.

Seleccionamos el campo puerto de destino, y el pop-up nos muestra ese puerto 8081 está siendo apuntado. Este puerto se usa generalmente para la administración de Apache Tomcat. Este es un posible problema de seguridad, sin embargo, el puerto 8081 está desactivado para el tráfico externo, por lo tanto, el REJECT.

Detectar anomalías en los registros de Elastic Observability

Además de Discover, Elastic Observability brinda la capacidad de detectar anomalías en los registros mediante el aprendizaje automático (ML). La característica tiene las siguientes opciones:

  • Tasa de registro – Detecta automáticamente tasas de entrada de registro anómalas
  • Categorización – Categoriza automáticamente los mensajes de registro

Para nuestro registro de flujo de VPC, habilitamos ambas funciones. Cuando observamos lo que se detectó para tasas de entrada de registro anómalas, obtenemos los siguientes resultados.

Elastic detectó de inmediato un aumento en los registros cuando activamos los registros de flujo de VPC para nuestra aplicación. El cambio de tasa se detecta porque también estamos recopilando registros de flujo de VPC de otra aplicación durante un par de días antes de agregar la aplicación en esta publicación.

Podemos profundizar en esta anomalía con ML y analizar más.

Para obtener más información sobre el análisis de ML que puede utilizar con sus registros, consulte Aprendizaje automático.

Debido a que sabemos que existe un pico, también podemos usar la capacidad de Elastic AIOps Labs Explain Log Rate Spikes. Además, los hemos agrupado para ver qué está causando algunos de los picos.

En la captura de pantalla anterior, podemos observar que una interfaz de red específica envía más flujos de registro de VPC que otras. Podemos profundizar más en esto en Descubrir.

Usar el panel de registro de flujo de VPC

Finalmente, Elastic también proporciona un panel de control listo para usar para mostrar las principales direcciones IP que llegan a su VPC, geográficamente de dónde provienen, la serie temporal de los flujos y un resumen de los rechazos del registro de flujo de VPC dentro del marco de tiempo. .

Puede mejorar este tablero de referencia con las visualizaciones que encuentre en Descubrir, como discutimos anteriormente.

Conclusión

Esta publicación demostró cómo configurar una integración con Kinesis Data Firehose y Elastic para el monitoreo eficiente de la infraestructura de los registros de flujo de VPC en los paneles de Elastic Kibana. Elastic ofrece opciones de implementación flexibles en AWS, compatible con software como servicio (SaaS), AWS Marketplacey traiga sus propias implementaciones de licencia (BYOL). Elastic también ofrece ofertas privadas de AWS Marketplace. Tiene la opción de implementar y ejecutar el Elastic Stack usted mismo dentro de su cuenta de AWS, ya sea gratis o con una suscripción paga de Elástico. Para comenzar, visite la consola de Kinesis Data Firehose y especifique Elastic como destino. Para obtener más información, explore la Guía para desarrolladores de Amazon Kinesis Data Firehose.


Acerca de los autores

Udayasimha Theepireddy es Arquitecto Principal de Soluciones de Elastic, donde trabaja con los clientes para resolver problemas tecnológicos del mundo real utilizando los servicios de Elastic y AWS. Tiene una sólida formación en tecnología, negocios y análisis.

Antony Prasad Thevaraj es Arquitecto de Soluciones para Socios Sr. en Datos y Análisis en AWS. Tiene más de 12 años de experiencia como ingeniero de Big Data y ha trabajado en la construcción de canalizaciones complejas de ETL y ELT para varias unidades de negocios.

Mostafa Mansur es Gerente Principal de Producto - Tecnología en Amazon Web Services, donde trabaja en Amazon Kinesis Data Firehose. Se especializa en desarrollar experiencias de productos intuitivas que resuelven desafíos complejos para los clientes a escala. Cuando no está trabajando arduamente en Amazon Kinesis Data Firehose, probablemente encontrará a Mostafa en la cancha de squash, donde le encanta enfrentarse a los retadores y perfeccionar sus lanzamientos.

punto_img

Información más reciente

punto_img