NetFlow Monitoring

Aperçu

La vue NetFlow dans la surveillance des dispositifs réseau offre une visibilité sur les flux de trafic réseau collectés à partir des dispositifs qui exportent des données de flux (par exemple, des routeurs, des pare-feu ou des commutateurs). Vous pouvez analyser le volume de trafic, identifier les principaux émetteurs et comprendre comment les données circulent dans votre réseau.

La vue NetFlow affiche des métriques de trafic agrégées par dispositif et par interface. Utilisez-la pour identifier quels dispositifs ou interfaces consomment le plus de bande passante, génèrent le plus de paquets ou contribuent aux pics de trafic.

La page de surveillance NetFlow contient une légende repliable pour le volume de trafic, la santé des dispositifs, les flux et plus encore.

Navigation latérale

Utilisez la navigation à gauche pour explorer d’autres vues NetFlow :

  • Volume de trafic : Métriques de flux globales par dispositif et par interface.
  • Santé des dispositifs : État et utilisation des dispositifs surveillés.
  • Flux : Enregistrements de flux individuels détaillés.
  • Conversations : Paires source-destination agrégées.
  • Systèmes autonomes : Données de flux regroupées par numéros de systèmes autonomes (ASN).
  • Géolocalisation IP : Données de flux regroupées par origine/destination géographique.
  • Ports source / Ports de destination / Protocoles / Drapeaux : Répartition du trafic par métadonnées de paquets.

Installation

Pour utiliser la surveillance NetFlow avec la surveillance des dispositifs réseau, assurez-vous d’utiliser la version Agent 7.45 ou plus récente.

Remarque : La configuration de la collecte de métriques à partir de la surveillance des dispositifs réseau n’est pas une exigence pour l’envoi de données NetFlow, bien qu’elle soit fortement recommandée car ces données supplémentaires peuvent être utilisées pour enrichir vos enregistrements de flux avec des informations telles que le nom du dispositif, le modèle et le fournisseur, ainsi que le nom de l’interface entrante/sortante.

Configuration

Pour configurer vos dispositifs afin d’envoyer du trafic NetFlow, jFlow, sFlow ou IPFIX au serveur Agent NetFlow, vos dispositifs doivent être configurés pour envoyer le trafic à l’adresse IP sur laquelle l’Agent Datadog est installé, spécifiquement les flow_type et port.

  1. Modifiez votre fichier de configuration de l’Agent datadog.yaml pour activer NetFlow :
network_devices:
  netflow:
    enabled: true
    listeners:
      - flow_type: netflow9   # choices: netflow5, netflow9, ipfix, sflow5
        port: 2055            # devices need to be configured to the same port number
      - flow_type: netflow5
        port: 2056
      - flow_type: ipfix
        port: 4739
      - flow_type: sflow5
        port: 6343
    ## Set to true to enable reverse DNS enrichment of private source and destination IP addresses in NetFlow records
    reverse_dns_enrichment_enabled: false
  1. Après avoir enregistré vos modifications, redémarrez l’Agent.

    Remarque : Assurez-vous que vos règles de pare-feu permettent le trafic UDP entrant sur les ports configurés.

Agrégation

L’Agent Datadog agrège automatiquement les données reçues dans NetFlow pour limiter le nombre d’enregistrements envoyés à la plateforme tout en maintenant la plupart des informations. Par défaut, les enregistrements de flux ayant les mêmes identifiants, tels que source, destination address, port et protocol, sont agrégés ensemble par intervalles de cinq minutes. De plus, l’Agent Datadog peut détecter les ports éphémères et les supprimer. En conséquence, vous pouvez voir des flux avec port:*.

Enrichissement

Vos données NetFlow sont traitées par le backend Datadog et enrichies avec les métadonnées disponibles de vos appareils et interfaces. L’enrichissement est basé sur l’adresse IP de l’exportateur NetFlow et les index des interfaces. Pour désambiguïser les collisions possibles entre les adresses IP privées réutilisées, vous pouvez configurer un namespace différent pour chaque fichier de configuration d’Agent (avec le paramètre network_devices.namespace).

Si l’adresse IP de l’exportateur NetFlow correspond à l’une des adresses IP du dispositif, mais pas à celle configurée dans l’intégration SNMP, Datadog tente de localiser le dispositif auquel appartient l’adresse IP de l’exportateur et enrichit vos données NetFlow avec celle-ci tant que la correspondance est unique.

Enrichissement IP du fournisseur de cloud

Datadog enrichit les IP avec le service et la région du fournisseur de cloud public pour les adresses IPv4, afin que vous puissiez filtrer les enregistrements de flux d’un service et d’une région spécifiques.

Menu de filtre Netflow affichant le nom du fournisseur de cloud, la région et le service

Enrichissement des ports

Datadog enrichit les ports dans NetFlow avec les données de l’IANA (Internet Assigned Numbers Authority) pour résoudre les mappages de ports bien connus (comme Postgres sur 5432 et HTTPS sur 443).

Enrichissement des ports personnalisés

Vous pouvez également ajouter vos propres enrichissements personnalisés pour mapper les ports et les protocoles à des applications spécifiques (par exemple, si un service personnalisé fonctionne sur un port spécifique). Cela facilite l’interprétation et l’interrogation des données NetFlow par les ingénieurs réseau et leurs équipes avec des noms lisibles par l’homme.

Dans l’onglet Configuration de NetFlow, cliquez sur + Ajouter un enrichissement pour télécharger le fichier CSV contenant vos enrichissements personnalisés.

La fenêtre modale de mappage des nouveaux enrichissements dans l'onglet de configuration de NetFlow

Enrichissement IP personnalisé

Vous pouvez également ajouter vos propres enrichissements personnalisés pour mapper les IP et les CIDR à des tags personnalisés (par exemple, pour catégoriser les services fonctionnant sur des adresses IP spécifiques). Cela facilite l’interprétation et l’interrogation des données NetFlow par les ingénieurs réseau et leurs équipes avec des noms lisibles par l’homme.

Depuis la page des paramètres Enrichissement, cliquez sur + Ajouter un enrichissement pour ajouter des mappages manuellement ou télécharger un fichier CSV pour ajouter des mappages en masse.

Enrichissement IP privé DNS inversé

Activez l’enrichissement IP privé DNS inversé pour effectuer des recherches DNS pour les noms d’hôtes associés aux adresses IP source ou destination. Lorsqu’il est activé, l’Agent effectue des recherches DNS inversées sur les IP source et destination dans les plages d’adresses privées, enrichissant les enregistrements NetFlow avec les noms d’hôtes correspondants.

Par défaut, l’enrichissement IP DNS inversé dans votre fichier datadog.yaml est désactivé. Pour activer, consultez la section Configuration de cette page.

Recherchez DNS dans le menu + Filtrer pour localiser les flux associés à l’enrichissement IP DNS inversé :

Menu de filtrage amélioré pour afficher les facettes de destination et de source DNS inversé

Remarque : Les entrées DNS inversées sont mises en cache et soumises à une limitation de débit pour minimiser les requêtes DNS et réduire la charge sur les serveurs DNS. Pour plus d’options de configuration, y compris la modification de la mise en cache par défaut et de la limitation de débit, consultez le fichier de configuration complet.

Détails IP

Dans la vue Conversations, vous pouvez voir l’adresse IP publique de l’adresse IP de destination. Survolez l’IP pour afficher des métadonnées riches sur l’IP et un lien vers Voir les connexions réseau associées où vous pouvez inspecter la connectivité plus en détail.

Survolez une adresse IP pour afficher les détails de l'IP et voir les connexions réseau associées.

Diagramme de flux

Vous pouvez visualiser les flux dans la surveillance NetFlow en cliquant sur le menu Flux et en survolant un flux de la liste pour voir des informations supplémentaires sur l’adresse IP source, le nom de l’interface d’entrée, le nom de l’appareil et l’adresse IP de destination à travers les connexions réseau associées.

Survolez un flux agrégé d'un appareil émettant du netflow pour accéder aux connexions réseau associées

Moniteur NetFlow

Cliquez sur l’icône Créer un moniteur depuis n’importe quelle vue pour créer un moniteur NetFlow. Lors de la création du moniteur, considérez les champs suivants par rapport à l’adresse IP source ou à l’adresse IP de destination du point de vue de l’appareil. Ces champs fournissent des informations sur les modèles de trafic réseau et aident à optimiser les performances et la sécurité.

Vue des flux dans la surveillance NetFlow avec le lien de création de moniteur mis en évidence.

Informations sur l’interface

Les champs suivants représentent des détails sur les interfaces d’entrée et de sortie.

Nom du champDescription du champ
Alias de l’interface de sortieAlias de l’interface de sortie.
Index de l’interface de sortieIndex de l’interface de sortie.
Nom de l’interface de sortieNom de l’interface de sortie.
Alias de l’interface d’entréeAlias de l’interface d’entrée.
Index de l’interface d’entréeIndex de l’interface d’entrée.
Nom de l’interface d’entréeNom de l’interface d’entrée.

Informations sur le dispositif

Les champs suivants représentent des détails liés au dispositif générant des enregistrements NetFlow.

Nom du champDescription du champ
Adresse IP du dispositif
Adresse IP de l’exportateurAdresse IP à partir de laquelle proviennent les paquets NetFlow.
Modèle de l’appareilModèle de l’appareil.
Nom de l’appareilNom de l’appareil.
Espace de noms de l’appareilEspace de noms de l’appareil.
Fournisseur de l’appareilFournisseur de l’appareil.

Détails du flux

Les champs suivants représentent les caractéristiques du flux réseau.

Nom du champDescription du champ
DirectionIndique si le flux est entrant ou sortant.
Heure de débutHorodatage du premier paquet réseau entre les adresses IP source et destination.
Heure de finHorodatage du dernier paquet réseau entre les adresses IP source et destination.
Type d’EtherType d’encapsulation de trame Ethernet (IPv4 ou IPv6).
Type de fluxType de format de données NetFlow (IPFIX, sFlow5, NetFlow5, NetFlow9 ou Inconnu).
Protocole IPProtocole utilisé pour la communication (tel que ICMP, TCP ou UDP).
Adresse IP du prochain sautAdresse IP du prochain saut dans le chemin réseau.
Drapeau TCPUnion de tous les drapeaux TCP observés pendant la durée du flux.
OctetsNombre total d’octets transférés.
PaquetsNombre total de paquets transférés.

En plus des champs, vous pouvez également utiliser des facettes prêtes à l’emploi pour commencer à analyser les modèles de trafic en fonction des adresses IP de destination et de source NetFlow.

Facettes IP de destination NetFlow

Nom de la facetteDescription de la facette
Domaine AS de destinationLe domaine associé au Système Autonome (AS) auquel appartient l’IP de destination.
Nom AS de destinationLe nom du Système Autonome (AS) auquel appartient l’IP de destination.
Numéro AS de destinationLe numéro attribué au Système Autonome (AS) auquel appartient l’IP de destination.
Route AS de destinationLes informations de route associées au Système Autonome (AS) auquel appartient l’IP de destination.
Type AS de destinationLe type de Système Autonome (AS) auquel appartient l’IP de destination (tel que transit, client, pair).
Nom de l’application de destinationLe nom de l’application associée à l’IP de destination.
Nom de la ville de destinationLe nom de la ville associée à l’IP de destination.
Nom du fournisseur de cloud de destinationLe nom du fournisseur de cloud associé à l’IP de destination.
Région du fournisseur de cloud de destinationLa région du fournisseur de cloud associée à l’IP de destination.
Service du fournisseur de cloud de destinationLe service fourni par le fournisseur de cloud associé à l’IP de destination.
Code de continent de destinationLe code représentant le continent associé à l’IP de destination.
Nom de continent de destinationLe nom du continent associé à l’IP de destination.
Code ISO du pays de destinationLe code ISO représentant le pays associé à l’IP de destination.
Nom du pays de destinationLe nom du pays associé à l’IP de destination.
IP de destinationL’adresse IP de destination.
Latitude de destinationLa coordonnée de latitude associée à l’IP de destination.
Longitude de destinationLa coordonnée de longitude associée à l’IP de destination.
MAC de destinationL’adresse de contrôle d’accès au média (MAC) associée à l’IP de destination.
Masque de destinationLe masque de sous-réseau associé à l’adresse IP de destination.
Port de destinationLe numéro de port de destination.
Nom d’hôte DNS inverse de destinationLe nom d’hôte DNS associé à l’adresse IP de destination.
Code ISO de la sous-division de destinationLe code ISO représentant la sous-division (comme l’état ou la province) associée à l’adresse IP de destination.
Nom de la sous-division de destinationLe nom de la sous-division (comme l’état ou la province) associée à l’adresse IP de destination.
Fuseau horaire de destinationLe fuseau horaire associé à l’adresse IP de destination.

Facettes de l’IP Source NetFlow

Nom de la facetteDescription de la facette
Domaine AS de sourceLe domaine associé au Système Autonome (AS) auquel appartient l’adresse IP source.
Nom AS de sourceLe nom du Système Autonome (AS) auquel appartient l’adresse IP source.
Numéro AS de sourceLe numéro attribué au Système Autonome (AS) auquel appartient l’adresse IP source.
Route AS de sourceLes informations de route associées au Système Autonome (AS) auquel appartient l’adresse IP source.
Type AS de sourceLe type de Système Autonome (AS) auquel appartient l’adresse IP source (comme transit, client, pair).
Nom de l’application de sourceLe nom de l’application associée à l’adresse IP source.
Nom de la ville de sourceLe nom de la ville associée à l’adresse IP source.
Nom du fournisseur de cloud de sourceLe nom du fournisseur de cloud associé à l’adresse IP source.
Région du fournisseur de cloud de sourceLa région du fournisseur de cloud associée à l’adresse IP source.
Service du fournisseur de cloud de sourceLe service fourni par le fournisseur de cloud associé à l’adresse IP source.
Code de continent de sourceLe code représentant le continent associé à l’adresse IP source.
Nom du continent de sourceLe nom du continent associé à l’adresse IP source.
Code ISO du pays de sourceLe code ISO représentant le pays associé à l’adresse IP source.
Nom du pays de sourceLe nom du pays associé à l’adresse IP source.
IP de sourceL’adresse IP de source.
Latitude de sourceLa coordonnée de latitude associée à l’adresse IP source.
Longitude de sourceLa coordonnée de longitude associée à l’adresse IP source.
MAC de sourceL’adresse MAC associée à l’adresse IP source.
Masque de sourceLe masque de sous-réseau associé à l’adresse IP source.
Port de sourceLe numéro de port source.
Nom d’hôte DNS inverse de sourceLe nom d’hôte DNS associé à l’adresse IP source.
Code ISO de la subdivision de sourceLe code ISO représentant la subdivision (comme l’état ou la province) associée à l’adresse IP source.
Nom de la subdivision de sourceLe nom de la subdivision (comme l’état ou la province) associée à l’adresse IP source.
Fuseau horaire de sourceLe fuseau horaire associé à l’adresse IP source.

Assemblage de conversations

Par défaut, les enregistrements NetFlow séparent les flux unidirectionnels pour chaque direction de trafic entre deux points de terminaison (A → B et B → A). L’assemblage de conversations combine ceux-ci en un seul enregistrement bidirectionnel, vous offrant une vue complète du trafic total échangé entre deux points de terminaison (A ↔ B).

Avec l’assemblage de conversations, vous pouvez :

  • Voir le trafic total échangé entre deux points de terminaison comme une seule conversation au lieu de flux directionnels séparés
  • Identifier les véritables initiateurs et répondants afin que les widgets source et destination reflètent des rôles précis
  • Éliminer le bruit où les serveurs apparaissent incorrectement comme principales sources

Pour basculer entre les vues assemblées (bidirectionnelles) et non assemblées (unidirectionnelles), naviguez vers n’importe quelle vue NetFlow basée sur un point de terminaison et utilisez le commutateur Bidirectionnel sous le sélecteur de temps.

Basculer l'assemblage de conversations dans la vue NetFlow

Taux d’échantillonnage

Le taux d’échantillonnage de NetFlow est pris en compte dans le calcul des octets et des paquets par défaut. Les valeurs affichées pour les octets et les paquets sont calculées avec le taux d’échantillonnage appliqué. De plus, vous pouvez interroger Octets (Ajustés) (@adjusted_bytes) et Paquets (Ajustés) (@adjusted_packets) dans les tableaux de bord et les carnets pour les visualiser.

Pour visualiser les octets/paquets bruts (échantillonnés) envoyés par vos appareils, vous pouvez interroger Octets (Échantillonnés) (@bytes) et Paquets (Échantillonnés) (@packets) dans les tableaux de bord et les carnets.

Conservation

Les données NetFlow sont conservées pendant 30 jours par défaut, avec des options pour une conservation de 15, 30, 60 et 90 jours.

Pour conserver les données NetFlow pendant de plus longues périodes, contactez votre représentant commercial.

Limiter le volume de flux par intervalle de vidage

Pour contrôler le volume NetFlow et les coûts associés, configurez l’Agent pour limiter le nombre d’enregistrements de flux soumis par intervalle de vidage. L’intervalle de vidage est la période pendant laquelle les flux sont agrégés avant d’être transmis à Datadog.

Lorsque cette limite est activée, l’Agent conserve uniquement les meilleurs flux par nombre d’octets jusqu’au maximum configuré, et rejette les flux de volume inférieur pour cet intervalle de vidage.

Configuration

Remarque : Nécessite la version de l’Agent 7.75.1 ou ultérieure.

Configurez ce qui suit dans votre datadog.yaml :

network_devices:
  netflow:
    enabled: true
    aggregator_max_flows_per_flush_interval: 10000

Avec cette configuration, l’Agent soumet au maximum 10 000 enregistrements NetFlow par intervalle de vidage (5 minutes par défaut). L’Agent priorise les flux de plus haut volume et rejette le reste.

Estimation du volume quotidien

Votre nombre maximum approximatif de flux quotidien est :

max_flows_per_flush_interval * (minutes_per_day / flush_interval_minutes)

Par exemple, avec 10,000 flux par intervalle de vidage et un intervalle de vidage de 5 minutes :

10,000 * (1440 / 5) = 2,880,000 flows/day

Comportement attendu

  • Les principaux émetteurs sont prioritaires : Cela est préférable pour les flux de travail axés sur un trafic à fort volume (par exemple, les pilotes de bande passante et les liens bruyants).
  • Visibilité réduite pour les flux à faible volume : Les paires source/destination à faible trafic peuvent ne pas apparaître lorsque le plafond est atteint.
  • Comportement par Agent : La limite est appliquée à chaque Agent de manière indépendante. Si plusieurs Agents voient du trafic pour les mêmes conversations, ils ne sont pas agrégés globalement avant la troncature.

Suivi de la troncature

Lorsque la limitation de flux est activée, l’Agent émet des métriques que vous pouvez utiliser pour comprendre combien de données sont conservées par rapport à celles qui sont rejettées :

  • ndm.flow_truncation.flows_total
  • ndm.flow_truncation.flows_kept
  • ndm.flow_truncation.flows_dropped
  • ndm.flow_truncation.keep_ratio
  • ndm.flow_truncation.threshold_value
  • ndm.flow_truncation.runtime_ms

Utilisez ces métriques pour valider votre plafond choisi et pour détecter quand la troncature se produit fréquemment (ce qui peut indiquer que vous devriez ajuster le plafond ou l’intervalle de vidage).

Dépannage

Pertes de paquets NetFlow

Des pertes de paquets NetFlow peuvent se produire lorsqu’il y a un nombre élevé de paquets NetFlow par seconde, généralement supérieur à 50 000. Les étapes suivantes peuvent aider à identifier et à atténuer les pertes de paquets NetFlow :

Identification des pertes de paquets

Utilisez la commande netstat -s pour voir s’il y a des paquets UDP perdus :

    netstat -s

Mitigation steps

  1. Increase the Number of NetFlow Listeners

Increase the number of NetFlow listeners by using a configuration similar to the following: Datadog recommends setting the number of workers to match the number of CPU cores in your system:

      netflow:
        enabled: true
        listeners:
          - flow_type: netflow9
            port: 2055
            workers: 4 # 4 CPUs
  1. Augmenter la longueur de la file d’attente UDP (Linux uniquement)

Ajuster la longueur de la file d’attente UDP de votre système peut aider à gérer le volume plus élevé de paquets NetFlow. Augmentez la taille du tampon de réception UDP à 25 Mo en exécutant les commandes suivantes :

    sudo sysctl -w net.core.rmem_max=26214400
    sudo sysctl -w net.core.rmem_default=26214400
  1. Persistance de la configuration (Linux uniquement)

Pour rendre ces changements permanents, ajoutez les lignes suivantes à votre fichier /etc/sysctl.conf :

    net.core.rmem_max=26214400
    net.core.rmem_default=26214400

Lectures complémentaires