本页内容
NetFlow 收集器概述
NetFlow 收集器是 Paragon Pathfinder 中的数据收集工具。
NetFlow 收集器使用命名空间中的 northstar
netflowd 微服务来收集和报告有关网络中流量的数据。Netflowd 作为 Pathfinder 安装包的一部分自动安装。Netflowd 从路由器接收 NetFlow 数据,对记录进行解码并汇总数据。Netflowd 使用这些汇总数据来创建需求,这些需求指示网络中的流量。Netflowd将数据存储在时间序列数据库(TSDB)中,并与路径计算服务器(PCS)共享数据。汇总数据用于生成Paragon Pathfinder中可用的需求报告(Reports > Demand)。这些报告提供有关网络流量的信息。这些数据还会在 Paragon Planner 中用于生成需求报告、对网络进行规划和建模。
- PCS 监控来自自治系统 (AS) 和 VPN 的流量。
- PCS 支持 IPv4 和 IPv6 流量。
Pathfinder 通过使用 NetFlow 版本 9 和版本 10 (IPFIX) 流模板,利用 Junos OS 实施的流监控和聚合功能。有关背景信息,请参阅以下 Junos OS 文档:
- 将流聚合配置为使用版本 9 流模板。
-
将流聚合配置为在 MX、vMX 和 T Series 路由器、EX 系列交换机和 NFX250 上使用 IPFIX 流模板。
-
将流聚合配置为在 PTX 系列路由器上使用 IPFIX 流模板。
需求生成
Netflowd 使用四个聚合键(从 netflowd 收集的 NetFlow 数据中获取)来生成需求:
- 入口提供商边缘 (PE) 设备(即报告流量的设备)
-
BGP 下一跳 IP 地址
-
路由表名称
- 当此密钥存在时,它是为其配置入口接口的 VRF 的名称。
- 如果没有与需求关联的 VPN,则缺少此密钥。在这种情况下,入口接口配置在默认路由表中。
- 如果 netflowd 无法确定入口接口是在默认路由表中配置还是在 VRF 上配置的,则此键显示为 NONE 。例如,如果 PCS 无法收集接口的 snmp 索引,就会发生这种情况。
- IPv4(在网络信息表的需求页签中显示为IP)或IPv6的规格
键的值在需求名称中指示,这些需求显示在网络信息表中需求选项卡的“名称”列中。以下是一些示例:
- vmx102_10.1.0.10/32_vpn100_IP
-
vmx102_10.1.0.10/32_IP(如果没有与需求关联的 VPN)
-
vmx102_10.1.0.10/32_NONE_IP(如果不知道入口接口是配置在默认路由表上还是在 VRF 上时)
NetFlow 收集器要求
要在 Pathfinder 中使用 NetFlow 收集器,您必须:
- 在安装基础架构组件时安装 Nginx Ingress Controller。请参阅 在 CentOS 上安装多节点集群 和 在 Ubuntu 上安装多节点集群。
-
配置网络路由器以进行流监控(NetFlow v9 或 v10)。请参阅 网络路由器上的配置。
- 定期运行设备收集任务,以便在 Pathfinder 中创建并维护准确的 VPN 模型。建议每天至少运行一次设备收集任务。请参阅 添加设备收集任务。
(选答)从 CLI 自定义 NetFlowd 参数。请参阅 从 CLI 自定义 Netflowd 参数。
网络路由器上的配置
要在 Pathfinder 中使用 NetFlow 收集器,您必须根据路由器的作系统文档,配置网络路由器以进行流量监控(NetFlow v9 或 v10)。
目前,只有瞻博网络设备和 Cisco IOS-XR 设备可以配置 NetFlow v9 和 v10。
以下是配置路由器时需要牢记的一些重要注意事项:
- NetFlow 进程 (netflowd) 通过源地址 (
inline-jflow
语句) 标识报告流的设备。将此参数配置为路由器的环路地址。 -
flow-active-timeout 参数的默认值为 60 秒。我们建议将其保持在 60 秒或更短。
- 将流服务器的 IP 地址配置为为 Nginx 入口控制器配置的虚拟 IP (VIP) 地址。
在接口层次结构级别:
interfaces { ge-0/0/1 { unit 0 { family inet { sampling { input; } address 10.0.21.1/24; } } } }
在转发选项层次结构级别:
forwarding-options { sampling { instance { nfv9-ipv4 { input { rate 1; run-length 0; } family inet { output { flow-inactive-timeout 15; flow-active-timeout 60; flow-server 172.16.18.1 { port 9000; version9 { template { nfv9-ipv4; } } } inline-jflow { source-address 10.1.0.104; } } } }
在机箱层级:
chassis { network-services enhanced-ip; fpc 0 { sampling-instance nfv9-ipv4; } }
在服务层次结构级别:
services { flow-monitoring { version9 { template nfv9-ipv4 { nexthop-learning { enable; } template-refresh-rate seconds 60; option-refresh-rate seconds 60; ipv4-template; } } } }
在接口层次结构级别:
interfaces { ge-0/0/1 { unit 0 { family inet { sampling { input; } address 10.0.21.1/24; } } } }
在转发选项层次结构级别:
forwarding-options { sampling { instance { nfv10-ipv4 { input { rate 1; run-length 0; } family inet { output { flow-inactive-timeout 15; flow-active-timeout 60; flow-server 172.16.18.1 { port 9000; version-ipfix { template { nfv10-ipv4; } } } inline-jflow { source-address 10.1.0.104; } } } } } } }
在机箱层级:
chassis { network-services enhanced-ip; fpc 0 { sampling-instance nfv10-ipv4; } }
在服务层次结构级别:
services { flow-monitoring { version-ipfix { template nfv10-ipv4 { nexthop-learning { enable; } template-refresh-rate { seconds 60; } option-refresh-rate { seconds 60; } ipv4-template; } } } }
从 CLI 自定义 Netflowd 参数
netflowd 相关参数默认配置,您可以通过 CLI 查看这些参数。或者,您也可以自定义这些参数。 表 1 描述了可通过 CLI 自定义的 netflowd 参数。
参数 |
命令 |
命令 |
---|---|---|
启用 SSL | 设置 NorthStar Analytics Netflowd Enable-SSL | 配置此参数以使 netflowd 能够与本机数据存储建立安全套接字层 (SSL) 连接。 |
日志目标 | 设置 NorthStar Analytics Netflowd Log-destination | 配置在日志文件中捕获的信息级别。 默认级别为 info。如果希望在日志文件中包含更多信息,可以将级别设置为 调试。日志文件将包括从每个设备接收的所有流,由源 IP 地址标识。您还可以查看每个流的 netflowd 处理和解析的所有字段。 |
默认采样间隔 | 设置 NorthStar Analytics Netflowd default-sampling-interval |
配置如果路由器未在模板流程集中提供时间间隔时使用的默认采样间隔。 默认值:1。 |
发布间隔 | 设置 NorthStar Analytics Netflowd publish-interval |
配置将记录同时发布到TSDB和PCS的时间间隔(以秒或分钟为单位)。流量是按发布间隔聚合的。 此值必须等于或大于路由器中配置的报告时间(流活动超时值),以确保在每个发布间隔内报告所有活动流。 默认值:60s。 |
notify-final-bandwidth-on-inactive-flow | 设置 NorthStar Analytics Netflowd Notify-final-bandwidth-on-inactive-flow |
配置此参数以使 netflowd 能够在流不再处于活动状态后发送最后一次更新,并将带宽报告为 0。 默认情况下,未配置该参数。因此,一旦流量处于非活动状态,就不会报告带宽值;最后报告的活动值是显示的最后一个值。 |
按前缀聚合 | 设置 NorthStar Analytics Netflowd Aggregate-by-Prefix |
配置此参数以使 netflowd 能够在指定时间段内聚合从特定入口提供商边缘 (PE) 路由器到特定目标(前缀)的所有流量。默认情况下,NetFlow 由 PE 路由器聚合流量,但对于某些应用程序(如出口对等工程和入口对等工程),您可能需要按前缀聚合流量。 |
stats-interval | 设置 NorthStar Analytics Netflowd stats-interval |
配置将统计信息打印到日志文件的时间间隔(以秒为单位)。默认情况下,未配置时间间隔,因此不会将统计信息打印到日志文件中。 |
按需生成 | 设置 NorthStar Analytics Netflowd 按需生成 |
配置此参数以使 netflowd 能够生成 AS 请求。 默认情况下,未配置该参数。因此,即使导出了有效的 NetFlow 记录,也不会通过 REST API 或 GUI 的 Demand 报告中显示 AS 需求。 |
顶部前缀 | 设置 NorthStar Analytics Netflowd 顶部前缀 | 配置要导出的前缀数(以聚合流量计)。 范围:1 到 10,000 |
top-prefixes-export-ticks | 设置 NorthStar Analytics Netflowd top-prefixes-export-ticks | 配置前 N 个前缀聚合流量的间隔数,其中导出间隔长度由 publish-interval 参数确定。 示例:如果将 publish-interval 设置为 60s,将 top-prefixes-export-ticks 设置为 5,则每 5 分钟(5x60s = 5m)导出(发布)前 N 个前缀。 |
工人 | 设置 NorthStar Analytics NetFlowd Workers | 配置要启动的进程数。当设置为 0 时,它采用系统中内核数的值。 默认值:1 |