流程快速入门指南

关于

大多数企业级路由器和交换机都配备了某种类型的流量技术。 流记录由 IT 人员使用,例如,用于对广泛的网络问题进行故障诊断。

流技术最初是作为一种优化分组路由的方法。 Cisco 系统公司在 NetFlow 协议发明于 1990s,该协议用于NetFlow-enabled路由器创建一个表,以缓存路由决策。 在此表中,路由器存储路由给定包所需的所有信息。 当以后的包与前一个包具有相同的特征时,路由器可以使用表中的信息来路由那些包,而不必从头开始。 这将使路由器不必重复执行相同的计算。 最终,包路由的其他方法被接管,但这些表中包含的信息在其他方面变得非常宝贵。

很多供应商使用类似于 Cisco 的 NetFlow的网络流技术。 网络流记录包含许多属性,包括:

  • 源 IP 地址
  • 目标 IP 地址
  • 源端口
  • 目标端口
  • 层 3 协议类型
  • 服务类型 (TOS)
  • 路由器/交换机输入接口

流记录可以判断流量来自何处以及流向何处。 它可以分辨谁在使用带宽以及它被用于什么。 它还可以跟踪次要/主要网络问题,例如,网络减速, VoIP 呼叫质量差以及安全漏洞。

以下部分涵盖在 SevOne NMS 中收集和报告流技术的所有方面。 您必须启用 设备 以将流发送到 SevOne NMS。 这是在 SevOne NMS 外部完成的。 本指南中使用的示例是 SevOne支持的设备。 SevOne 支持对多个设备进行流监视,但是,如果未在示例中列出您的设备,那么您可能需要与设备制造商核实以获取有关您的设备的特定指示信息。

准备 SevOne 设备

要点: 仅当 SevOne 设备具有多个网络接口卡 (NIC) 时,此部分才适用。

如果 SevOne 设备具有多个 NIC ,那么必须 禁用 反向路径过滤。 为此,需要以下信息。

  • 设备的 IP 地址 -需要 SevOne 设备的 IP 地址或主机名。
  • 对设备的 root 用户访问权 -SSH 会话需要 root 用户名/密码。
  • SSH 客户机 -需要 SSH 客户机,例如 PuTTY

执行以下步骤以禁用反向路径过滤。

  1. 使用 sshroot用户身份登录到 SevOne NMS 设备。
    ssh root@<NMS appliance>
  2. 执行以下命令。
    echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

启用设备发送流量数据

开始之前,请确保已启用 设备 以将流数据发送到 SevOne NMS。 在本部分中,将讨论建议的设置以及有关如何在某些特定 设备上启用流的步骤。

sFlow 数据与 数据 NetFlow

SevOne NMS 会自动计算 sFlow 和采样 Netflow 数据的流量,并在流量发生变化时动态调整计算。 以下是 sFlow 和 Netflow 数据的端口信息。

  • sFlow 数据 - SevOne NMS 使用端口 6343。 无法从 SevOne NMS 用户界面更改此端口。
  • Netflow 数据 (采样/非采样)- SevOne NMS 使用端口 9996。 可以从 SevOne NMS 用户界面> 管理 > 集群管理器 > 集群设置 选项卡> FlowFalcon 子选项卡更改此端口。

流源流超时配置

制造商通常将路由器配置为每 30 分钟发送一次流数据。 此设置有时称为 流高速缓存超时。 它指定路由器将流表发送到收集器 (SevOne NMS) 的频率。 实际上,这会将限制设置为路由器允许流增长的程度,然后再将其分解为新流。

SevOne 建议您配置路由器以每分钟发送一次流数据。 这可确保路由器及时向 SevOne NMS 报告,从而实现信息传输的均匀分发。 如果将流源流超时配置设置为一分钟以外的值,那么路由器报告频率较低,并发送 SevOne NMS 较大的流表,从而导致报告数据的粒度较小。 为了对此进行补偿, " SevOne NMS FlowFalcon 报告 " 页面提供了 粒度 设置。 这使您能够以与路由器流超时配置匹配的粒度查看报告。 SevOne 建议不要将流高速缓存超时设置为 1 分钟以外的任何值。

下表列出了用例以及关联的超时配置, SevOne FlowFalcon 设置和警告。

表 1. 流量源流量超时配置注意事项
适用的用例 流源流超时配置 SevOne NMS FlowFalcon 报告设置
建议: 计费和分类群发监控 1 分钟 将显示设置粒度设置为缺省值 自动。 这适用于经典 FlowFalcon 报告 页面和 报告创建向导
注: 这是典型流报告的最佳 SevOne NMS 设置。
可接受 2-5 分钟 将显示设置粒度设置为 5 minutes。 这适用于经典 FlowFalcon 报告 页面和 报告创建向导
不推荐 5 + 分钟 在经典 FlowFalcon Reports 页面上,

在 " 显示设置 " 部分中,单击 详细程度 下拉列表,然后选择 定制。 将粒度时间范围设置为路由器流超时的两倍。

在 " 报告创建向导" 上,

转至 " 设置 " 页面,然后选择 FlowFalcon 选项卡。 单击 粒度 下拉列表,然后选择 30 分钟

启用思科设备发送流量数据

灵活的 NetFlow (FNF)-Cisco IOS 路由器

feature netflow

flow exporter SEVONE
  destination <sevone IP Address>
  transport udp 9996
  source <source interface of netflow export>
  version 9
  template data timeout 600
  option sampler-table timeout 600

flow record NetflowExport
  description Netflow_traffic
  match ipv4 source address
  match ipv4 destination address
  match ip protocol
  match ip tos
  match transport source-port
  match transport destination-port
  collect routing destination as
  collect routing forwarding-status
  collect routing next-hop address ipv4
  collect transport tcp flags
  collect counter bytes
  collect counter packets
  collect timestamp sys-uptime first
  collect timestamp sys-uptime last
  flow timeout active 60
  flow timeout inactive 15

flow monitor Monitor_Enterprise
  description MONITOR_ENTERPRISE
  record NetflowExport
  exporter SEVONE

Per interface:

interface Vlan4
  ip flow monitor Monitor_Enterprise input
  ip flow monitor Monitor_Enterprise output

传统 NetFlow (TNF)-Cisco IOS 路由器

  1. 启用 Cisco Express 转发 (CEF) ,这是最新 IOS 发行版中的流所必需的。 在全局配置方式下,输入以下命令以启用 CEF。
    ip cef
    注: 全局配置方式由主机名指示,后跟 (config) #。 例如,如果路由器名为 Router-2,那么全局配置方式下的命令提示符将为 Router-2(config) #
  2. 输入以下命令以启动 NetFlow 数据导出 (NDE)。
    1. 指定 SevOne NMS 设备作为路由器的目标 (即流收集器) ,并指定端口。
      ip flow-export destination <enter SevOne NMS appliance IP address> 9996
      注: 缺省情况下, SevOne NMS 在端口 9996上收集流数据。 要确认指定的端口,请单击 管理 > 集群管理器 > 集群设置 选项卡> FlowFalcon 子选项卡> 字段 传入端口
    2. 指定 NetFlow 将从中派生源 IP 地址的接口。
      ip flow-export source loopback 0
    3. 指定导出版本格式。 在以下命令中,将 <version-number> 替换为相应的版本 (例如, 5 或 9)。
      ip flow-export version <version-number>
  3. 通过为 NetFlow 记帐流高速缓存指定参数,可以防止流在高速缓存中停留的时间超过所需的时间。 执行以下操作以配置活动流和不活动流的超时。
    注: 活动超时以分钟为单位指定,而不活动超时以秒为单位指定。
    1. 指定在高速缓存中保留 活动 流的分钟数。 将流分解为较短的段可防止将过多流发送到收集器 ( SevOne NMS 设备)。 以下命令允许活动流在高速缓存中停留 1 分钟。 换句话说,它会将流分成一分钟段。
      ip flow-cache timeout active 1
    2. 指定在高速缓存中保留 不活动 流的秒数。 这将导致已完成的流到期并从高速缓存中除去。 以下命令允许不活动流在高速缓存中停留 15 秒。
      ip flow-cache timeout inactive 15
  4. 在要从中收集流的每个物理接口上启用 NetFlow 。 这通常是以太网或 WAN 接口。 您可能需要设置接口的速度 (以千比特/秒为单位) ,尤其是对于帧中继或 ATM 虚拟电路。
    注: 由于 VLAN 或隧道是自动包含的,因此不需要执行此操作。
    1. 使用以下命令指定接口。 将 <interface> 替换为要启用 NetFlow 的物理接口的名称。 例如, Ethernet0/0
      interface <interface>
    2. 输入下列其中一个命令以启用上面指定的物理接口。
      • 在各个子接口 (而不是所有子接口) 上启用流。
        ip flow ingress
      • 在物理接口上启用流以及与其关联的所有子接口。
        ip route-cache flow
  5. 保存配置更改。
    copy run start
  6. 验证路由器是否正在生成流统计信息。 首先,切换到启用方式。 然后输入以下命令以查看当前 NetFlow 配置和状态。
    注: 启用方式 (也称为特权方式) 由后跟 #的主机名指示。 例如,如果路由器名为 Router-2,那么处于启用方式的命令提示符为 Router-2#
    1. 输入以下命令以显示数据导出的状态和统计信息。
      show ip flow export
    2. 输入以下命令以显示活动流的摘要以及从路由器导出的 NetFlow 数据量。

      显示数据导出统计信息的摘要

      show ip cache flow

      显示数据导出统计信息的详细摘要

      show ip cache verbose flow
    3. 启用 ifIndex SNMP 设置。 这会指示路由器记住 ifIndexes ,以便在 device 配置或重新引导期间不会更改这些索引。
      snmp-server ifIndex persist
      注: 这是一个重要步骤, SevOne NMS 需要此步骤。

运行 CatOS 的 Cisco 交换机 (混合方式)- Non-4000 系列催化剂交换机

路由器端
  1. 在此交换机上启用流之前,必须在路由器端输入以下命令。

    输入以下全局命令

    
    ip flow-export source <enter interface>
    
    ip flow-export version <enter version-number>
    
    ip flow-export destination <enter SevOne IP address> 9996
    
    ip flow-cache timeout active 1
  2. 针对每个物理接口输入以下命令。 将 <interface> 替换为接口的名称。
    
    interface <interface>
    
    ip route-cache flow
交换机端
  1. 指定 SevOne NMS 设备作为交换机的目标 (即流收集器) 并指定端口。
    set mls nde <enter SevOne NMS appliance IP address> 9996
  2. 指定导出版本。 在以下命令中,指定了 V 9。
    set mls nde version 9
  3. 执行以下操作以指定要在高速缓存中保留活动流和不活动流的时间长度。
    1. 指定在高速缓存中保留 活动 流的秒数。 执行以下命令以允许活动流在高速缓存中保留大约两分钟。 换句话说,它将流分成大约两分钟的段。
      set mls agingtime long 128
    2. 指定在高速缓存中保留 不活动 流的秒数。 执行以下命令以允许不活动流在高速缓存中保留大约 1 分钟。
      set mls agingtime 64
  4. 输入以下命令以将流掩码设置为完整流。
    set mls flow full
  5. 对于此步骤,需要 CatOS 7. (2) 或更高版本。 如果您的版本较低,请跳过此步骤并继续执行下一步。 以下命令将对指定 VLAN 中的所有流量启用 NetFlow 数据导出 (NDE) ,而不仅仅是 CLAN 间流量。
    set mls bridged-flow-statistics enable
  6. 启用 NDE。
    set mls nde enable

运行 IOS(本地模式)的交换机

继续之前,请确保您处于特权/启用方式。 输入以下全局命令 (所有命令都在 router <enable> config 选项中输入)。

  1. 指定 NetFlow 将从中派生源 IP 地址的接口。
    ip flow-export source <enter interface>
  2. 指定导出版本格式。 例如, V 9
    ip flow-export version 9
  3. 指定 SevOne NMS 设备作为交换机的目标 (即流收集器) 并指定端口。
    ip flow-export destination <enter SevOne NMS appliance IP address> 9996
  4. 从 PFC 启用 NDE 并配置 NDE 版本。
    mls nde sender version 9
  5. 执行以下操作以指定要在高速缓存中保留活动流和不活动流的时间长度。
    1. 指定在高速缓存中保留 活动 流的秒数。 执行以下命令以允许活动流在高速缓存中保留 1 分钟。 换句话说,它会将流分成一分钟段。
      set mls agingtime long 60
    2. 指定在高速缓存中保留 不活动 流的秒数。 执行以下命令以允许不活动流在高速缓存中保留 15 秒。
      set mls agingtime 15
  6. 如果您具有具有 IOS V 12.1.13(E) 或更高版本的 Supervisor Engine 2 或 720 ,那么需要输入以下两个命令以将接口和路由信息放入 NetFlow 导出中。
    
    mls flow ip interface-full
    
    mls nde interface
  7. 针对每个物理接口输入以下命令。 将 <interface> 替换为接口名称。
    
    interface <interface>
    
    ip route-cache flow

以混合或本机方式运行的 4000 系列催化剂开关

注: 此系列需要具有 NetFlow 服务子卡的主管引擎 IV 来支持 NDE。
  1. 在路由器上的配置终端中,输入以下命令以启动 NetFlow 导出。
    
    ip flow-export version 9
    
    ip flow-export destination <enter SevOne NMS appliance IP address> 9996
  2. 在每个物理接口上启用 NetFlow 。 将 <interface> 替换为接口名称。
    
    interface <interface>
    
    ip route-cache flow infer-fields

启用瞻博网络设备发送流量数据

Juniper 通过使用路由引擎对包头进行采样并将它们聚集到流中来支持流导出。 通过定义防火墙过滤器以接受和采样所有流量,将该规则应用于接口,然后配置采样转发选项来实现包采样。

要配置内联流监视,请在 [编辑转发-选项采样实例实例-名称系列 inet 输出] 层次结构级别包含 inline-jflow 语句。

内联采样支持 version-ipfix 格式,该格式使用 UDP 作为传输协议。 要配置内联采样,请在 [编辑转发-选项采样实例实例-名称系列 inet 输出流-服务器地址] 层次结构级别包含 version-ipfix 语句。

以下操作命令包含用于显示内联配置信息的内联 fpc 关键字。

  • 显示服务记帐错误
  • 显示服务记帐流程
  • 显示服务记帐状态

Junos OS 文档 > 发行说明 ( https://www.juniper.net/documentation/product/us/en/junos-os#cat=release_notes ),列出了可用的主要功能。

从 CLI 配置 sFlow 功能部件
  1. 指定收集器的 IP 地址。

    [编辑协议 sflow]

    user@switch# set collector <enter SevOne NMS appliance IP address>
  2. 指定收集器的 UDP 端口。 SevOne NMS 设备上的缺省 UDP 端口为 6343

    [编辑协议 sflow]

    user@switch# set collector udp-port 6343
  3. 在特定接口上启用 sFlow 技术。 将 <interface-name> 替换为要启用 sFlow 的接口的名称。 例如, ge-0/0/3

    [编辑协议 sflow]

    user@switch# set interfaces <interface-name>
    注: 无法在层 3 VLAN 标记的接口或 LAG 接口上启用 sFlow 技术。 但是,可以在 LAG 的成员接口上启用此功能。
  4. 指定 sFlow 代理程序轮询接口的频率。 将 <seconds> 替换为秒数。 如果不想轮询接口,请在此处指定 0
    注: 您可以选择在接口级别配置此设置 (轮询时间间隔) 和下一个设置 (采样率)。 如果您愿意这样做,请向前跳两步。

    [编辑协议 sflow]

    user@switch# set polling-interval <seconds>
  5. 指定要对包进行采样的速率。 将 <number> 替换为期望的采样率。 例如,如果指定 6 ,那么将对每六个包中的一个进行采样。

    [编辑协议 sflow]

    user@switch# set sample-rate <number>
  6. (可选) 如果您愿意,可以在接口级别设置轮询时间间隔和采样率。 要执行此操作,请使用以下命令。 将 <interface-name> 替换为接口名称,将 <seconds> 替换为以秒为单位的轮询间隔,将 <number> 替换为采样率编号。

    [编辑协议 sflow intefaces]

    user@switch# set interfaces <interface-name> polling-interval <seconds> sample-rate <number>
    注: 接口级别配置将覆盖接口的全局配置。

启用阿尔卡特设备发送流量数据

在 Alcatel 服务接口上启用 cflowd 时, cflowd 通过路由器收集路由的流量流样本进行分析。 cflowd 在因特网增强服务 (IES) 和虚拟专用路由网络 (VPRN) 服务接口上受支持。 已排除层 2 流量。 根据 cflowd 配置分析接口转发的所有包。 在接口级别, cflowd 可以与过滤器 (ACL) 或 IP 接口相关联。

在接口上启用 cflowd 时,该接口转发的所有包都将根据 全局 cflowd 配置进行分析。

config> router> interface 上下文中配置 cflowd 接口选项时,必须满足以下需求才能在特定接口上启用流量采样。

  • 启用 cflowd。
  • 选择 interface> cflowd 接口选项。
  • 要在启用接口采样时从采样中省略某些类型的流量,请通过 ip-filteripv6-filter启用 config> filter> ip-filter> entry> interface-disable-sample 选项。 将过滤器应用于要省略的流量所在的服务或网络接口。
在 IP 接口上指定 cflowd 选项

以下是用于在接口上配置 cflowd 的 CLI 语法。


config>router>if#
cflowd {acl | interface}  
no cflowd

根据您选择的选项 ( aclinterface) , cflowd 从 IP 过滤器或接口抽取流量流样本以进行分析。 根据 cflowd 配置分析接口转发的所有包。

选择 acl 选项以在 IP 过滤器上启用流量采样。 您需要在至少一个 IP 过滤器条目中启用 cflowd ,即 filter-sample。

选择 interface 选项以在接口上启用流量采样。 如果未启用 cflowd ,即未启用 cflowd ,那么将不会在接口上进行流量采样。

在服务接口上启用 cflowd

使用命令行界面 (CLI) 在服务接口上启用 cflowd。


config>service>vpls <service-id#> interface <ip-int-name>
cflowd {acl | interface}
为收集器配置 cflowd

使用 CLI 配置 cflowd。

config>cflowd#
     collector <SevOne NMS appliance IP address>:<port> version <version-number>
         aggregation
             as-matrix
             destination-prefix
             protocol-port
             raw
             source-destination-prefix
             source-prefix
         autonomous-system-type {origin | peer}
         description description-string   
         no shutdown
         template-set {basic | mpls-ip}

示例: 基本 cflowd 配置

示例包括 use-vrtr-if-index 命令,用于使用接口索引(即 ifIndex, 而不是使用阿尔卡特内部全局 IF 索引 ID)导出流量数据。

active-timeout 20
     inactive-timeout 10
     overflow 10
     rate 100
     use-vrtr-if-index
     collector 10.2.10.31:9996 version 8
         aggregation
             as-matrix
             raw
         exit
         description "SevOne NMS"
     exit
     collector 10.2.10.32:9996 version 8
         aggregation
             protocol-port
             source-destination-prefix
         exit
         autonomous-system-type peer
         description "Neighbor collector"
     exit

启用 Citrix NetScaler AppFlow

执行以下步骤以配置 AppFlow。

  1. 启动 Citrix NetScaler 配置用户界面。

    citrixNetScalerConfiguration

  2. 从左侧菜单中,选择 系统 > 设置
  3. 在右侧的 " 设置" 下,单击 配置高级功能
  4. 在 " 配置高级功能 " 弹出窗口中,选中 AppFlow 复选框。
  5. 单击确定
  6. 从左侧菜单的 " 系统 "下,展开 AppFlow 文件夹。 在 AppFlow 下,选择收集器

    citrixNetScalerAppFlow

  7. 在页面底部,单击 添加 ...
  8. 创建 AppFlow Collector 弹出窗口中,为以下字段提供指定的输入。
    • 名称 -输入 SevOne
    • IP Address -输入 SevOne Dedicated NetFlow 收集器 (DNC) 的 IP 地址。
    • 端口 -输入 9996
  9. 从左侧菜单的系统下,展开 AppFlow 文件夹并选择 " 操作 "。
    注: AppFlow 操作是一组收集器,如果关联的 AppFlow 策略匹配,将向这些收集器发送流记录。

    citrixNetScalerAppFlowActions

  10. 在页面底部,单击 添加 ...
  11. 在 " 创建 AppFlow 操作 " 弹出窗口中,选择列 收集器名称下的 SevOne
  12. SevOne 左侧的 Active 列下,选择复选框。
  13. 单击创建
  14. 从左侧菜单的 System > AppFlow 下,选择 Policies
    注: 配置 AppFlow 操作后,需要配置 AppFlow 策略。 AppFlow 策略基于由一个或多个表达式组成的规则。 有关表达式的详细信息,请参阅《Citrix AppFlow 配置指南》。

    citrixNetScalerAppFlowPolicies

  15. 在页面底部,单击 添加 ...。在 创建 AppFlow 策略 弹出窗口中,执行以下操作。
    1. 名称 字段中,提供名称。
    2. 单击 操作 下拉列表以选择操作。
    3. 表达式 字段中,输入表达式。
    4. 单击创建
  16. 创建策略后,需要使策略生效。 要执行此操作,请执行以下 一项 操作。
    注: 可以将策略绑定到覆盖全局 /LB vserver/CS vserver/缺省全局。
    • 以全局方式绑定策略,使其适用于流经 NetScaler的所有流量。
    • 将策略绑定到特定虚拟服务器,以使其仅适用于与该虚拟服务器相关的流量。

    citrixNetScalerAppFlowPolicyManager

  17. 配置 AppFlow 设置,自定义发送到收集器的信息。 从左侧菜单的 " 系统 "下选择 AppFlow.

    citrixNetScalerAppFlowSettings

  18. 在右面板的 Settings 下,单击 Change AppFlowSettings
  19. 配置 AppFlow 设置 弹出窗口中,指定必要的设置以定制将发送到收集器的信息。
  20. 以下 NetScaler 唯一字段以及带宽和数据包指标可在报告中使用。 在 SevOne NMS 中进行配置时,使用 FlowFalcon View Editor 提供字段名称。

    NetScalerAvailableFields

  21. 在 AppFlow 设置和 SevOne NMS 设置配置完成后,您可以创建报告视图并生成有关 AppFlow 数据的报告。

    示例

    citrixNetScalerFlowFalconReport

    citrixNetScalerFlowFalconReport1

配置

FlowFalcon 群集级和同级设置

集群管理器显示统计信息,并允许您在集群级别,同级和设备级别定义设置。 除少数例外情况外,默认群集管理器设置可让您开箱即运行 SevOne NMS。

要从导航栏访问群集管理器 ,请单击管理并选择群集管理器

clusterMgr

配置集群级别流设置

请参阅 SevOne NMS System Administration Guide > Cluster Manager > 子部分 Cluster Settings > FlowFalcon 以获取详细信息。

配置对等级别流设置

请参阅 SevOne NMS 系统管理指南 > 集群管理器部分 > 对等设置子部分 > FlowFalcon (单击时可用) cmaPeer <对等名称> (位于左侧的集群层次结构中)了解详细信息。

流程规则

定义规则以处理 SevOne NMS 接收的流数据。 请参阅 SevOne NMS System Administration Guide > Flow Rules 一节以获取详细信息。

流量接口管理器

请参阅 SevOne NMS System Administration Guide > Flow Interface Manager 一节,以允许您限制 SevOne NMS 从特定设备和特定接口处理的流数据。

FlowFalcon 查看编辑器

请参阅 SevOne NMS System Administration Guide > 一节 FlowFalcon 视图编辑器 ,以获取有关如何管理 FlowFalcon 报告视图的详细信息。

MPLS 流量映射

请参阅 SevOne NMS 系统管理指南 > MPLS 流映射 部分,以获取有关如何上载 MPLS 流映射的详细信息。

网段经理

请参阅 SevOne NMS System Administration Guide > Network Segment Manager 部分,以定义要对流数据进行分组的网络段。

对象映射

请参阅 SevOne NMS System Administration Guide > Map Flow Objects 一节,以获取有关如何将 对象指示符 映射到流接口的详细信息。

应用程序和协议

请参阅 SevOne NMS System Administration Guide > Flow Apps and Protocol 部分,以定义要从中收集流数据的应用程序和协议。

创建报告

可以使用以下命令创建 FlowFalcon 报告:

  • 报告创建向导-请参阅 SevOne NMS 用户指南 > 报告创建向导 > 子节 FlowFalcon Source 以获取详细信息。
  • FlowFalcon 报告-请参阅 SevOne NMS 用户指南 > 部分 FlowFalcon 报告 以获取详细信息。

FlowFalcon 报告意见

请参阅 SevOne NMS System Administration GuideSevOne NMS User Guide > 部分 FlowFalcon Views 以获取详细信息。

流量警报

网络运营团队面临越来越大的压力,要使网络保持最佳性能。 他们需要利用自己掌握的能力,才能更快地减少 MTTR 并解决性能问题。 流警报利用通过流从网络路由器,交换机,防火墙,无线 LAN 控制器等收集的性能信息。 在处理流数据时,将根据 SevOne 管理员实施的流警报策略来通知 SevOne 用户。 将根据聚集的 NetFlow 元组显示阈值违例,这些元组表示在网络中看到的协议,主机和对话信息。 通过此信息,他们可以监视需要调查的条件,例如在营业时间内发生的备份流量,低于所需比特率的多点广播流量速率等。

工作原理

流警报利用 NetFlowd 每分钟执行的数据聚集过程来查找阈值违例并触发警报。 当按分钟进行数据聚集时,所有元组都可以在查找阈值违例时使用,而不仅仅是视图中的前 100 个元组。

看下面的图,每分钟,都会收集所有原始流,以计算每个方向每个接口的前 100 个聚集。 此时,所有原始流数据都可用。 发生视图聚集时,将获得与该聚集一致的所有元组的列表。 将根据 SevOne 管理员定义的流警报策略和阈值来检查元组。 FlowFalcon 过滤器可以应用于策略和阈值,以进一步减少数据集并将其集中在期望的元组集上。 过滤完元组后,可以应用触发和清除条件以及从 1 到 60 分钟的持续时间。 如果发生匹配,那么将触发警报,并且可以通过 SevOne "警报" 仪表板,电子邮件或 SNMP 陷阱通知相关方。

flowAlertingThresholds

流程警报的优点是:

  • 可以使用任何 "聚集视图" 模板对流数据配置警报策略。
  • 可以根据从流数据中提取的信息主动报警。

用例

如果在工作时间 (9 a.m) 看到备份流量,那么网络操作工程师希望收到警报。 -5 p.m。 M-F) ,因为这会在最需要网络时导致网络阻塞。

需要了解的信息

网络备份系统使用的应用程序端口。 用于以下示例的应用程序端口为 2222

警报策略

  1. 使用标识您感兴趣的信息的旧 FlowFalcon 接口创建 FlowFalcon 过滤器。
  2. 为所有接口/方向创建流警报策略。
    1. 定义常规设置。
      • 选择包含流接口的 deviceobject 组。
      • 选择包含应用程序端口信息的聚集视图,例如 排名靠前的应用程序具有协议的排名靠前的应用程序
      • 选择先前创建的 FlowFalcon 过滤器 (例如,备份流量)。
      • 选择 方向 = 任何 (这将为接口上的 Ingress 和 Egress 流量创建阈值)。
      • 将 "调度" 配置为仅包含星期一至星期五的 "营业时间"。
    2. 定义警报条件。
      • 在平均网络备份应用程序端口流量大于 1 MB (持续时间为 1 分钟) 时发出警报。
      • 当平均网络备份应用程序端口流量在 5 分钟内小于 1 MB 时,清除警报。

逐步指示信息

  1. 使用标识您感兴趣的信息的旧 FlowFalcon 接口创建 FlowFalcon 过滤器。 请参阅 SevOne NMS User Guide > section FlowFalcon Reports > Filters

    filterFF

  2. 为所有接口/方向创建流警报策略。
    1. 定义常规设置。

      policyEditorGSFilterFF

    2. 配置时间表,使其仅包括周一至周五上午 9 点至下午 5 点(09:00 至 17:00)的时间段。

      schedulePEFlowFalcon

  3. 定义警报条件。
    1. 当平均网络备份应用程序端口流量超过 1 兆字节/秒,持续时间超过 60 秒时发出警报。

      policyEditorTCFilterFF

    2. 当网络备份应用程序端口平均流量在 300 秒内低于 1 兆字节/秒时,清除警报。

      policyEditorCCFilterFF

    3. 单击 另存为新策略 以保存策略。

  4. 转到 " 事件 ">" 警报" ,查看是否有警报。

    alertsFilterFF

  5. 点击上面截图中字段对象旁边的 (2),它将提供 FlowFalcon 界面的上下文,向您显示导致触发警报的数据。

    filterFFReport

FlowDB

在对性能问题进行故障诊断的过程中,有时网络工程师和故障诊断者需要对所有与手头情况相关的流元组进行可视性。 虽然聚集的视图非常适合向您显示特定视图的前 内容 ,但它们的报告通常具有较大的 其他 区域,这些区域是未使其成为所分析时间段的前 100 个元组的元组。 通过利用 原始 流数据,用户可以访问所有感兴趣的元组; 而不仅仅是排名前 100 位的元组。

系统通常只有 10 个聚集视图可用。 那么,如果需要向用户呈现不包含在 10 个汇总视图中的一组不同的视图,会发生什么? 用户能够创建任意数量的非聚集 原始 视图,从而允许他们查看数据并生成报告以满足任何用例。

要点: 虽然非聚集视图为用户提供了极大的灵活性,但在使用原始数据与聚集数据生成报告所花费的时间量方面,权衡的是性能。 原始流数量庞大,需要系统分析大量数据,然后才能以 FlowFalcon 报告的形式生成结果。 不幸的是,这可能需要很长时间。

优势

以下是一些好处:

  • FlowDB 通过引入列式 LMDB Lightning 数据库,增强了 SevOne's 处理大量原始流量记录的能力。 它已显示从 6x - 20x 生成原始非聚集报告的速度 高于先前发行版。 但是,结果因接口数,时间范围和应用的过滤而异。
  • FlowDB 可更改底层数据存储和检索方法。 未更改运行非聚集流报告时的前端工作流程和选项。 它在视觉上与用户相同。 但是,非聚集原始数据报告的完成速度将比以前更快。
  • FlowDB 使用 LZ4 压缩。 它始终处于开启状态,无法关闭。 这种类型的压缩性能很高,将原始数据的存储需求降低了三分之二。 这意味着您可以存储的原始数据量是先前能够使用相同磁盘量的三倍。

用例

网络分析人员需要查看过去 15 分钟内源自特定主机 IP 地址的所有流。

逐步指示信息

  1. 使用视图 Top Talkers (Bandwidth , Packet , Flows) 来运行聚集视图报告,以识别感兴趣的主机。 然后选择其中一个主机。

    aggregatedViewTopTalkers

  2. 使用视图 含应用程序和 ToS 及方向的重要对话来运行非聚集视图报告。 使用以下设置:
    1. 汇总数据 = 否
    2. 查看 = 具有应用程序和 ToS 和方向的顶级对话
    3. 时间范围 = 定制。 然后配置时间跨度,显示最近 15 分钟的内容。

      timeSpanCustom

    4. 创建一个过滤器,将应用程序 IP 配置为您在步骤 1 中运行的 "顶级主机 "报告中的主机 IP。

      applicationIP

    5. 单击 " 获取结果 "运行报告。

      applicationIP

  3. 下面的截屏显示了生成的报告。 它包含与我们的主机进行的对话。 该报告显示的是前 10 名,但我们可以配置系统在表格中显示所有结果。

    resultingReport

故障诊断

我的设备不显示流量数据

如果没有针对 设备显示流数据,那么可能需要检查流量。 执行以下操作以确认 SevOne NMS 实际通过 tcpdump接收数据。

通过命令行界面登录到 SevOne NMS 设备,并运行下列其中一个命令。

显示到 SevOne NMS 的所有传入流流量

tcpdump -i eth0 port 9996

仅显示来自特定 IP 地址的流流量

tcpdump -i eth0 port 9996 | grep '<ip address in question>'
注: 如果数据进入 SevOne NMS ,那么您最终应该会看到类似于以下示例的消息。 17:55:47.934113 IP <ip 地址 >\ UDP,长度 1464 如果 IP 地址没有数据进来,可能是路由问题。 question>.49359 <SevOne>.9996:

流量数据正在输入,但没有任何显示

如果流数据进入,但未显示任何内容,那么版本可能错误。

输入以下命令以将包的第一部分转储到页面。

tcpdump -XX -i eth0 port 9996

示例

19:55:26.326485 IP <source>.52292 > <destination>.9996: UDP, length 1416
0x0000: 0030 482d 9e1b 0011 5d24 aec0 0800 4500 .0H-....]$....E.
0x0010: 05a4 f187 0000 fb11 ce64 0aff ff0c cc1b .........d......
0x0020: 2435 cc44 270c 0590 2b9f 0005 001d cada $5.Dâ...+.......
0x0030: 5584 45a3 f32e 0cd7 dd44 8682 7d8d 0001 U.E......D..}...
0x0040: 0000 aa94 ....

19:55:26.326609 IP <source>.58101 > <destination>.9996: UDP, length 1428
0x0000: 0030 482d 9e1b 0011 5d24 aec0 0800 4500 .0H-....]$....E.
0x0010: 05b0 b449 0000 f611 810a 0a00 8f98 cc1b ...I............
0x0020: 2435 e2f5 270c 059c fa38 0007 001b cdb8 $5..â....8......
0x0030: 2bdc 45a3 f32e 11a3 844e 29a1 03b4 0000 +.E......N).....
0x0040: 0000 0a33

在以上示例中,第一个流量为 v5 (0005) ,第二个流量为 v7 (0007),如第三行的第六列中所示。 列中的最后两位数字是版本。

以下是帮助查找 XX所指示版本的可视辅助。

示例

0x0000: ---- ---- ---- ---- ---- ---- ---- ---- ----------------
0x0010: ---- ---- ---- ---- ---- ---- ---- ---- ----------------
0x0020: ---- ---- ---- ---- ---- --XX ---- ---- ----------------
0x0030: ---- ---- ---- ---- ---- ---- ---- ---- ----------------
0x0040: ---- ----

设备已配置为发送流量,但未出现在 SevOne NMS 中

有时,在管理 SevOne NMS 时,在将 Netflow 设备或接口配置为将这些流发送到 NMS 之后,可能会迂到在 SevOne NMS 中不显示 Netflow 设备或接口的问题。 通常,这将是由于某些配置问题或阻止 NMS 接收或解析这些流包的意外需求所致。 以下子部分提供了对最常见问题进行故障诊断的逐步指导。 将 Netflow 添加到 NMS 时,确认设备和 NMS 上的配置是否正确很重要。

请检查以下场景以确定问题所在的位置。

确认没有任何现有规则将阻止创建/启用新找到的接口

SevOne NMS,浏览至 管理 > 流配置 > 流规则。 您将发现有一些规则集,用于确定缺省情况下是启用还是禁用新找到的流接口 (即我们新接收流的接口)。 请检查这些规则以确认流未被无意中阻塞。

NetFlow 流量是否一定会到达 SevOne??

出现此问题时,通常是存在意外网络问题 (例如,未正确配置的 防火墙 规则) 阻止流到达 NMS 的问题。

要排除此情况,您将需要在应该接收这些 NetFlow 包的 PAS 或 DNC 上运行包捕获。

  1. 检入 NMS 中配置为接收 NetFlow 的端口。 缺省情况下,它是端口 9996。 可通过浏览至 管理 > 集群管理器 > 集群设置 选项卡> FlowFalcon 子选项卡> 字段 传入端口来找到此选项卡。
    1. 请针对设备配置进行检查。 如果在 NMS 中配置了非标准端口,那么尤其如此。
    2. 如果所有端口配置都很好,请将此端口号保持为方便,因为您将需要此端口号来执行将来的步骤。
  2. 在有问题的 SevOne 同级上运行包捕获。 如果在此包捕获中未看到流,那么这意味着存在网络配置问题,阻止这些包到达 NMS ,例如,错误的防火墙规则。 启动 tcpdump 后,您将看到出现注意方向和长度的包。
    1. 从命令行界面执行以下命令。
      tcpdump port [Port] and host [Device IP] -s0
    2. 如果流量通过非默认接口输入,则需要使用-i标志来表示该流量应通过哪个网络接口输入。
      • 如果您不知道,那么可以运行以下命令来标识流应该进入的接口。
        route -n
      • 一旦确定了流将从其到达的网关,那么输出中的极右列将显示接口的名称。 例如, eno1ens32等。
      • 执行以下命令以检查 tcpdump
        tcpdump port [port] and host [deviceIP] -i [interfaceName] -s0

确认正在接收必需的模板字段

确认流后,请确保正在接收的流包含必需的模板详细信息。

NetFlow 包含模板包及其流包。 要使 SevOne 能够解析流包并知道包含的数据是什么,这些都是必需的。 因此, NetFlow 模板中需要有一些统一性。 下面列出了一些字段。 每个 o 这些字段都需要在模板中,以便 NMS 能够将其解析出来。 该设备需要修改其配置以包含以下字段。

NetFlow v9

- Source ip/port (ip4 or 6) (L4_SRC_ADDR/L4_SRC_PORT)
- Dest ip/port (ip4 or 6) (L4_DST_ADDR/L4_DST_PORT)
- Ingress interface (INPUT_SNMP)
- Bandwidth (BYTES)
- Number of packets (IN_PKTS/PKTS)
- Start Time (FIRST_SWITCHED)
- End Time (LAST_SWITCHED)

IPFIX/ v10

- Source ip/port (ip4 or 6) (L4_SRC_ADDR/L4_SRC_PORT)
- Dest ip/port (ip4 or 6) (L4_DST_ADDR/L4_DST_PORT)
- Ingress interface (INPUT_SNMP)
- Bandwidth (BYTES)
- Number of packets (IN_PKTS/PKTS)
- Start Time - any one of the following matching the start time unit.
-- (FIRST_SWITCHED)
-- (flowStartSeconds)
-- (flowStartMilliseconds)
-- (flowStartMicroseconds)
-- (flowStartNanoseconds)
- End Time - any one of the following matching the end time unit.
-- (LAST_SWITCHED)
-- (flowEndSeconds)
-- (flowEndMilliseconds)
-- (flowEndMicroseconds)
-- (flowEndNanoseconds)

要检查是否正在接收流,可以收集包捕获并使用诸如 wireshark之类的工具对其进行复审。

  1. 要收集包捕获,请执行以下命令。 为确保您至少能收到一个模板数据包,它被配置为运行 15 分钟。
    timeout 15m tcpdump port [port] and host [deviceIP] -i [interfaceName] \
    -s0 -w /Path/to/tcpdump.pcap
  2. 下载包捕获后,在 wireshark中打开包捕获,例如,打开任何其他包捕获分析工具。 在本指南中,将使用 wireshark
  3. 您可以使用以下过滤器在 wireshark 中查找流模板包。
    $ cflow.template_id
  4. 如果对此进行过滤后未看到任何包,那么这意味着您未接收到必需的模板包,并且设备未正确配置为发送模板,或者设备上存在阻止发送模板的问题。
  5. 如果确实看到包,请检查以确认模板是否标识了解析所必需的字段 (如上所述)。 如果缺少其中任何一个,那么您将无法解析流。
    1. 您可能需要检查多个模板。 通常,您将在称为 选项 模板的其他模板标识下接收到包含其他详细信息的其他模板。 每个模板都将具有特定标识,并且它们关联的流包将指向它们关联的模板标识。
    2. 如果要发送的字段有任何混淆,那么以下是列表。

      字段标识列表

      nfl[2]="IN_PKTS"
      nfl[3]="FLOWS"
      nfl[4]="PROTOCOL"
      nfl[5]="SRC_TOS"
      nfl[6]="TCP_FLAGS"
      nfl[7]="L4_SRC_PORT"
      nfl[8]="IPV4_SRC_ADDR"
      nfl[9]="SRC_MASK"
      nfl[10]="INPUT_SNMP"
      nfl[11]="L4_DST_PORT"
      nfl[12]="IPV4_DST_ADDR"
      nfl[13]="DST_MASK"
      nfl[14]="OUTPUT_SNMP"
      nfl[15]="IPV4_NEXT_HOP"
      nfl[16]="SRC_AS"
      nfl[17]="DST_AS"
      nfl[18]="BGP_IPV4_NEXT_HOP"
      nfl[19]="MUL_DST_PKTS"
      nfl[20]="MUL_DST_BYTES"
      nfl[21]="LAST_SWITCHED"
      nfl[22]="FIRST_SWITCHED"
      重要信息: 可以在 NetFlow的正式 Cisco 文档中找到其他字段。

确认 NMS 是否正在删除流

长流

在 SevOne NMS 中,存在用于删除过长流的设置。 存在此设置的原因是 NMS 在处理大型流包时可能会发生延迟,从而导致性能问题。 缺省情况下,这在 SevOne NMS 中设置为 120 秒。 如果超出持续时间超过此设置的流,那么缺省情况下,将删除这些流包。

设置设备以导出流记录时,将使用以下条件来确定何时发送流。

  1. 对于长期存在的流,活动计时器将到期。 例如,由 ip flow-cache timeout active 1之类的设置设置的时间间隔。
  2. 在由称为 不活动超时的参数设置的时间段之后,流将变为不活动状态。 通常情况下,此时间设置为 15 秒。 例如,如果在 TCP 连接上未看到任何流量,或者流正在使用 UDP ,那么可能会发生此情况。
    重要信息: 可以通过对 wireshark中的以下字段进行过滤来确认这一点。
    cflow.timedelta > 120

    要解决此问题,请更新设备上的流配置以设置特定设备的以下或等效设置。

    • 不活动超时
    • 活动超时
    • 更新超时 (适用于 Cisco 弹性)
  3. 流已按 TCP 标志 (例如, 已完成 (FIN)reset (RST)) 所观察到的那样结束。
    重要信息: 并非所有硬件平台都支持此功能。
  4. 如果流高速缓存已满,那么将提前导出流。 Cisco 调用此紧急到期,在此情况下,将随机选择流以在 90% 的高速缓存已满时提前到期。 发生此情况时,将删除流并生成 "管理消息" ,当具有 admin 特权的用户登录到 NMS 时,将弹出该消息。
注意:

SevOne 不推荐使用,但如果您希望继续维护长流,那么可以通过浏览至 管理 > 集群设置 选项卡> FlowFalcon 子选项卡> 字段 Drop Long Flows来禁用集群管理器中的 Drop Long Flows

零和负持续时间流

相反,将删除持续时间为零或为负的流。 可以通过在 wireshark中的以下字段上过滤 tcpdump 来确认这一点。

cflow.timedelta <= 0

如果您迂到此问题,那么它通常表示所讨论的设备上存在问题。

重要信息: 注意事项

此部分特定于 NetFlowcFlow。 对于 sFlow,会使用一个特殊工具 sflowtool 来解析接收到的 NetFlow 并将其重定向到 SevOne 以正确解析。

重要信息: 执行以上场景后,如果您仍迂到问题,请联系 SevOne 支持人员

相关术语

流程 具有相同源和目标 IP 地址,源和目标端口,传输协议等的一系列包。
流记录 有关流的信息集合,包括协议,源和目标 IP 地址,源和目标端口,传输的数据量,传输的日期和时间等。