Netflow 收集器
Netflow 收集器是 NorthStar 控制器中的网络规划和报告工具。它提供了一种收集和生成详细网络流量信息报告的方法。NorthStar 利用 Junos OS 实施的流监控和聚合,并使用 Netflow 版本 9 和版本 10 (IPFIX) 流模板。有关背景信息,请参阅以下 Junos OS 文档:
配置流聚合以使用版本 9 流模板
将流聚合配置为在 MX、vMX 和 T Series 路由器、EX 系列交换机和 NFX250 上使用 IPFIX 流模板
配置流聚合以在 PTX 系列路由器上使用 IPFIX 流模板
路由器上的 Junos OS 会对流量进行采样,构建流表,并定期将流表的详细信息发送到 NorthStar。
NorthStar(Netflow 守护程序),从路由器接收数据,对记录进行解码,执行数据的附加聚合并创建需求,将数据存储在 NorthStar 数据库中,并与 PCS 共享信息。然后,这些数据可用于在 NorthStar 控制器中创建报告,并在 NorthStar 计划器中创建、规划和建模。
NorthStar 监控 AS 和 VPN 流量,并支持 IPv4 和 IPv6。
NorthStar Netflow 收集器需要:
网络中路由器上的配置。
初始和定期设备收集,用于在 NorthStar 中创建和维护准确的 VPN 模型。我们建议您至少每天执行一次设备收集。
您可以选择在 NorthStar 应用程序服务器上的 /opt/northstar/data/northstar/cfg 文件中自定义 Netflow 收集器设置。
以下各节介绍如何在 NorthStar 控制器中使用 Netflow 收集器:
Netflow 收集器的配置
网络路由器上的配置
NorthStar 控制器上的 Netflow 收集器要求根据路由器操作系统文档,将网络路由器配置为流监视(Netflow v9 或 v10)。
目前,支持瞻博网络设备和 Cisco IOS-XR 设备,包括 Netflow v9 和 v10。
一些重要的注意事项:
源地址 (inline-jflow 语句) 向 netflow 守护程序 (netflowd) 标识报告流的设备。应将其配置为路由器的环路地址。
flow-active-timeout 值的默认值为 60 秒。我们建议将其保持在 60 秒或更短。
这是一个 Junos OS 示例,其中显示了 Netflow v9 配置语句:
在接口层次结构级别:
interfaces { ge-0/0/1 { unit 0 { family inet { sampling { input; } address 10.0.21.1/24; } } } }
在转发选项层次结构级别:
forwarding-options { sampling { 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; } } } }
这是一个 Junos OS 示例,其中显示了 Netflow v10 配置语句:
在接口层次结构级别:
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; } } } }
NorthStar 应用程序服务器上的配置
Netflow 收集器作为 Analytics 软件包的一部分随 NorthStar 控制器一起安装。请参阅《NorthStar 控制器入门指南》中的安装用于分析的数据收集器。
在入口接口上配置采样。流量进入入口 PE,该入口 PE 将 netflow 记录发送到 netflowd。Netflow 记录包括用于确定流量目标或“前缀”的信息。
在安装了 NorthStar 分析包的 NorthStar 服务器上, /opt/northstar/data/northstar.cfg 文件中有一些可以针对 Netflow 自定义的设置,所有这些设置都以 “netflow_” 开头,如 表 1 所示。
有关支持的部署配置的信息,请参阅《NorthStar 控制器入门指南》中的平台和软件兼容性。分析包可能会也可能不会与 NorthStar 应用程序安装在同一台服务器上,具体取决于您的部署配置。
设置 |
笔记 |
---|---|
netflow_collector_address |
安装 NorthStar 分析包的服务器的 IP 地址(该服务器可能是也可能不是安装 NorthStar 应用程序的同一台服务器)。 |
netflow_port |
默认 Netflow 端口为 9000。 |
netflow_ssl |
SSL 禁用(默认)= 0 启用 SSL = 1 |
netflow_log_level |
在位于 /opt/northstar/logs/netflowd.msg 的日志文件中捕获的信息级别。默认级别为“info”。如果需要更多信息,可以将级别设置为“调试”,日志将包括从每个设备接收的所有流,按源 IP 地址标识。您还可以查看每个流的 netflowd 处理和解析的所有字段。 |
netflow_sampling_interval |
如果路由器未在模板 FlowSet 中提供 SAMPLING-INTERVAL,则为默认 SAMPLING-INTERVAL。
注意:
如果您在网络中使用 Netflow v10 (IPFIX),则必须在 /opt/northstar/data/northstar.cfg 中手动配置netflow_sampling_interval。NorthStar 不支持自动提取 IPFIX 采样间隔。 |
netflow_publish_interval |
Elasticsearch 和 PCS 的发布间隔。流量是按发布间隔聚合的。默认间隔为 60 秒。此值必须等于或大于路由器中配置的报告时间(流活动超时值),以确保在每个发布间隔内报告所有活动流。 |
netflow_workers |
有关辅助角色的详细信息,请参阅《NorthStar 控制器入门指南中的用于分布式数据收集的辅助收集器安装。 |
netflow_ageout |
启用 = 1,禁用 = 0 如果启用,netflowd 会在流不再处于活动状态后发送最后一次更新,将带宽报告为 0。如果禁用,则在流处于非活动状态后不会报告带宽值,因此最后报告的活动值是显示的最后一个值。 |
netflow_aggregate_by_prefix |
可能的值为:
|
netflow_stats_interval |
将统计信息打印到日志文件的时间间隔。默认值为 -1(从不)。 |
netflow_as_demands |
默认情况下,Netflowd 不会生成 AS 需求。除非另有说明,否则即使导出了有效的 netflow 记录,AS 需求也不会通过 REST API 或 UI 中的需求报告显示。 此设置的可能值为:
如果 northstar.cfg 文件中完全缺少该设置,则禁用 AS 需求生成。 |
如果对这些设置进行更改,则必须重新启动 netflowd 进程才能使更改生效。
在 Web UI 中查看需求
网络信息表中的“需求”选项卡显示基于 Netflow 收集器的流监控的聚合需求。使用四个聚合键:
入口 PE(报告流量的设备)
BGP 下一跳 IP 地址
路由表名称
当密钥存在时,它是为其配置入口接口的 VRF 名称。
如果没有与需求关联的 VPN,则缺少此密钥。在这种情况下,入口接口配置在默认路由表中。
如果 netflowd 无法确定入口接口配置是在默认路由表上还是在 VRF 上,则此键显示为“NONE”。例如,如果 NorthStar 无法收集接口的 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 上)
在表中选择需求会突出显示拓扑图中的相应路由路径。
目前,在拓扑图上预览路径的功能仅限于基于 RSVP 的 LSP(非分段路由)。将来的版本将增强此功能。
在网络信息表中,您可以删除需求,但不能添加或修改需求。需求永远不会自动删除。
要查看网络信息表中的需求数据,请执行以下操作:
默认情况下不显示“需求”选项卡。单击网络信息表标题中的加号 (+),然后从下拉菜单中进行选择 Demand ,如 图 1 所示。
图 1:将“需求”选项卡添加到“网络信息表”
图 2 显示了 Demand 选项卡数据的示例。
图 2:需求选项卡-> 网络信息表
对于每个需求,“需求”选项卡都会列出需求属性。需求是否与 VPN 关联,将显示在“所有者”字段中。如果没有与需求关联的 VPN,则“所有者”字段为空。“最近更新”列在每个发布间隔时更新。如果未更新,则流将不再处于活动状态。
右键单击表中的需求,然后选择 View Demand Traffic。这将在网络信息表中打开一个新选项卡,显示包含一段时间内需求流量的图表。您可以调整图表显示左上角的时间段,以显示过去的一小时、一天、七天或自定义时间段。
网络信息表中的“服务”选项卡显示有关网络中可能与某些流相关联的 VPN 的信息。默认情况下,“服务”选项卡不显示。单击网络信息表标题上的加号 (+),选择 Service 以打开“服务”选项卡。该表包括每个 VPN 一行。 图 3 显示了 Service 选项卡数据的示例。
图 3:“服务”选项卡 -> “网络信息表”节点 (Nodes) 列表示与 VPN 关联的 PE 路由器数量,节点列表 (Node List) 列会列出这些路由器。您可以右键单击 VPN 行,然后选择 Show Detail 查看有关每个节点上每个接口的信息。在详细信息窗口中,您可以右键单击某个接口,然后选择 Show Demand Traffic 查看特定接口的需求流量图表。您可以调整图表显示左上角的时间段,以显示过去的一小时、一天、七天或自定义时间段。
您也可以 Show Demand Traffic 在服务中的 VPN 级别右键单击 VPN 行。生成的图表显示 VPN 的总流量。
右键单击“服务”选项卡上的 VPN,然后选择 Enable Animated Selection 以在拓扑图窗口中查看动画 VPN 服务视图。这提供了 VPN 上下文中的网络视图,指示 VPN 为网络的哪些部分提供服务。要离开动画视图并将拓扑图返回到原始布局,请再次右键单击 VPN,然后选择 Disable Animated Selection。
您可以在任务计划程序 (Administration > Task Scheduler) 中创建需求老化任务,以定期从 UI 中删除非活动需求。
当不再观察到流时,需求将保留在 NorthStar UI(网络信息表中的“需求”选项卡)中,直到您将其删除。您可以手动执行此操作,也可以创建需求老化任务以自动执行该过程。此任务根据您指定的最长期限删除不再处于活动状态的需求。
例如,如果您创建最长期限为 10 分钟的需求老化任务,则该任务将删除所有处于非活动状态 10 分钟或更长时间的需求。
要创建 Demand Aging 任务,请在 Task Scheduler 中单击 Add 。输入任务的名称,然后从“任务类型”字段的下拉菜单中选择“需求老化”。单击 Next 以进入最长年龄窗口。
要指定最长年龄:
在“最大年龄”字段中输入一个整数。
使用“单位”字段中的下拉菜单选择秒、分钟、小时或天。
单击 Next 以进入计划窗口。与许多其他任务类型一样,您可以将此任务安排为定期自动重复。
有关任务计划程序的详细信息,请参阅 任务计划程序简介。
需求报告收集
当您从 Administration > Task Scheduler运行需求报告收集任务时,将生成需求报告。
单击 Add 开始创建新任务。图 4 显示了 Create New Task 窗口。在“名称”字段中为新任务命名。使用任务类型下拉菜单选择 Demand Reports。
图 4:创建新任务窗口单击 Next 以进入“报告类型和选项”窗口。
报告类型如 图 6 所示。在“报告类型”选项卡中,选择要生成的报告。如果选择 Include AS Demands,则还可以从多个 AS 报告中进行选择。
注意:必须在 northstar.cfg 文件中启用 AS 请求,如 NorthStar 应用程序服务器上的配置中所述。
图 5:报告类型选项卡单击选项卡 Report Options 。
图 6 显示了 Report Options 选项卡。
图 6:“报告选项”选项卡在此窗口中,您可以选择报告期间:
日期范围,包括小时和分钟(最多 7 天)
过去 N 天(最多 60 天)的范围
过去 24 小时的范围(为您提供过去 24 小时的数据)
如果想要包含特定小时数据的报表,则可以选择日期范围选项,并指定要包含的小时数,如 图 7 所示。
图 7:包含小时的日期范围选项
流量将作为需求加载,并具有可配置的统计周期数。表 2 介绍了下拉菜单中的Aggregation Statistic选项。
表 2:聚合统计选项 聚合统计
描述
平均
对于每个区间,对该区间内的样本进行平均。如果特定区间有 N 个样本,则结果是所有样本值的总和除以 N。
麦克斯
对于每个区间,使用该区间内样本值的最大值。
最小
对于每个区间,使用该区间内样本值的最小值。
第 80、90、95、99 个百分位(X 百分位)
对于每个区间,使用该区间内样本的 X 百分位值。X 百分位数是根据考虑区间平均值和标准差的方程计算得出的。结果是样本值的 X 百分比等于或低于计算值。
表 3 描述了 Aggregation Interval 选项。
表 3:聚合间隔选项 聚合统计
描述
全频
整个范围是一个区间。为整个范围生成一个聚合数据点。
日常
每一天是一个间隔。每天生成一个聚合数据点。
小时
每小时是一个间隔。每小时生成一个聚合数据点。
此外,在此窗口中,您可以指定要根据保存的拓扑布局中捕获的组对报表中的数据进行分组。您可以选择所有布局或特定布局。如果选择多个布局,则会为每个布局生成报告。
图 8 显示了 Create New Task – Demand Reports 窗口,其中选择了两个保存的布局进行数据分组。
图 8:需求报告任务,选择保存的布局进行分组有关创建组和使用自动分组功能的信息,请参阅对 所选节点进行分组和取消分组 ,有关保存布局的信息,请参阅 管理布局 。
单击 Next 以继续调度参数。
“Create New Task - Schedule”(创建新任务 - 计划)窗口如 图 9 所示。您可以选择只运行一次集合,也可以选择以可配置的时间间隔重复它。
图 9:设备收集任务,计划单击 Submit 此项可完成新收集任务的添加,并将其添加到“任务列表”中。单击列表中已完成的任务以在窗口的下半部分显示结果。结果窗口中有三个选项卡:“摘要”、“状态”和“历史记录”。 图 10 显示了已完成的 Demand Reports 收集任务的 Status 选项卡的示例。状态说明指示生成的报告的位置。
图 10:需求报告收集结果,“状态”选项卡也可通过导航到 Applications > Reports获得报告。 图 11 显示了报告的示例列表。
图 11:需求报告的示例列表