Construire efficacement un système d'analyse du trafic réseau vivo au niveau de l'entreprise

Auteur : Vivo Internet Server Team - Ming Yujia

Avec le développement rapide de l'échelle du réseau, le fait que l'état du réseau soit bon ou non est directement lié au revenu quotidien de l'entreprise, et chaque seconde d'échec entraînera un grand nombre de pertes d'utilisateurs et de pertes économiques. Par conséquent, comment découvrir rapidement les problèmes de réseau et localiser le trafic anormal est devenu un problème prioritaire dans les grandes entreprises, et de nombreuses technologies d'analyse du trafic réseau sont apparues en même temps.

I. Aperçu

Avec le développement rapide de l'échelle du réseau, le fait que l'état du réseau soit bon ou non est directement lié au revenu quotidien de l'entreprise, et chaque seconde d'échec entraînera un grand nombre de pertes d'utilisateurs et de pertes économiques. Chaque entreprise améliore constamment ses propres méthodes de surveillance du réseau, mais dans le processus de construction d'un système de surveillance, elle est inévitablement confrontée aux difficultés suivantes :

  1. D'énormes données de trafic réseau : en raison de la grande échelle et de la complexité du trafic réseau, il est difficile de surveiller et d'analyser efficacement de grandes quantités de données.

  2. Le coût de construction de la collecte et de l'analyse des données de trafic est élevé : pour obtenir des données de trafic précises, une technologie de collecte de données efficace, des dispositifs de stockage de grande capacité et une grande quantité de ressources de développement sont nécessaires, ce qui fait monter en flèche le coût de la surveillance.

  3. Méthode de surveillance unique et manque d'évolutivité : les méthodes de surveillance traditionnelles ne peuvent surveiller que quelques points de données fixes, et il est difficile de les personnaliser et de les étendre pour différents environnements de réseau.

  4. Difficulté à localiser et à résoudre rapidement les problèmes : en raison de la grande quantité de données de trafic réseau et des changements fréquents, il faut souvent beaucoup de temps et d'efforts pour trouver la cause première du problème.

Par conséquent, comment découvrir rapidement les problèmes de réseau et localiser le trafic anormal avec le coût de surveillance le plus bas possible est devenu un problème prioritaire dans les grandes entreprises, et de nombreuses technologies d'analyse du trafic réseau sont apparues en même temps.

La technologie sFlow est une solution tellement efficace et flexible. Il peut extraire certaines informations dans les paquets de données grâce à la technologie d'échantillonnage du trafic, afin de réaliser une surveillance continue d'une grande quantité de données de trafic réseau. Dans le même temps, la technologie sFlow offre également une configuration et une évolutivité flexibles, peut être personnalisée en fonction des besoins réels et prend en charge une variété de périphériques et de protocoles réseau. Ces avantages rendent la technologie sFlow largement utilisée dans la surveillance et la gestion des réseaux modernes.

2. Technologie commune de collecte du trafic réseau

La collecte du trafic réseau principal est principalement divisée en deux types : la collecte complète du trafic et la collecte du trafic par échantillonnage.

2.1 Collecte à plein débit

La collecte de flux complet comprend des méthodes telles que la mise en miroir des ports et l'équipement de division optique. Dans un réseau avec un trafic énorme, l'utilisation de la mise en miroir des ports augmentera non seulement le délai de l'ensemble du lien, mais augmentera également la pression sur l'équipement du réseau lorsque le débit est énorme. Bien que l'équipement de fractionnement optique puisse réduire le délai de liaison, il existe également un seuil de prix d'achat élevé. De plus, en raison de la grande échelle des IDC dans les grandes entreprises, la quantité de données à flux complet augmentera également fortement. Si vous souhaitez effectuer une analyse de données à flux complet via l'auto-recherche, vous avez besoin non seulement d'une certaine quantité de stockage et de calcul, mais aussi un certain nombre de données Le cycle de développement logiciel n'est pas propice à la construction rapide du projet.

2.2 Collecte du flux d'échantillonnage

En l'absence d'un système d'analyse du trafic, les avantages de l'utilisation de l'analyse par échantillonnage se reflètent.Par rapport au trafic complet, son coût de déploiement est faible et le coût de l'analyse des données est faible.Il est très approprié pour le positionnement rapide du trafic anormal et l'analyse des proportions tendancielles dans le réseau. . Ce qui suit compare principalement les avantages et les inconvénients des méthodes d'échantillonnage sFlow et Netflow.

sFlow a une gamme plus large de surveillance du trafic. Dans l'environnement interne IDC qui répond aux exigences matérielles, l'utilisation de sFlow pour l'échantillonnage de la surveillance du trafic peut réduire efficacement la charge sur les périphériques réseau et fournir des méthodes de surveillance du trafic en temps réel pour faire face aux anomalies soudaines du réseau.

3. Conception du système basée sur sFlow

3.1 Conception de base

Si les conditions matérielles sont remplies, la conception de base du système basée sur sFlow est très simple et la boucle fermée de données de l'ensemble du processus peut être réalisée en utilisant l'agent sFlow + le collecteur sFlow + l'analyseur sFlow.

Agent sFlow : en activant la fonctionnalité sFlow sur l'équipement réseau concerné, en définissant des paramètres tels que le taux d'échantillonnage et en formulant l'adresse correspondante de l'extrémité de collecte, le port peut collecter le trafic d'envoi et de réception. Ce qui est plus important du côté de l'agent, c'est de savoir comment déterminer la gamme de périphériques réseau à collecter. Par rapport au déploiement complet sans but des périphériques réseau, il est plus judicieux de déployer des périphériques réseau centraux à la frontière, car tout le trafic externe doit éventuellement passer par les périphériques du réseau frontalier. Dans le cas d'une meilleure surveillance des anomalies de trafic externes, cela peut également réduire la charge de stockage des données.

sFlow collector : Collecte et analyse les datagrammes sFlow collectés et transmis côté agent.

Analyseur sFlow : analyse visuelle et affichage des données formatées pour les administrateurs réseau afin de mener une observation et une analyse efficaces.

image

3.2 Open source + auto-développé : architecture avancée

Après avoir déterminé l'architecture de base, comment sélectionner les composants et étendre les fonctions personnalisées, la solution open source elastiflow nous fournit un bon exemple.L'auteur a étendu la base sur l'open source pour répondre à des fonctions plus personnalisées.

Agent sFlow : utilisez le formulaire de rapport de VIP unifié pour l'échantillonnage du trafic de port (le taux d'échantillonnage officiel doit être de 2 ^ n) et pouvez utiliser la capacité LB de VIP pour l'équilibrage de charge, afin que les paquets sFlow puissent être envoyés de manière uniforme au réseau fixe. port de fin de collecte. La définition de différents taux d'échantillonnage pour différentes lignes de réseau peut garantir une plus grande précision des lignes importantes tout en réduisant le stockage des données.

image

Collecteur sFlow : L'utilisation de la suite ELK pour la collecte de données et l'analyse visuelle est l'une des solutions techniques les plus matures. Par conséquent, du côté de la collecte, nous utilisons logstash pour collecter et analyser les paquets de données natifs. L'auteur d'elastiflow utilise le composant d'analyse de paquets udp-sFlow d'origine dans logstash pour l'analyse des données, mais l'auteur a constaté dans le test réel que bien que cette solution puisse obtenir un format de données mieux structuré, les performances de l'analyse des données sont très médiocres. dans le cas d'une grande quantité de données, cela entraînera une grande quantité de pertes de paquets de données, entraînant une diminution de la précision des données. Cependant, sFlowtool a d'excellentes performances car la couche inférieure est écrite en langage C. Une seule machine physique (32c64g) peut atteindre 10w + tps.Bien que la structure de données après analyse des paquets sFlow soit plus faible, elle peut être utilisée dans le suivi module d'analyse nettoie et structure les données. Un exemple de données analysées par sFlowtool est présenté ci-dessous. Les données via logstash sont envoyées à la file d'attente de messages 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

Analyseur sFlow : En consommant les données de kafka en temps réel, les données sont nettoyées et structurées, et à l'aide de métadonnées tierces, le logiciel définit les données analysées pour un stockage et une analyse ultérieurs.

base de données + affichage : utilisez Elasticsearch + Kibana pour le stockage et la visualisation, et utilisez également mertic beat pour surveiller les performances de collecte de logstash. Kibana, en tant que solution de visualisation de données de type Bi, fournit la plupart des graphiques et tableaux de bord gratuits, qui peuvent être utilisés pour l'analyse visuelle.

3.3 Définition du logiciel d'analyse

Avec les données d'origine, nous avons pu effectuer une analyse de base du trafic de session basée sur certains quintuples d'adresses IP, etc. Mais la valeur que les données de trafic peuvent refléter est bien plus que cela. L'utilisation d'autres plates-formes telles que cmdb dans l'entreprise peut apporter une plus grande valeur à nos données de trafic.

Dimension du périphérique réseau : grâce à l'adresse du commutateur et aux ports entrants et sortants dans les données, la direction entrante et sortante du trafic peut être jugée en fonction de l'index de port du commutateur collecté et configuré. Il est également possible d'attribuer d'autres attributs tels que le canal, la ligne et le nom du périphérique en fonction de l'adresse IP du périphérique réseau.

Dimension IP : Le quintuple d'ip offre une plus grande possibilité d'exploration des données, on peut juger son projet, service et autres informations d'attribution en fonction de l'ip d'attribution, et aussi inversement associer les noms de domaine. Cela peut rapidement localiser la partie commerciale lors de l'analyse et du jugement du trafic anormal, ce qui améliore considérablement l'efficacité de l'exploitation et de la maintenance.

3.4 Stockage et visualisation de compression auto-développés

Étant donné que l'effet de compression des données d'Elasticsearch lui-même n'est pas idéal, cela nous rend énormes et gonflés lors du stockage de données pendant une longue période. De même, Druid, une base de données de type olap, résout très bien ce problème. Une fois les données échantillonnées, elles subissent un traitement structurel strict du côté de l'analyse, ce qui permet d'obtenir une bonne compression des données dans Druid. De plus, la capacité de pré-agrégation de données intégrée de Druid peut également mieux nous aider à réduire la précision des données historiques et à réduire la pression de stockage. Après avoir changé de moteur de stockage, cela signifie qu'il n'est plus possible d'utiliser Kibana pour l'affichage général.L'utilisation du cadre de service Web auto-développé peut également répondre à des scénarios de demande flexibles et réaliser une analyse plus personnalisée.

3.5 Modèle de traitement de flux léger basé sur la conception Celery

Bien que les données de trafic aient été échantillonnées et affinées, le volume global de données reste énorme. Un traitement de flux efficace et rapide, réduisant le délai global du système à moins de 30 secondes, peut aider les gestionnaires de réseau à trouver les problèmes plus rapidement. En plus d'utiliser des outils de traitement de flux traditionnels, nous pouvons également utiliser Celery pour créer une distribution légère, efficace et facile à étendre. cluster de traitement de flux.

image

Celery est un système distribué simple, flexible et fiable qui gère un grand nombre de messages, en se concentrant sur les files d'attente de tâches asynchrones pour le traitement en temps réel, et prend également en charge la planification des tâches. Sur la base des caractéristiques de traitement asynchrone en temps réel du céleri, nous concevons le lien de consommation de celerybeat → observateur → producteur → consommateur pour effectuer le traitement de flux.

Battement de céleri : en tant que déclencheur d'une tâche planifiée, une nouvelle tâche est envoyée à la file d'attente de l'observateur toutes les 1 s.

watcher worker : après avoir placé la tâche dans la file d'attente, transférez-la au producteur et effectuez un contrôle de congestion sur la file d'attente du producteur en fonction de la valeur maximale définie pour la file d'attente.

Travailleur producteur : après avoir placé la tâche dans la file d'attente, il obtiendra les données de trafic collectées à partir de Kafka, les enverra à la file d'attente du consommateur par lots en fonction de la taille du lot et effectuera un contrôle de congestion sur la file d'attente du consommateur en fonction de la valeur maximale définie de La queue.

travailleur consommateur : après avoir placé la tâche dans la file d'attente, selon les informations commerciales dans le cache local/cache partagé, effectuez le nettoyage des données, l'étiquetage commercial et d'autres opérations sur les données collectées, et écrivez-les dans un autre kakfa ou directement dans la base de données.

Chaque rôle et nœud peut communiquer via le courtier Celery pour réaliser le déploiement de cluster distribué. Pour le fonctionnement de l'unité consommateur, eventlet peut être utilisé pour démarrer en mode coroutine afin d'assurer une consommation simultanée élevée du cluster.

4. Scénarios d'application

4.1 Analyse du trafic dans les dimensions de la salle informatique

Grâce à la correspondance IP basée sur la cmdb du réseau, les données de flux sont résumées dans la dimension de la salle informatique et l'analyse globale du trafic externe entrant et sortant de la salle informatique peut être obtenue.Lorsque l'IDC interagit avec l'extérieur, le changement de tendance de la le trafic global est un critère direct pour juger du degré d'occupation de la bande passante.

image

4.2 Association des informations de ligne de réseau

Grâce à la cartographie logique des informations des périphériques réseau basée sur ip + ifindex, les lignes de canal principales peuvent être agrégées et affichées.Pour certains problèmes anormaux tels que les lignes de réseau public et les bandes passantes de ligne dédiées étant pleines, le défaut peut être localisé directement et avec précision en observant l'analyse de la ligne Le premier point dans le temps qui se produit.

image

4.3 Exploration d'informations sur les sessions IP

Bien que sflow n'intercepte que les informations d'en-tête du message et n'inclue pas le paquet de données, le quintuple ip lui-même fournit également une grande valeur d'analyse du trafic réseau.

En utilisant les informations de session, nous pouvons localiser avec précision et efficacité l'attribution IP du trafic anormal.Grâce au port de service ip +, nous pouvons même localiser le service et le processus spécifiques qui ont généré un trafic anormal, afin de prendre la décision suivante. De plus, ip peut également être lié à la CMDB dans l'entreprise pour localiser le groupe de ressources de la ressource à laquelle ip appartient, afin d'obtenir l'analyse de la proportion de trafic généré par différents services/groupes administratifs, ce qui est également propice à la première fois où un trafic anormal se produit Percevez l'activité concernée en peu de temps et effectuez la gestion et le contrôle des notifications.

4.4 Analyse d'attribution IP

En plus de combiner les informations internes, grâce aux informations d'attribution fournies par l'opérateur, nous pouvons vérifier la source d'accès IP, effectuer une analyse d'attribution pertinente et produire un tableau de bord.

image

V. Résumé

Pour réaliser une surveillance et une analyse complètes et en temps réel du réseau, des protocoles et des technologies de surveillance réseau avancés et efficaces doivent être utilisés pour répondre aux demandes croissantes des entreprises. Bien que l'analyse du trafic basée sur sFlow présente de grands avantages dans la construction légère, elle peut également réagir rapidement en fonction des tendances du trafic et des ratios de distribution face à un trafic anormal. Cependant, l'échantillonnage de sFlow lui-même n'inclut pas les informations des paquets de données dans le message.Il ne peut pas fournir un positionnement précis et des solutions pour certaines attaques et défenses de sécurité réseau telles que l'injection SQL et la sécurité des données. Par conséquent, l'analyse complète du trafic devrait également être un élément indispensable du système d'analyse du trafic à l'avenir.La combinaison des deux peut fournir une surveillance du trafic plus complète et plus raffinée et accompagner la sécurité du réseau du centre de données.

6. Perspectives d'avenir

Bien que la technologie sFlow ait été largement utilisée dans le domaine de la surveillance et de la gestion des performances du réseau, sous l'impact de scénarios de trafic réseau à plus grande échelle à l'avenir, davantage de fonctionnalités sont nécessaires :

1. Prend en charge plus de protocoles et d'applications : L'idée de la surveillance sFlow n'est pas seulement applicable au trafic réseau, mais peut également surveiller le trafic des applications, l'environnement de virtualisation, la plate-forme cloud, etc. À l'avenir, la technologie sFlow devrait prendre en charge davantage de protocoles et d'applications pour mieux s'adapter au nouvel environnement réseau.

2. Technologie de collecte de trafic adaptative : La technologie de collecte de trafic de la technologie sFlow est une période fixe, mais à mesure que le trafic réseau change, la collecte à période fixe peut ne pas refléter avec précision l'état en temps réel du réseau. À l'avenir, la technologie de surveillance sFlow devrait prendre en charge la technologie de collecte de trafic adaptative, qui peut ajuster automatiquement le cycle de collecte en fonction des modifications réelles du trafic réseau.

3. Fonction de gestion pratique : la configuration actuelle de sFlow repose davantage sur les administrateurs réseau pour configurer le commutateur et ne peut pas réaliser des fonctions telles que la distribution en un clic, la découverte automatique et le réglage rapide du taux d'échantillonnage. À l'avenir, un système pratique distribution est nécessaire, la plate-forme de gestion sFlow pour les changements de configuration de chargement à chaud.

Je suppose que tu aimes

Origine blog.csdn.net/vivo_tech/article/details/132097894
conseillé
Classement