本發(fā)明涉及云計算虛擬化技術領域,特別涉及一種虛擬交換機流量監(jiān)控的方法、系統(tǒng)及虛擬交換機。
背景技術:
隨著虛擬化和云計算技術的不斷成熟,越來越多的云服務廠商開始提供公有云和私有云服務,允許企業(yè)用戶創(chuàng)建自己的虛擬數(shù)據(jù)中心,幫助企業(yè)節(jié)省建設成本提高業(yè)務敏捷性。因此很多的企業(yè)開始將大部分IT應用向云平臺遷移。當用戶的數(shù)據(jù)中心越來越大時,會產(chǎn)生很大的流量,這時就有必要對各個虛擬交換機的流量信息進行監(jiān)控和分析,以便可以快速發(fā)現(xiàn)、定位和解決問題。因此,如何對虛擬交換機的流量信息進行監(jiān)控,是本領域技術人員需要解決的技術問題。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種虛擬交換機流量監(jiān)控的方法、系統(tǒng)及虛擬交換機;能夠充分利用云平臺的虛擬化技術,利用軟件對虛擬化平臺的高度支持特性,減少了對物理設備的依賴,實現(xiàn)對虛擬交換機的流量進行監(jiān)控。
為解決上述技術問題,本發(fā)明提供一種虛擬交換機流量監(jiān)控的方法,包括:
流量代理將對應的虛擬交換機的流量進行導出;
收集器通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器;
所述生成器將所述流量存儲為rrd格式的數(shù)據(jù)文件。
其中,流量代理將對應的虛擬交換機的流量進行導出之前,還包括:
將所述流量代理與所述虛擬交換機建立對應關系,配置所述流量代理的IP作為所述流量代理的標識;
在所述虛擬交換機上創(chuàng)建端口組,使虛擬機連接到所述端口組上;
在所述虛擬交換機上開啟sflow流量采集。
其中,收集器通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器,包括:
修改收集器sflowtools的源程序,添加與生成器collector的通信機制,編譯后會生成所述收集器sflowtools的可執(zhí)行文件;
執(zhí)行所述可執(zhí)行文件通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器collector。
其中,所述生成器將所述流量存儲為rrd格式的數(shù)據(jù)文件,包括:
在所述虛擬交換機上安裝生成器collector,并在types.db中增加預定需要保存數(shù)據(jù)的數(shù)據(jù)字段;
在所述生成器collector的配置文件中加載unixsock插件和rrdtool插件;
利用啟動所述生成器collector生成的socket文件與所述收集器sflowtools進行數(shù)據(jù)通信,將所述流量存儲為rrd格式的數(shù)據(jù)文件。
本發(fā)明還提供一種虛擬交換機流量監(jiān)控的系統(tǒng),包括:
流量代理模塊,用于流量代理將對應的虛擬交換機的流量進行導出;
收集器模塊,用于收集器通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器;
生成器模塊,用于生成器將所述流量存儲為rrd格式的數(shù)據(jù)文件。
其中,還包括:
配置模塊,用于將所述流量代理與所述虛擬交換機建立對應關系,配置所述流量代理的IP作為所述流量代理的標識;在所述虛擬交換機上創(chuàng)建端口組,使虛擬機連接到所述端口組上;在所述虛擬交換機上開啟sflow流量采集。
其中,所述收集器模塊包括:
收集器配置單元,用于修改收集器sflowtools的源程序,添加與生成器collector的通信機制,編譯后會生成所述收集器sflowtools的可執(zhí)行文件;
收集器執(zhí)行單元,用于執(zhí)行所述可執(zhí)行文件通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器collector。
其中,所述生成器模塊包括:
生成器配置單元,用于在所述虛擬交換機上安裝生成器collector,并在types.db中增加預定需要保存數(shù)據(jù)的數(shù)據(jù)字段;在所述生成器collector的配置文件中加載unixsock插件和rrdtool插件;
生成器執(zhí)行單元,用于利用啟動所述生成器collector生成的socket文件與所述收集器sflowtools進行數(shù)據(jù)通信,將所述流量存儲為rrd格式的數(shù)據(jù)文件。
本發(fā)明還提供一種虛擬交換機,包括:如上述任一項所述的虛擬交換機流量監(jiān)控的系統(tǒng)。
本發(fā)明所提供的虛擬交換機流量監(jiān)控的方法,包括:流量代理將對應的虛擬交換機的流量進行導出;收集器通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器;所述生成器將所述流量存儲為rrd格式的數(shù)據(jù)文件;
可見,用戶通過對rrd格式的數(shù)據(jù)文件進行分析實現(xiàn)對虛擬交換機流量監(jiān)控;該方法充分利用云平臺的虛擬化技術,利用軟件對虛擬化平臺的高度支持特性,減少了對物理設備的依賴,實現(xiàn)對虛擬交換機的流量進行監(jiān)控,可以快速發(fā)現(xiàn)、定位和解決連接到虛擬交換機上的設備在實際應用中出現(xiàn)的問題;本發(fā)明還提供了一種虛擬交換機流量監(jiān)控的系統(tǒng)及虛擬交換機,具有上述有益效果,在此不再贅述。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例所提供的虛擬交換機流量監(jiān)控的方法的流程圖;
圖2為本發(fā)明實施例所提供的虛擬交換機流量監(jiān)控的系統(tǒng)的結構框圖。
具體實施方式
本發(fā)明的核心是提供一種虛擬交換機流量監(jiān)控的方法、系統(tǒng)及虛擬交換機;能夠充分利用云平臺的虛擬化技術,利用軟件對虛擬化平臺的高度支持特性,減少了對物理設備的依賴,實現(xiàn)對虛擬交換機的流量進行監(jiān)控。
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參考圖1,圖1為本發(fā)明實施例所提供的虛擬交換機流量監(jiān)控的方法的流程圖;該方法可以包括:
S100、流量代理將對應的虛擬交換機的流量進行導出;
其中,這里的流量代理agent與虛擬交換機對應配置,例如一個虛擬交換機對應一個流量代理agent。
流量代理agent與虛擬交換機的配置可以包括:
將所述流量代理與所述虛擬交換機建立對應關系,配置所述流量代理的IP作為所述流量代理的標識;
在所述虛擬交換機上創(chuàng)建端口組,使虛擬機連接到所述端口組上;
在所述虛擬交換機上開啟sflow流量采集。
其中,sflow是由InMon、HP和FoundryNetworks開發(fā)的一種網(wǎng)絡監(jiān)測技術,它采用數(shù)據(jù)流隨機采樣技術,可提供完整的第二層到第四層,甚至全網(wǎng)絡范圍內(nèi)的流量信息,可以適應超大網(wǎng)絡流量(如大于10Gbit/s)環(huán)境下的流量分析,讓用戶詳細、實時地分析網(wǎng)絡傳輸流的性能、趨勢和存在的問題。
其中,虛擬交換機與對應的agent配置,該配置主要是便于虛擬交換機open vswitch(開源的虛擬交換機)上產(chǎn)生的流量通過與之對應的agent導出到收集器;例如創(chuàng)建br-sflow-2作為需要監(jiān)控的虛擬交換機,sf2-agent作為br-sflow-2的流量代理agent;配置sf2-agent的IP為127.0.0.2作為agent的標識,以上名字部分均可修改盡量保持對應關系。
在br-sflow-2創(chuàng)建端口組,虛擬機連接到該端口組上;在虛擬交換機上開啟sflow流量采集:ovs-vsctl----id=@sflow2create sflow agent=sf2-agent target=\"127.0.0.1:6343\"header=128sampling=64polling=10--set bridge br-sflow-2sflow=@sflow2。此過程是保證虛擬交換機br-sflow-2上產(chǎn)生的流量被送到sf2-agent端。
S110、收集器通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器;
具體的,修改收集器sflowtools的源程序,添加與生成器collector的通信機制,編譯后會生成所述收集器sflowtools的可執(zhí)行文件;
執(zhí)行所述可執(zhí)行文件通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器collector。
即修改sflowtools源碼,添加與collector通信的機制,編譯后會生成sflowtools可執(zhí)行文件。執(zhí)行該可執(zhí)行文件,會在/opt/collectd/var/lib/collectd目錄下生成對應的rrd文件。
S120、所述生成器將所述流量存儲為rrd格式的數(shù)據(jù)文件。
具體的,在所述虛擬交換機上安裝生成器collector,并在types.db中增加預定需要保存數(shù)據(jù)的數(shù)據(jù)字段;
在所述生成器collector的配置文件中加載unixsock插件和rrdtool插件;
利用啟動所述生成器collector生成的socket文件與所述收集器sflowtools進行數(shù)據(jù)通信,將所述流量存儲為rrd格式的數(shù)據(jù)文件。
其中,type.db是系統(tǒng)統(tǒng)計收集守護進程collectd的數(shù)據(jù)集說明,rrd是一種存儲數(shù)據(jù)的方式,使用固定大小的空間來存儲數(shù)據(jù),并有一個指針指向最新的數(shù)據(jù)的位置??梢酝ㄟ^rrdtool插件進行轉(zhuǎn)換。生成器collector生成的socket文件通過unixsock插件生成。
即在運行虛擬交換機open vswitch的主機上安裝生成器collector,修改/opt/collectd//share/collectd/types.db增加需要保存的數(shù)據(jù)字段,修改/opt/collectd/etc/collectd.conf配置文件以便加載unixsock和rrdtool插件;啟動collector會在/opt/collectd/var/run/目錄下生成對應的socket文件,該文件用于與sflowtools進行數(shù)據(jù)通信。
基于上述技術方案,本發(fā)明實施例提供的虛擬交換機流量監(jiān)控的方法,在虛擬交換機開啟流量監(jiān)控功能,配置虛擬交換機對應的agent進行流量導出,收集器sflowtools會通過agent自動收集open vswitch各個端口產(chǎn)生的流量,并發(fā)送到對應的生成器collector,生成器會把收集到的流量存儲為rrd格式的數(shù)據(jù)文件,便于分析;充分利用云平臺的虛擬化技術,在純軟件環(huán)境下利用Linux軟件實現(xiàn)對虛擬交換機的流量進行監(jiān)控,從而解決了虛擬化環(huán)境下虛擬交換機流量無法監(jiān)控的問題;進而可以快速發(fā)現(xiàn)、定位和解決連接到虛擬交換機上的設備在實際應用中出現(xiàn)的問題。
下面對本發(fā)明實施例提供的虛擬交換機流量監(jiān)控的系統(tǒng)及虛擬交換機進行介紹,下文描述的虛擬交換機流量監(jiān)控的系統(tǒng)及虛擬交換機與上文描述的虛擬交換機流量監(jiān)控的方法可相互對應參照。
請參考圖2,圖2為本發(fā)明實施例所提供的虛擬交換機流量監(jiān)控的系統(tǒng)的結構框圖;該系統(tǒng)可以包括:
流量代理模塊100,用于流量代理將對應的虛擬交換機的流量進行導出;
收集器模塊200,用于收集器通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器;
生成器模塊300,用于生成器將所述流量存儲為rrd格式的數(shù)據(jù)文件。
基于上述技術方案,該系統(tǒng)還包括:
配置模塊,用于將所述流量代理與所述虛擬交換機建立對應關系,配置所述流量代理的IP作為所述流量代理的標識;在所述虛擬交換機上創(chuàng)建端口組,使虛擬機連接到所述端口組上;在所述虛擬交換機上開啟sflow流量采集。
可選的,所述收集器模塊200包括:
收集器配置單元,用于修改收集器sflowtools的源程序,添加與生成器collector的通信機制,編譯后會生成所述收集器sflowtools的可執(zhí)行文件;
收集器執(zhí)行單元,用于執(zhí)行所述可執(zhí)行文件通過所述流量代理收集所述虛擬交換機各個端口產(chǎn)生的流量,并將所述流量發(fā)送到對應的生成器collector。
可選的,所述生成器模塊300包括:
生成器配置單元,用于在所述虛擬交換機上安裝生成器collector,并在types.db中增加預定需要保存數(shù)據(jù)的數(shù)據(jù)字段;在所述生成器collector的配置文件中加載unixsock插件和rrdtool插件;
生成器執(zhí)行單元,用于利用啟動所述生成器collector生成的socket文件與所述收集器sflowtools進行數(shù)據(jù)通信,將所述流量存儲為rrd格式的數(shù)據(jù)文件。
本發(fā)明實施例提供一種虛擬交換機,包括:如上述任一技術方案所述的虛擬交換機流量監(jiān)控的系統(tǒng)。
說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
專業(yè)人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上對本發(fā)明所提供的虛擬交換機流量監(jiān)控的方法、系統(tǒng)及虛擬交換機進行了詳細介紹。本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權利要求的保護范圍內(nèi)。