流量分析(NetFlow)¶
接口流量告诉你一条链路上跑了多少,流量分析告诉你这些流量是谁跑的:哪台主机、去了哪个目的地、走的什么端口、落在哪个 AS 和哪个地区。
「可视化 → 流量分析」。
先说清楚它存什么¶
原始流一条都不存。
一台跑满 10G 的边缘路由器不采样时每秒导出几千到几万条流记录,逐条入库每天就是几亿行——没有哪台单机数据库扛得住,扛得住也查不动。所以采集器在内存里按时间窗聚合,每个窗口只落两样东西:
- 总量:这一分钟共多少字节、多少包、多少条流;
- 各维度的前 N 名:源 IP、目的 IP、会话对、源/目的端口、协议、源/目的 AS、国家、省份。
由此带来一个必须知道的边界:
排行榜能回答「谁在占流量」,回答不了「某个不在榜上的 IP,昨天下午具体连了谁」——那条流量根本没被存下来。
要查后者,用页面下方的定向抓流:对某个 IP 或小网段开一个窗口,只记这一个目标的原始流,到点自动停。整表全量存不起,单目标存得起。
打开采集¶
- 「流量分析 → 采集设置」勾选启用采集,确认采集端口(默认 udp/2055,NetFlow v5/v9、IPFIX、sFlow 三种协议共用这一个端口,按报文首部自动识别;采集默认关)。
- 防火墙/安全组放行对应 UDP 端口;容器部署还要在宿主机发布这些端口(一键脚本默认已发布,见安装文档)。
- 在设备上配置导出,目标指向 vConfig 主机。
设备侧配置样例(按实际接口与版本调整):
Cisco IOS / IOS-XE
ip flow-export version 9
ip flow-export destination <vConfig-IP> 2055
ip flow-sampling-mode packet-interval 1000
interface GigabitEthernet0/0/1
ip flow ingress
ip flow egress
华为 VRP
ip netstream export version 9
ip netstream export host <vConfig-IP> 2055
ip netstream sampler fix-packets 1000 inbound
interface GigabitEthernet0/0/1
ip netstream inbound
ip netstream outbound
H3C Comware
ip netstream export version 9
ip netstream export host <vConfig-IP> 2055
ip netstream sampler fix-packets 1000
interface GigabitEthernet1/0/1
ip netstream inbound
ip netstream outbound
Juniper Junos
set services flow-monitoring version9 template ipv4 template-refresh-rate seconds 60
set forwarding-options sampling instance FLOW family inet output flow-server <vConfig-IP> port 2055
set forwarding-options sampling instance FLOW input rate 1000
采样率:填错了看不出来¶
采样率是这套东西里最容易出事的一个数。 1:1000 意味着我们收到 1 条流代表现网 1000 条,所有字节数都要乘回去。填错了,图照样画得出来,只是整体差一个数量级——而且从界面上完全看不出来。
所以:
- 设备在 v9/IPFIX 里自报采样率时,以设备上报的为准;
- 不上报的设备,在「导出设备」表里手工填,界面上会标明这个值的来源是「设备上报 / 人工 / 默认」;
- 改了设备上的采样配置,记得回来改这里——人工填的那个不会自己跟着变。
归属地、AS 与公司¶
一个 IP 的身份按这个顺序查,全程离线:
- IPAM 台账——内网地址查你自己的库,能给出「哪个客户、哪条业务」。任何公网库都给不出这一层,这也是这套流量分析和独立 NetFlow 工具最不一样的地方。
- 本地缓存表。
- 内置前缀库(前缀 → ASN / 组织 / 国家)。
- 你自己放进来的 MaxMind GeoLite2(需要账号,我们不随产品分发)。
- 查不到就显示未知——不编。
归属库放在 data/netflow/ 下,更新后点「采集设置 → 重载归属库」即可,不必重启。库不在时,AS 与地区列会显示未知,其余功能不受影响。
保留多久¶
| 精度 | 默认保留 | 用途 |
|---|---|---|
| 1 分钟 | 24 小时 | 排障看细节 |
| 5 分钟 | 7 天 | 看本周 |
| 1 小时 | 90 天 | 看趋势 |
降精度由后台任务每 5 分钟做一次,过期数据自动清理。留得越久表越大、查得越慢,按需要在采集设置里调。
丢包计数要看¶
状态条里的「丢弃」是我们没收上来的包数。收包线程满负荷时会主动丢弃而不是阻塞——阻塞会拖慢整台机器。所以这个数不为零时,看到的流量是偏小的,别把它当成网络流量下降。持续丢弃说明设备发得比我们收得快:把采样率调大(1:1000 → 1:5000)通常立刻见效。
告警¶
「告警设置」里有两条与流量分析相关的规则,默认关闭:
- 流量新面孔:过去 24 小时榜单里从未出现过、这一小时却冲进前列的源。新业务上线没报备、配置变更、主机外联,都是这个样子。
- 异常端口流量:Telnet、SMB、RDP、Redis 等不该在广域链路上跑的端口出现了可观流量。
两条都建立在排行榜之上——异常流量按定义就会冲上榜,榜外的那点量本来也不值得告警。