Construya eficientemente un sistema de análisis de tráfico de red de nivel empresarial vivo

Autor: Vivo Internet Server Team - Ming Yujia

Con el rápido desarrollo de la escala de la red, si el estado de la red es bueno o no, está directamente relacionado con los ingresos diarios de la empresa, y cada segundo de falla dará lugar a una gran cantidad de pérdidas económicas y de usuarios. Por lo tanto, cómo descubrir rápidamente problemas de red y localizar tráfico anormal se ha convertido en un problema prioritario en las grandes empresas, y al mismo tiempo han surgido muchas tecnologías de análisis de tráfico de red.

I. Resumen

Con el rápido desarrollo de la escala de la red, si el estado de la red es bueno o no, está directamente relacionado con los ingresos diarios de la empresa, y cada segundo de falla dará lugar a una gran cantidad de pérdidas económicas y de usuarios. Cada empresa mejora constantemente sus propios métodos de monitoreo de red, pero en el proceso de construcción de un sistema de monitoreo, inevitablemente enfrenta las siguientes dificultades :

  1. Enormes datos de tráfico de red: debido a la gran escala y complejidad del tráfico de red, es difícil monitorear y analizar de manera efectiva grandes cantidades de datos.

  2. El costo de construcción de la recopilación y el análisis de datos de tráfico es alto: para obtener datos de tráfico precisos, se requiere una tecnología de recopilación de datos eficiente, dispositivos de almacenamiento de gran capacidad y una gran cantidad de recursos de desarrollo, lo que hace que el costo del monitoreo se dispare.

  3. Método de monitoreo único y falta de escalabilidad: los métodos de monitoreo tradicionales solo pueden monitorear algunos puntos de datos fijos, y es difícil personalizarlos y expandirlos para diferentes entornos de red.

  4. Dificultad para localizar y resolver problemas rápidamente: debido a la gran cantidad de datos de tráfico de red y los cambios frecuentes, a menudo lleva mucho tiempo y esfuerzo encontrar la causa raíz del problema.

Por lo tanto, cómo descubrir rápidamente los problemas de red y localizar el tráfico anormal con el menor costo de monitoreo posible se ha convertido en un problema prioritario en las grandes empresas, y al mismo tiempo han surgido muchas tecnologías de análisis de tráfico de red.

La tecnología sFlow es una solución tan eficiente y flexible. Puede extraer alguna información en paquetes de datos a través de la tecnología de muestreo de tráfico, para realizar un monitoreo continuo de una gran cantidad de datos de tráfico de red. Al mismo tiempo, la tecnología sFlow también tiene una configuración y escalabilidad flexibles, se puede personalizar según las necesidades reales y es compatible con una variedad de dispositivos y protocolos de red. Estas ventajas hacen que la tecnología sFlow sea ampliamente utilizada en la gestión y supervisión de redes modernas.

2. Tecnología de recolección de tráfico de red común

La recopilación de tráfico de la red principal se divide principalmente en dos tipos: recopilación de tráfico completo y recopilación de tráfico de muestreo.

2.1 Recolección de flujo completo

La recopilación de flujo completo incluye métodos como duplicación de puertos y equipos de división óptica. En una red con un tráfico enorme, el uso de la duplicación de puertos no solo aumentará el retraso de todo el enlace, sino que también aumentará la presión sobre los dispositivos de red cuando el rendimiento sea enorme. Aunque el equipo de división óptica puede reducir la demora del enlace, también existe un umbral de precio de compra alto. Además, debido a la gran escala de los IDC en las grandes empresas, la cantidad de datos de flujo completo también aumentará considerablemente.Si desea realizar un análisis de datos de flujo completo a través de la autoinvestigación, no solo necesita ciertos recursos informáticos y de almacenamiento , pero también cierto El ciclo de desarrollo de software no es propicio para la construcción rápida del proyecto.

2.2 Recolección de flujo de muestreo

En ausencia de un sistema de análisis de tráfico, las ventajas de usar el análisis de muestreo se reflejan. En comparación con el tráfico completo, su costo de implementación es bajo y el costo del análisis de datos es pequeño. Es muy adecuado para el posicionamiento rápido del tráfico anormal y el análisis. de proporciones de tendencia en la red. A continuación se comparan principalmente las ventajas y desventajas de los métodos de muestreo sFlow y Netflow.

sFlow tiene una gama más amplia de monitoreo de tráfico. En el entorno interno de IDC que cumple con los requisitos de hardware, el uso de sFlow para muestrear el monitoreo del tráfico puede reducir de manera efectiva la carga en los dispositivos de red y proporcionar métodos de monitoreo de tráfico en tiempo real para tratar anomalías repentinas en la red.

3. Diseño del sistema basado en sFlow

3.1 Diseño básico

Si se cumplen las condiciones del hardware, el diseño básico del sistema basado en sFlow es muy simple, y el ciclo cerrado de datos de todo el proceso se puede realizar utilizando el agente sFlow + el colector sFlow + el analizador sFlow.

Agente sFlow : al habilitar la capacidad sFlow en el equipo de red correspondiente, establecer parámetros como la relación de muestreo y formular la dirección correspondiente del extremo de recopilación, el puerto puede recopilar el tráfico de envío y recepción. Lo que es más importante en el lado del agente es cómo determinar el rango de dispositivos de red que se recopilarán. En comparación con la implementación completa sin propósito de dispositivos de red, es más significativo implementar dispositivos de red central en la frontera, porque todo el tráfico externo debe eventualmente pasar a través de los dispositivos de red fronterizos. En el caso de un mejor seguimiento de las anomalías del tráfico externo, también puede reducir la carga del almacenamiento de datos.

Colector de sFlow : recopile y analice los datagramas de sFlow recopilados y transmitidos por el lado del agente.

Analizador sFlow : análisis visual y visualización de datos formateados para que los administradores de red realicen una observación y un análisis efectivos.

imagen

3.2 Código abierto + desarrollo propio: arquitectura avanzada

Después de determinar la arquitectura básica, cómo seleccionar los componentes y expandir las funciones personalizadas, la solución de código abierto elastiflow nos brinda un buen ejemplo. El autor ha ampliado la base del código abierto para cumplir con funciones más personalizadas.

Agente sFlow : use el formulario de notificación de VIP unificado para el muestreo del tráfico del puerto (la relación de muestreo oficial debe ser 2^n) y puede usar la capacidad LB de VIP para equilibrar la carga, de modo que los paquetes sFlow se puedan enviar de manera uniforme a la red fija. puerto del extremo de la colección. Establecer diferentes proporciones de muestreo para diferentes líneas de red puede garantizar una mayor precisión de las líneas importantes al tiempo que reduce el almacenamiento de datos.

imagen

Colector sFlow : el uso de la suite ELK para la recopilación de datos y el análisis visual es una de las soluciones técnicas más maduras. Por lo tanto, en el lado de la recopilación, usamos logstash para recopilar y analizar paquetes de datos nativos. El autor de elastiflow usa el componente original de análisis de paquetes udp-sFlow en logstash para el análisis de datos, pero el autor descubrió en pruebas reales que aunque esta solución puede obtener un formato de datos mejor estructurado, es muy pobre en el rendimiento del análisis de datos. en el caso de una gran cantidad de datos, provocará una gran cantidad de pérdida de paquetes de datos, lo que resultará en una disminución de la precisión de los datos. Sin embargo, sFlowtool tiene un rendimiento excelente porque la capa inferior está escrita en lenguaje C. Una sola máquina física (32c64g) puede alcanzar 10w+tps. Aunque la estructura de datos después de analizar los paquetes de sFlow es más débil, se puede usar en el seguimiento módulo de análisis limpia y estructura los datos. A continuación se muestra un ejemplo de datos analizados por sFlowtool. Los datos a través de logstash se envían a la cola de mensajes de kafka.

[root@server src]# ./sFlowtool -l
FLOW,10.0.0.254,0,0,00902773db08,001083265e00,0x0800,0,0,10.0.0.1,10.0.0.254,17,0x00,64,35690,161,0x00,143,125,80
FLOW后的字段释义如下
agent_address
inputPort
outputPort
src_MAC
dst_MAC
ethernet_type
in_vlan
out_vlan
src_IP
dst_IP
IP_protocol
ip_tos
ip_ttl
udp_src_port OR tcp_src_port OR icmp_type
udp_dst_port OR tcp_dst_port OR icmp_code
tcp_flags
packet_size
IP_size
sampling_rate

Analizador sFlow : al consumir datos de kafka en tiempo real, los datos se limpian y estructuran, y con la ayuda de metadatos de tres partes, el software define los datos analizados para su posterior almacenamiento y análisis.

base de datos+pantalla : use Elasticsearch+Kibana para almacenamiento y visualización, y también use mertic beat para monitorear el rendimiento de recopilación de logstash. Kibana, como una solución de visualización de datos de tipo Bi, proporciona la mayoría de los gráficos y tableros de uso gratuito, que se pueden usar para el análisis visual.

3.3 Definición del software de análisis

Con los datos originales, hemos podido realizar un análisis básico del tráfico de sesión basado en algunos quintuples de ip, etc. Pero el valor que los datos de tráfico pueden reflejar es mucho más que eso. El uso de otras plataformas como cmdb en la empresa puede proporcionar un mayor valor para nuestros datos de tráfico.

Dimensión del dispositivo de red : a través de la dirección del conmutador y los puertos de entrada y salida en los datos, la dirección de entrada y salida del tráfico se puede juzgar de acuerdo con el índice del puerto del conmutador recopilado y configurado. También es posible asignar otros atributos como el canal, la línea y el nombre del dispositivo en función de la IP del dispositivo de red.

Dimensión IP : El quíntuple IP proporciona una mayor posibilidad de explorar datos. Podemos juzgar su proyecto, departamento y otra información de atribución de acuerdo con la IP de atribución, y también asociar nombres de dominio de forma inversa. Esto puede ubicar rápidamente a la parte comercial al analizar y juzgar el tráfico anormal, lo que mejora en gran medida la eficiencia de la operación y el mantenimiento.

3.4 Visualización y almacenamiento de compresión de desarrollo propio

Dado que el efecto de compresión de datos de Elasticsearch en sí mismo no es ideal, nos hace enormes e inflados cuando almacenamos datos durante mucho tiempo. En consecuencia, Druid, una base de datos de tipo olap, resuelve este problema muy bien.Después de muestrear los datos, se somete a un procesamiento estructural estricto en el lado del análisis, lo que puede lograr una buena compresión de datos en Druid. Además, la capacidad de agregación previa de datos integrada de Druid también puede ayudarnos a reducir la precisión de los datos históricos y reducir la presión de almacenamiento. Después de cambiar el motor de almacenamiento, significa que ya no es posible usar Kibana para visualización general.El uso del marco de trabajo de servicio web desarrollado por sí mismo también puede responder a escenarios de demanda flexibles y lograr un análisis más personalizado.

3.5 Modelo de procesamiento de flujo ligero basado en el diseño de apio

Aunque los datos de tráfico han sido muestreados y refinados, el volumen total de datos sigue siendo enorme. El procesamiento de transmisión eficiente y rápido, que reduce el retraso general del sistema a 30 segundos, puede ayudar a los administradores de red a encontrar problemas más rápido. Además de usar las herramientas tradicionales de procesamiento de transmisión, también podemos usar Celery para crear una distribución liviana, eficiente y fácil de expandir clúster de procesamiento de flujo.

imagen

Celery es un sistema distribuido simple, flexible y confiable que maneja una gran cantidad de mensajes, se enfoca en las colas de tareas asincrónicas para el procesamiento en tiempo real y también admite la programación de tareas. Con base en las características de procesamiento asíncrono en tiempo real del apio, diseñamos el enlace de consumo de celerybeat → observador → productor → consumidor para realizar el procesamiento de flujo.

Celery beat : como desencadenante de una tarea programada, se envía una nueva tarea a la cola del observador cada 1 s.

trabajador observador : después de poner la tarea en la cola, reenviarla al productor y realizar el control de congestión en la cola del productor de acuerdo con el valor máximo establecido de la cola.

Trabajador productor: después de poner la tarea en la cola, obtendrá los datos de tráfico recopilados de Kafka, los enviará a la cola del consumidor en lotes de acuerdo con el tamaño del lote y realizará el control de congestión en la cola del consumidor de acuerdo con el valor máximo establecido de la cola.

trabajador del consumidor : después de poner la tarea en la cola, de acuerdo con la información comercial en el caché local/caché compartido, realice la limpieza de datos, el etiquetado comercial y otras operaciones en los datos recopilados, y escríbalos en otro kakfa o directamente en la base de datos.

Cada rol y nodo pueden comunicarse a través de Celery Broker para realizar una implementación de clúster distribuido. Para la operación de la unidad de consumo, se puede usar eventlet para comenzar en un modo de rutina para garantizar un alto consumo simultáneo del clúster.

4. Escenarios de aplicación

4.1 Análisis de tráfico en las dimensiones de la sala de computación

A través de la coincidencia de ip basada en la red cmdb, los datos de tráfico se resumen en la dimensión de la sala de computadoras, y se puede obtener el análisis general del tráfico externo entrante y saliente de la sala de computadoras.Cuando el IDC interactúa con el exterior, el cambio de tendencia de el tráfico total es un criterio directo para juzgar el grado de ocupación del ancho de banda.

imagen

4.2 Asociación de información de línea de red

A través del mapeo de información lógica de los dispositivos de red basados ​​en ip+ifindex, las líneas del canal central se pueden agregar y mostrar. Para algunos problemas anormales, como líneas de red pública y anchos de banda de línea dedicados llenos, la falla se puede ubicar directamente y con precisión observando el análisis de línea El primer punto en el tiempo que ocurre.

imagen

4.3 Minería de información de sesión IP

Aunque sflow solo intercepta la información del encabezado del mensaje y no incluye el paquete de datos, el quíntuple ip en sí también proporciona un gran valor de análisis de tráfico de red.

Utilizando la información de la sesión, podemos localizar con precisión y eficacia la atribución de ip del tráfico anómalo. A través de ip + puerto de servicio, incluso podemos localizar el servicio específico y el proceso que generó el tráfico anómalo, para tomar la decisión del siguiente paso. Además, ip también se puede vincular con la CMDB en la empresa para ubicar el grupo de recursos del recurso al que pertenece ip, a fin de obtener el análisis de la proporción de tráfico generado por diferentes departamentos/grupos administrativos, que también es propicio a la primera vez que ocurre un tráfico anormal Perciba el negocio relevante en poco tiempo y lleve a cabo la gestión y el control de notificaciones.

4.4 Análisis de atribución de IP

Además de combinar información interna, a través de la información de atribución proporcionada por el operador, podemos verificar la fuente de acceso IP, realizar análisis de atribución relevantes y producción de Dashboard.

imagen

V. Resumen

Para lograr un monitoreo y análisis integral y en tiempo real de la red, se debe confiar en los protocolos y tecnologías de monitoreo de red avanzados y efectivos para satisfacer las crecientes demandas de los negocios. Si bien el análisis de tráfico basado en sFlow tiene grandes ventajas en la construcción liviana, también puede responder rápidamente en función de las tendencias del tráfico y los índices de distribución frente al tráfico anormal. Sin embargo, el muestreo de sFlow en sí mismo no incluye la información de los paquetes de datos en el mensaje, por lo que no puede proporcionar un posicionamiento preciso ni soluciones para algunos ataques y defensas contra la seguridad de la red, como la inyección SQL y la seguridad de los datos. Por lo tanto, el análisis de tráfico completo también debe ser una parte indispensable del sistema de análisis de tráfico en el futuro.La combinación de los dos puede proporcionar un monitoreo de tráfico más completo y refinado y escoltar la seguridad de la red del centro de datos.

6. Perspectivas de futuro

Aunque la tecnología sFlow se ha utilizado ampliamente en el campo de la supervisión y gestión del rendimiento de la red, bajo el impacto de escenarios de tráfico de red a mayor escala en el futuro, se requieren más capacidades:

1. Admite más protocolos y aplicaciones : la idea de monitoreo sFlow no solo es aplicable al tráfico de red, sino que también puede monitorear el tráfico de aplicaciones, el entorno de virtualización, la plataforma en la nube, etc. En el futuro, la tecnología sFlow debería admitir más protocolos y aplicaciones para adaptarse mejor al nuevo entorno de red.

2. Tecnología de recopilación de tráfico adaptable : la tecnología de recopilación de tráfico de la tecnología sFlow es un período fijo, pero a medida que cambia el tráfico de la red, es posible que la recopilación del período fijo no refleje con precisión el estado en tiempo real de la red. En el futuro, la tecnología de monitoreo sFlow debería ser compatible con la tecnología de recopilación de tráfico adaptable, que puede ajustar automáticamente el ciclo de recopilación de acuerdo con los cambios reales en el tráfico de la red.

3. Función de administración conveniente : la configuración actual de sFlow depende más de los administradores de red para configurar el conmutador y no puede realizar funciones como la distribución con un solo clic, el descubrimiento automático y el ajuste rápido de la relación de muestreo. Se necesita distribución de comando, la plataforma de administración sFlow para cambios de configuración de carga en caliente.

Supongo que te gusta

Origin blog.csdn.net/vivo_tech/article/details/132097894
Recomendado
Clasificación