近日公司外点发生VPN异常,经厂商协助查询后,乃因外点特定user占据频宽所导致。在发生问题的当下,其实已经透过厂商的MRTG报表看出是流量问题,但并无法进一步厘清是什么原因造成流量异常,便思考着是不是有什么方式可以自己做个简单的流量监控,待发生问题时,可以查出是哪个IP造成,甚至能查出所使用的服务为何。
思索着公司的网路架构后,感觉应该可以从Core Switch下手。查了HP 5130 EI资料,这台针对流量资讯使用的是sFlow标准,至于资料获取端(集电极),我原先是想采用ntopng,但不知為何,windows新版装好启用后,并无出现udp 6343有在Listening的情形,在主控台里也没看到相关设置,上网爬文也都只看到旧版的预设就是会监听udp 6343,为了避免待会设好sFlow却没得到资料,还要查是哪一端的问题,便改使用inMon的sFlowTrend。
sFlowTrend免费的限制为最多监听5台Switch,纪录也只能呈现近1个小时的流量,但这对我来说已经够用了。装好后就可以看到”sflowtrend-SERVER.EXE”这支主程式在listening udp 6343。进到主画面后,只要在「Tools」-「Configure agents」新增Swtich的IP,再记得设定防火墙例外即可。
接下来就是用telnet连进HP 5130,依照下面指令设定:
# 如進入enable模式 system-view # 設定此Switch本身要發送資料的IP(就是Switch的IP) [Device] sflow agent ip 3.3.3.1 ########## 新增 sFlow collector ########## # 新增一個 ID 為 1 的 sFlow collector (collector可以有多個) # IP 為 3.3.3.2, port 預設為 6343, # 另註明這台名稱為netserver. [Device] sflow collector 1 ip 3.3.3.2 description netserver ########## 為每個 port 設定監控參數 ########## # 進入要監控的介面 [Device] interface gigabitethernet 1/0/1 # 設定取樣間隔時間為20秒(網路上的文件多是說設20或30秒, # HP官方文件範例是設120秒) [Device-GigabitEthernet1/0/1] sflow counter interval 20 # 設定至 sFlow collector 1 [Device-GigabitEthernet1/0/1] sflow counter collector 1 # 設定取樣模式為"隨機取樣" (HP官方文件很妙, # 指出另外一個模式為determine,但你也不用設, # 因為目前的版本都不支援) [Device-GigabitEthernet1/0/1] sflow sampling-mode random # 設定取樣數為1000 # sFlow官方文件建議取樣值: # 10Mb/s: 200 # 100Mb/s: 500 # 1Gb/s: 1000 # 10Gb/s: 2000 # HP官方文件範例為4000 [Device-GigabitEthernet1/0/1] sflow sampling-rate 1000 # 設定至 sFlow collector 1 [Device-GigabitEthernet1/0/1] sflow flow collector 1 # 離開此介面,換下一個,直到全部要監控的介面都設好 # 如果有做Link Aggregation,切到該LAG介面後, # 會有沒有 sFlow 指令可用,所以只能認命的一個一個介面設。 [Device] quit [Device] interface gigabitethernet 1/0/2 ########## 檢視設定 ########## # 確認 sFlow 運作情形 [Device-GigabitEthernet1/0/1] display sflow
设好后,将Switch设定save,接着就可在sFlowTrend看到流量资讯进来了
【參考連結】
- InMon: sFlowTrend
- 的sFlow: 采样率
- 的sFlow: 可扩展性和分组采样的准确性
- HP 5130 EI系列交换机网络管理和监控配置指南