sFlow 實驗筆記(一):sFlow 的部署和簡單的應用

參考自https://blog.csdn.net/AsNeverBefore/article/details/79098971

https://blog.csdn.net/yinxingsha/article/details/52276587

https://www.sdnlab.com/15090.html

1 實驗目的

該實驗通過安裝sFlow流量監控工具,可直觀的展現網絡中的流量以及其他監控信息。在實驗過程中,可以瞭解以下方面的知識:

  • 掌握監控網絡流量的方法;
  • 掌握流量監測工具sFlow的使用;

2 實驗原理

sFlow技術是一種以設備端口爲基本單元的數據流隨機採樣的流量監控技術,不僅可以提供完整的第二層到第四層甚至全網範圍內的實時流量信息,而且可以適應超大網絡流量(如大於10Gbit/s)環境下的流量分析,讓用戶詳細、實時地分析網絡傳輸流的性能、趨勢和存在的問題。sFlow監控工具由sFlow Agent和sFlow Collector兩部分組成。Agent作爲客戶端,一般內嵌於網絡轉發設備(如交換機、路由器),通過獲取本設備上的接口統計信息和數據信息,將信息封裝成sFlow報文,當sFlow報文緩衝區滿或是在sFlow報文緩存時間(緩存時間爲1秒)超時後,sFlow Agent會將sFlow報文發送到指定的Collector。Collector作爲遠端服務器,負責對sFlow報文分析、彙總、生成流量報告。sFlow的基本工作原理如圖1所示:

網絡流量監控sFlow的使用 圖1網絡流量監控sFlow的使用 圖2

3 實驗任務(實驗網絡拓撲如右上)

使用兩臺虛擬機,虛擬機1部署Mininet服務並配置sFlow Agent,虛擬機2安裝sFlow Collector,在虛擬機1的Mininet環境中模擬創建一個交換機下掛2個主機的網絡拓撲,通過執行ping測試來產生網絡流量,然後通過在Collector Web界面查看監控結果。

 

4 實驗步驟

4.1 環境搭建

創建2個虛擬機,一個是選擇帶有sFlow的鏡像,另一個是選擇Mininet桌面鏡像作爲所需Mininet,啓動實驗並啓動虛擬機。

4.2基本操作

打開三個終端,一個用來啓動sFlow服務器,一個用來運行虛擬網絡,一個用來控制虛擬網絡和下發指令等操作

此時上火狐http://10.0.0.132:8008/agents/html是無法進入頁面的

4.3創建環境,啓動服務器

接下來,在三個不同的終端上分別執行以下指令:

打開文件啓動服務器(打開後刷新以下網站就能上去了)

cd sflow-rt
./start.sh

運行最簡單的虛擬網絡

sudo mn

 控制虛擬網絡:把s1端口接上ens33並且賦予s1地址和掩碼等等

ifconfig ens33 up
ovs-vsctl add-port s1 ens33
ifconfig s1 10.0.0.3 netmask 255.255.255.0
route add default gw 10.0.0.1
ifconfig

4.4配置環境

查看ifconfig和路由表

最後在控制終端打入,這裏10.0.0.132是本機ip

sudo ovs-vsctl -- --id=@sflow create sFlow agent=s1 target=\"10.0.0.132:6343\"  header=128  sampling=64 polling=1 -- set bridge s1 sflow=@sflow

待sFlow Agent配置好後,會生成一個UUID。 
(1) agent:虛擬機對應的某個監控流量的網卡,本實驗用s1網卡產生和監控流量; 
(2) target:sFlow Collector的IP,默認端口6343;(同一臺主機所以也設置爲10.0.0.132,不同主機就是不同的ip) 
(3) bridge:需要開啓sflow的網橋 

你也可以查詢一下配置好的agent信息和鏈路狀態

sudo ovs-vsctl list sflow
ip link


刷新一下火狐頁面,其中10.0.0.3就是s1,也就是我們所要監控的對象

4.5測試分析

點開瀏覽器中10.0.0.3那一欄,可查詢你想要的分析,或者直接點擊metrics可以看到總的數據

此時比方說點開ifinpkts(進入的數據包),然後在mininet>那一欄隨便輸入ping指令,就可以在火狐上看到相應的數據

注:AdminStatus 接口的管理狀態 
ifIndex 橋接端口對應的端口 
ifInDiscards 被丟棄(儘管沒有錯誤)的輸入報文數,並且這些報文不會被傳遞給上層網絡協議 
ifInErrors 流入的錯誤報文數,由於錯誤使得這些報文不會被傳遞給上層網絡協議 
ifinOctets 接口輸入的字節數 
ifinutilization 輸入利用率

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章