CN104378264B - 一种基于sFlow的虚拟机进程流量监控方法 - Google Patents

一种基于sFlow的虚拟机进程流量监控方法 Download PDF

Info

Publication number
CN104378264B
CN104378264B CN201410767417.0A CN201410767417A CN104378264B CN 104378264 B CN104378264 B CN 104378264B CN 201410767417 A CN201410767417 A CN 201410767417A CN 104378264 B CN104378264 B CN 104378264B
Authority
CN
China
Prior art keywords
sflow
virtual machine
process communication
address
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410767417.0A
Other languages
English (en)
Other versions
CN104378264A (zh
Inventor
阮泽林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WUHAN OS-EASY CLOUD COMPUTING Co Ltd
Original Assignee
WUHAN OS-EASY CLOUD COMPUTING Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WUHAN OS-EASY CLOUD COMPUTING Co Ltd filed Critical WUHAN OS-EASY CLOUD COMPUTING Co Ltd
Priority to CN201410767417.0A priority Critical patent/CN104378264B/zh
Publication of CN104378264A publication Critical patent/CN104378264A/zh
Application granted granted Critical
Publication of CN104378264B publication Critical patent/CN104378264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于sFlow的虚拟机进程流量监控方法,涉及云计算技术领域,其包括:进程监控程序周期性采集虚拟机中运行的进程信息,并将其发送给所述流量监控程序;流量监控程序从虚拟交换机发送的sFlow报文中提取相关信息分别构造上行流量表和下行流量表;流量监控程序从接收到的进程信息中提取相关信息构造进程表;流量监控程序周期性扫描进程表的每一条记录,并提取相关参数组成关键字,分别查找上行流量表和下行流量表,从而统计出每个虚拟机中每个进程的上行速度和下行速度。本发明减少了对虚拟机的处理器和内存资源的消耗,节约了虚拟机的处理器和内存资源,降低了虚拟机的网络延迟,提高了用户业务单位时间内的处理能力。

Description

一种基于sFlow的虚拟机进程流量监控方法
技术领域
本发明涉及云计算技术领域,具体来讲是一种基于sFlow的虚拟机进程流量监控方法。
背景技术
在云计算数据中心,大量的虚拟机共享网络资源,当某个虚拟机里的某个进程产生异常流量而影响网络时,会导致其他虚拟机的网络异常,此时数据中心管理员可以通过虚拟机进程流量监控找出这个产生异常流量的虚拟机,并关闭该进程,从而使数据中心的网络恢复正常。
目前虚拟机进程流量监控的常用方法是:在虚拟机里安装网络监控程序,复制流经虚拟机网卡的数据包,并对数据包进行统计分析,从而得出每个进程的流量,将统计信息发送到管理平台。该方法的缺点是:网络监控程序复制流经虚拟机网卡的每个数据包,占用虚拟机的处理器和内存资源较多,增加了虚拟机的网络延迟,降低了用户业务单位时间内的处理能力。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于sFlow的虚拟机进程流量监控方法,本发明减少了对虚拟机的处理器和内存资源的消耗,节约了虚拟机的处理器和内存资源,降低了虚拟机的网络延迟,提高了用户业务单位时间内的处理能力。
为达到以上目的,本发明采取的技术方案是:一种基于sFlow的虚拟机进程流量监控方法,基于服务器虚拟化系统实现,该方法包括以下步骤:步骤S1.在计算节点上启动流量监控程序,并监听本地的指定端口;步骤S2.在计算节点上创建虚拟交换机并启用sFlow,设置采样率,将sFlow报文发送的目的端口设置为所述指定端口;步骤S3.在虚拟机中安装进程监控程序并启动,与所属计算节点的流量监控程序建立连接,并获取每个虚拟机的ID作为各虚拟机的唯一标识;步骤S4.进程监控程序周期性采集虚拟机中运行的进程信息,并将其发送给所述流量监控程序;步骤S5.流量监控程序从虚拟交换机发送的sFlow报文中提取相关信息分别构造上行流量表和下行流量表;流量监控程序从接收到的进程信息中提取相关信息构造进程表;步骤S6.流量监控程序周期性扫描进程表的每一条记录,并提取相关参数组成关键字,分别查找上行流量表和下行流量表,从而统计出每个虚拟机中每个进程的上行速度和下行速度。
在上述技术方案的基础上,还包括以下步骤:步骤S7.流量监控程序将每次扫描计算出的进程上行速度和下行速度发送到控制节点的数据库,以便后期查询。
在上述技术方案的基础上,步骤S5中,所述流量监控程序从虚拟交换机发送的sFlow报文中提取源物理地址、源IP地址、源端口号、目的物理地址、目的IP地址、目的端口号、协议类型、包大小、采样率,用来分别构造上行流量表和下行流量表。
在上述技术方案的基础上,所述构造上行流量表的具体步骤为:流量监控程序从虚拟交换机发送的sFlow报文中提取源物理地址、源IP地址、源端口号、协议类型组成上行流量关键字,查找上行流量表,若不存在匹配的相应记录,则插入一条记录,其索引为该上行流量关键字,包大小为sFlow报文中的包大小,采样率为sFlow报文中的采样率;若存在匹配的相应记录,则将该记录中的包大小加上sFlow报文中的包大小,采样率为sFlow报文中的采样率。
在上述技术方案的基础上,所述构造下行流量表的具体步骤为:流量监控程序从虚拟交换机发送的sFlow报文中提取目的物理地址、目的IP地址、目的端口号、协议类型组成下行流量关键字,查找下行流量表,若不存在匹配的相应记录,则插入一条记录,其索引为该下行流量关键字,包大小为sFlow报文中的包大小,采样率为sFlow报文中的采样率;若存在匹配的相应记录,则将该记录中的包大小加上sFlow报文中的包大小,采样率为sFlow报文中的采样率。
在上述技术方案的基础上,步骤S5中,所述流量监控程序从接收到的进程信息中提取虚拟机唯一标识、进程号、进程名、进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址,用来构造进程表。
在上述技术方案的基础上,所述构造进程表的具体步骤为:流量监控程序从接收到的进程信息中提取虚拟机唯一标识和进程号作为进程关键字,查找进程表;若不存在匹配的相应记录,则插入一条记录,其索引为该进程关键字,值为进程名和一个进程通信列表,将进程信息中的进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址保存到进程通信列表的第一个元素;若存在匹配的相应记录,则查看进程信息中的进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址是否与进程通信列表中的某个元素一致,如果没有相同元素,则向进程通信列表中插入一个元素并更新相应字段。
在上述技术方案的基础上,步骤S6中,所述相关参数包括进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址。
在上述技术方案的基础上,步骤S6中,统计出每个虚拟机中每个进程的上行速度和下行速度的具体步骤为:流量监控程序周期性扫描进程表的每一条记录中的进程通信列表的每个元素,用进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址组成关键字,查找上行流量表,若存在匹配的相应记录,则取出该记录的包大小字段和采样率字段,并删除该记录;若不存在匹配的相应记录,则用下一个元素查找上行流量表,该进程的上行速度=进程通信列表每个元素查询出来的包大小字段之和×采样率÷扫描的周期;流量监控程序周期性扫描进程表的每一条记录中的进程通信列表的每个元素,用进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址组成关键字,查找下行流量表,若存在匹配的相应记录,则取出该记录的包大小字段和采样率字段,并删除该记录;若不存在匹配的相应记录,则用下一个元素查找下行流量表,该进程的下行速度=进程通信列表每个元素查询出来的包大小字段之和×采样率÷扫描的周期;扫描完成后清空进程表的所有记录。
本发明的有益效果在于:
1、本发明中通过进程监控程序周期性扫描进程信息,而不是复制流经虚拟机网卡每个数据包,因此减少了对虚拟机的处理器和内存资源的消耗,节约了虚拟机的处理器和内存资源,降低了虚拟机的网络延迟,提高了用户业务单位时间内的处理能力。
2、本发明中流经虚拟机网卡的每个数据包必然会流经虚拟交换机,因此虚拟交换机以指定的采样率复制流经的数据包就可以统计出虚拟机进程流量,避免在虚拟机里面复制每个数据包,并且能够通过调整采样率的大小,控制其对网络延迟和计算节点性能的影响。
附图说明
图1为本发明实施例中服务器虚拟化系统的示意图;
图2为本发明实施例中基于sFlow的虚拟机进程流量监控方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,服务器虚拟化系统包括物理交换机、控制节点及至少一个计算节点,且物理交换机分别与控制节点的物理网卡、每一个计算节点相连;每个计算节点均设有虚拟交换机(Open vSwitch)及至少一台虚拟机,所述虚拟交换机与所属计算节点上的各虚拟机的网卡相连,且通过所属计算节点的物理网卡与物理交换机相连。
sFlow是一种基于数据包采样统计的技术,对设备性能和网络延迟影响小,通常用于监控交换机或者路由器的流量转发状况,尤其适用于大流量的网络监控。
参见图2所示,基于一种基于sFlow的虚拟机进程流量监控方法,包括以下步骤:
步骤S1.在计算节点上启动流量监控程序,并监听本地的指定端口;
步骤S2.在计算节点上创建虚拟交换机并启用sFlow,设置采样率,将sFlow报文发送的目的端口设置为所述指定端口;
步骤S3.在虚拟机中安装进程监控程序并启动,与所属计算节点的流量监控程序建立连接,并获取每个虚拟机的ID作为各虚拟机的唯一标识;
步骤S4.进程监控程序周期性采集虚拟机中运行的进程信息,并将其发送给所述流量监控程序;
步骤S5.所述流量监控程序从虚拟交换机发送的sFlow报文中提取源物理地址、源IP地址、源端口号、目的物理地址、目的IP地址、目的端口号、协议类型、包大小、采样率,用来分别构造上行流量表和下行流量表。
所述构造上行流量表的具体步骤为:流量监控程序从虚拟交换机发送的sFlow报文中提取源物理地址、源IP地址、源端口号、协议类型组成上行流量关键字,查找上行流量表,若不存在匹配的相应记录,则插入一条记录,其索引为该上行流量关键字,包大小为sFlow报文中的包大小,采样率为sFlow报文中的采样率;若存在匹配的相应记录,则将该记录中的包大小加上sFlow报文中的包大小,采样率为sFlow报文中的采样率;
所述构造下行流量表的具体步骤为:流量监控程序从虚拟交换机发送的sFlow报文中提取目的物理地址、目的IP地址、目的端口号、协议类型组成下行流量关键字,查找下行流量表,若不存在匹配的相应记录,则插入一条记录,其索引为该下行流量关键字,包大小为sFlow报文中的包大小,采样率为sFlow报文中的采样率;若存在匹配的相应记录,则将该记录中的包大小加上sFlow报文中的包大小,采样率为sFlow报文中的采样率。
所述流量监控程序从接收到的进程信息中提取虚拟机唯一标识、进程号、进程名、进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址,用来构造进程表。所述构造进程表的具体步骤为:流量监控程序从接收到的进程信息中提取虚拟机唯一标识和进程号作为进程关键字,查找进程表;若不存在匹配的相应记录,则插入一条记录,其索引为该进程关键字,值为进程名和一个进程通信列表,将进程信息中的进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址保存到进程通信列表的第一个元素;若存在匹配的相应记录,则查看进程信息中的进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址是否与进程通信列表中的某个元素一致,如果没有相同元素,则向进程通信列表中插入一个元素并更新相应字段。
步骤S6.流量监控程序周期性扫描进程表的每一条记录,并提取进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址组成关键字,分别查找上行流量表和下行流量表,从而统计出每个虚拟机中每个进程的上行速度和下行速度。统计出每个虚拟机中每个进程的上行速度和下行速度的具体步骤为:流量监控程序周期性扫描进程表的每一条记录中的进程通信列表的每个元素,用进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址组成关键字,查找上行流量表,若存在匹配的相应记录,则取出该记录的包大小字段和采样率字段,并删除该记录;若不存在匹配的相应记录,则用下一个元素查找上行流量表,该进程的上行速度=进程通信列表每个元素查询出来的包大小字段之和×采样率÷扫描的周期;流量监控程序周期性扫描进程表的每一条记录中的进程通信列表的每个元素,用进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址组成关键字,查找下行流量表,若存在匹配的相应记录,则取出该记录的包大小字段和采样率字段,并删除该记录;若不存在匹配的相应记录,则用下一个元素查找下行流量表,该进程的下行速度=进程通信列表每个元素查询出来的包大小字段之和×采样率÷扫描的周期;扫描完成后清空进程表的所有记录。
步骤S7.流量监控程序将每次扫描计算出的进程上行速度和下行速度发送到控制节点的数据库,以便后期查询。
为方便理解,下面结合具体的实例对本发明作进一步说明:
1、在计算节点上启动流量监控程序,并监听本地指定端口6343。
2、在计算节点上创建虚拟交换机,并启用sFlow,设置采样率1000,设置sFlow报文发送的目的端口为本地指定端口6343,虚拟交换机通过计算节点的物理网卡与物理交换机级联。
3、分别启动虚拟机A(网卡物理地址为FA:16:3E:76:AD:0B,IP地址为192.168.1.3)和虚拟机B(网卡物理地址为FA:16:3E:76:AD:0C,IP地址为192.168.1.4),将虚拟机A和虚拟机B的网卡连接到虚拟交换机。
4、在虚拟机A中安装进程监控程序A并启动,与流量监控程序建立连接,并获取虚拟机唯一标识001。同理,在虚拟机B中安装进程监控程序B并启动,与流量监控程序建立连接,并获取虚拟机唯一标识002。
5、进程监控程序A周期性采集虚拟机A中运行的进程信息(包括虚拟机唯一标识、进程号、进程名、进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址等。例如:[虚拟机唯一标识:001,进程号:696,进程名:QQ.exe,网卡物理地址:FA:16:3E:76:AD:0B,进程通信使用的IP地址:192.168.1.3,进程通信使用的端口号:49625,进程通信使用的协议类型:udp]),将进程信息发送给流量监控程序。同理,进程监控程序B周期性采集虚拟机B中运行的进程信息(例如:[虚拟机唯一标识:002,进程号:8962,进程名:mysqld,网卡物理地址:FA:16:3E:76:AD:0C,进程通信使用的IP地址:192.168.1.4,进程通信使用的端口号:3306,进程通信使用的协议类型:tcp]),并发送给流量监控程序。
表1:上行流量表
索引(源物理地址,源IP地址,源端口号,协议类型) 包大小(字节) 采样率
(FA:16:3E:76:AD:0B,192.168.1.3,80,tcp) 51523 1000
(FA:16:3E:76:AD:0B,192.168.1.3,9842,tcp) 78534 1000
(FA:16:3E:76:AD:0B,192.168.1.3,49410,udp) 5603 1000
(FA:16:3E:76:AD:0C,192.168.1.4,3306,tcp) 456036 1000
表2:下行流量表
索引(目的物理地址,目的IP地址,目的端口号,协议类型) 包大小(字节) 采样率
(FA:16:3E:76:AD:0B,192.168.1.3,80,tcp) 2123 1000
(FA:16:3E:76:AD:0B,192.168.1.3,9842,tcp) 456036 1000
(FA:16:3E:76:AD:0B,192.168.1.3,49410,udp) 3613 1000
(FA:16:3E:76:AD:0C,192.168.1.4,3306,tcp) 78534 1000
(FA:16:3E:76:AD:0B,192.168.1.3,49625,udp) 2476 1000
6、参见表1所示,流量监控程序从收到的sFlow报文(例如:[源物理地址:FA:16:3E:76:AD:0B,目的物理地址:FA:16:3E:76:AD:0C,源IP地址:192.168.1.3,目的IP地址:192.168.1.4,源端口号:9842,目的端口号:3306,协议类型:tcp,包大小:1289,采样率:1000])中提取源物理地址、源IP地址、源端口号、协议类型组成上行流量关键字(FA:16:3E:76:AD:0B,192.168.1.3,9842,tcp),查找上行流量表,如果表中没有匹配的相应记录,则插入一条记录,其索引为该上行流量关键字,包大小为sFlow报文中的包大小1289,采样率为sFlow报文中的采样率1000;如果表中有匹配的相应记录,则将该记录中的包大小加上sFlow报文中的包大小1289,采样率为sFlow报文中的采样率1000。参见表2所示,流量监控程序从收到的sFlow报文中提取目的物理地址、目的IP地址、目的端口号、协议类型组成下行流量关键字(FA:16:3E:76:AD:0C,192.168.1.4,3306,tcp),查找下行流量表,如果表中没有匹配的相应记录,则插入一条记录,其索引为该下行流量关键字,包大小为sFlow报文中的包大小1289,采样率为sFlow报文中的采样率1000;如果表中有匹配的相应记录,则将该记录中的包大小加上sFlow报文中的包大小1289,采样率为sFlow报文中的采样率1000。
表3:进程表
7、参见表3所示,流量监控程序从收到的进程信息(例如:[虚拟机唯一标识:001,进程号:2334,进程名:httpd,网卡物理地址:FA:16:3E:76:AD:0B,进程通信使用的IP地址:192.168.1.3,进程通信使用的端口号:9842,进程通信使用的协议类型:tcp])中提取虚拟机唯一标识和进程号作为进程关键字(001,2334),查找进程表,如果表中没有匹配的相应记录,则插入一条记录,其索引为该进程关键字,值为进程名httpd和一个进程通信列表,将进程信息中的进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址保存到进程通信列表的第一个元素;如果表中有匹配的相应记录,则查看进程信息中的进程通信使用的IP地址192.168.1.3、进程通信使用的端口号9842、进程通信使用的协议类型tcp、网卡物理地址FA:16:3E:76:AD:0B是否与进程通信列表[(FA:16:3E:76:AD:0B,192.168.1.3,80,tcp)]中的某个元素一致,如果没有相同元素,则向进程通信列表中插入一个元素并更新相应字段,生成新的进程通信列表[(FA:16:3E:76:AD:0B,192.168.1.3,80,tcp),(FA:16:3E:76:AD:0B,192.168.1.3,9842,tcp)]。
8、流量监控程序周期性扫描进程表的每一条记录(例如:索引为(001,2334)的记录)中进程通信列表[(FA:16:3E:76:AD:0B,192.168.1.3,80,tcp),(FA:16:3E:76:AD:0B,192.168.1.3,9842,tcp)]的每个元素,用进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址组成关键字,查找上行流量表,如果表中有匹配的相应记录,则取出该记录的包大小字段和采样率字段,并删除该记录,该进程httpd的上行速度(2167616字节/秒)=进程通信列表每个元素((FA:16:3E:76:AD:0B,192.168.1.3,80,tcp)和(FA:16:3E:76:AD:0B,192.168.1.3,9842,tcp))查询出来的包大小字段之和(51523+78534字节)×采样率(1000)÷扫描的周期(60秒);同理,用进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址组成关键字,查找下行流量表,如果表中有匹配的相应记录,则取出该记录的包大小字段和采样率字段,并删除该记录,该进程httpd的下行速度(7635983字节/秒)=进程通信列表每个元素((FA:16:3E:76:AD:0B,192.168.1.3,80,tcp)和(FA:16:3E:76:AD:0B,192.168.1.3,9842,tcp))查询出来的包大小字段之和(2123+456036字节)×采样率(1000)÷扫描的周期(60秒)。扫描完成后清空进程表的所有记录。
9、流量监控程序将每次扫描计算出的进程上行速度和下行速度发送到控制节点的数据库,以便后期查询。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (9)

1.一种基于sFlow的虚拟机进程流量监控方法,基于服务器虚拟化系统实现,其特征在于,该方法包括以下步骤:
步骤S1.在计算节点上启动流量监控程序,并监听本地的指定端口;
步骤S2.在计算节点上创建虚拟交换机并启用sFlow,设置采样率,将sFlow报文发送的目的端口设置为所述指定端口;
步骤S3.在虚拟机中安装进程监控程序并启动,与所属计算节点的流量监控程序建立连接,并获取每个虚拟机的ID作为各虚拟机的唯一标识;
步骤S4.进程监控程序周期性采集虚拟机中运行的进程信息,并将其发送给所述流量监控程序;
步骤S5.流量监控程序从虚拟交换机发送的sFlow报文中提取相关信息分别构造上行流量表和下行流量表;流量监控程序从接收到的进程信息中提取相关信息构造进程表;
步骤S6.流量监控程序周期性扫描进程表的每一条记录,并提取相关参数组成关键字,分别查找上行流量表和下行流量表,从而统计出每个虚拟机中每个进程的上行速度和下行速度。
2.如权利要求1所述的基于sFlow的虚拟机进程流量监控方法,其特征在于,还包括以下步骤:
步骤S7.流量监控程序将每次扫描计算出的进程上行速度和下行速度发送到控制节点的数据库,以便后期查询。
3.如权利要求1所述的基于sFlow的虚拟机进程流量监控方法,其特征在于,步骤S5中,所述流量监控程序从虚拟交换机发送的sFlow报文中提取源物理地址、源IP地址、源端口号、目的物理地址、目的IP地址、目的端口号、协议类型、包大小、采样率,用来分别构造上行流量表和下行流量表。
4.如权利要求3所述的基于sFlow的虚拟机进程流量监控方法,其特征在于,所述构造上行流量表的具体步骤为:
流量监控程序从虚拟交换机发送的sFlow报文中提取源物理地址、源IP地址、源端口号、协议类型组成上行流量关键字,查找上行流量表,若不存在匹配的相应记录,则插入一条记录,其索引为该上行流量关键字,包大小为sFlow报文中的包大小,采样率为sFlow报文中的采样率;若存在匹配的相应记录,则将该记录中的包大小加上sFlow报文中的包大小,采样率为sFlow报文中的采样率。
5.如权利要求3所述的基于sFlow的虚拟机进程流量监控方法,其特征在于,所述构造下行流量表的具体步骤为:
流量监控程序从虚拟交换机发送的sFlow报文中提取目的物理地址、目的IP地址、目的端口号、协议类型组成下行流量关键字,查找下行流量表,若不存在匹配的相应记录,则插入一条记录,其索引为该下行流量关键字,包大小为sFlow报文中的包大小,采样率为sFlow报文中的采样率;若存在匹配的相应记录,则将该记录中的包大小加上sFlow报文中的包大小,采样率为sFlow报文中的采样率。
6.如权利要求1所述的基于sFlow的虚拟机进程流量监控方法,其特征在于,步骤S5中,所述流量监控程序从接收到的进程信息中提取虚拟机唯一标识、进程号、进程名、进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址,用来构造进程表。
7.如权利要求6所述的基于sFlow的虚拟机进程流量监控方法,其特征在于,所述构造进程表的具体步骤为:
流量监控程序从接收到的进程信息中提取虚拟机唯一标识和进程号作为进程关键字,查找进程表;
若不存在匹配的相应记录,则插入一条记录,其索引为该进程关键字,值为进程名和一个进程通信列表,将进程信息中的进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址保存到进程通信列表的第一个元素;
若存在匹配的相应记录,则查看进程信息中的进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址是否与进程通信列表中的某个元素一致,如果没有相同元素,则向进程通信列表中插入一个元素并更新相应字段。
8.如权利要求7所述的基于sFlow的虚拟机进程流量监控方法,其特征在于:步骤S6中,所述相关参数包括进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址。
9.如权利要求8所述的基于sFlow的虚拟机进程流量监控方法,其特征在于,步骤S6中,统计出每个虚拟机中每个进程的上行速度和下行速度的具体步骤为:
流量监控程序周期性扫描进程表的每一条记录中的进程通信列表的每个元素,用进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址组成关键字,查找上行流量表,若存在匹配的相应记录,则取出该记录的包大小字段和采样率字段,并删除该记录;若不存在匹配的相应记录,则用下一个元素查找上行流量表;该进程的上行速度=进程通信列表每个元素查询出来的包大小字段之和×采样率÷扫描的周期;
流量监控程序周期性扫描进程表的每一条记录中的进程通信列表的每个元素,用进程通信使用的IP地址、进程通信使用的端口号、进程通信使用的协议类型、网卡物理地址组成关键字,查找下行流量表,若存在匹配的相应记录,则取出该记录的包大小字段和采样率字段,并删除该记录;若不存在匹配的相应记录,则用下一个元素查找下行流量表;该进程的下行速度=进程通信列表每个元素查询出来的包大小字段之和×采样率÷扫描的周期;
扫描完成后清空进程表的所有记录。
CN201410767417.0A 2014-12-12 2014-12-12 一种基于sFlow的虚拟机进程流量监控方法 Active CN104378264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410767417.0A CN104378264B (zh) 2014-12-12 2014-12-12 一种基于sFlow的虚拟机进程流量监控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410767417.0A CN104378264B (zh) 2014-12-12 2014-12-12 一种基于sFlow的虚拟机进程流量监控方法

Publications (2)

Publication Number Publication Date
CN104378264A CN104378264A (zh) 2015-02-25
CN104378264B true CN104378264B (zh) 2017-09-15

Family

ID=52556937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410767417.0A Active CN104378264B (zh) 2014-12-12 2014-12-12 一种基于sFlow的虚拟机进程流量监控方法

Country Status (1)

Country Link
CN (1) CN104378264B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034052B (zh) * 2015-03-13 2019-05-17 北京网御星云信息技术有限公司 一种对虚拟机间二层流量进行监控的系统及方法
US10972371B2 (en) 2015-03-27 2021-04-06 Intel Corporation Technologies for GPU assisted network traffic monitoring and analysis
CN104796305A (zh) * 2015-05-07 2015-07-22 浪潮电子信息产业股份有限公司 一种安全审计的方法及装置
CN108270722B (zh) * 2016-12-30 2021-08-24 阿里巴巴集团控股有限公司 一种攻击行为检测方法和装置
CN107623611B (zh) * 2017-09-22 2021-03-02 国云科技股份有限公司 一种云平台虚拟机的流量监控系统
CN108306784B (zh) * 2017-12-26 2020-12-01 广东睿江云计算股份有限公司 一种统计XenServer池虚拟机总流量的方法
CN108400905B (zh) * 2018-01-31 2020-06-19 浪潮云信息技术有限公司 一种处理分布式存储端到端流量分析的方法
CN110198246B (zh) * 2018-02-26 2021-12-14 腾讯科技(北京)有限公司 一种流量监控的方法及系统
CN109150589A (zh) * 2018-07-25 2019-01-04 赛尔网络有限公司 基于Open Stack虚拟网络阻塞异常的处理方法及系统
CN109194756A (zh) * 2018-09-12 2019-01-11 网宿科技股份有限公司 应用程序特征信息提取方法及装置
CN109412888B (zh) * 2018-10-09 2021-02-02 迈普通信技术股份有限公司 虚拟交换机监控方法及装置
CN111625541A (zh) * 2020-05-11 2020-09-04 紫光云技术有限公司 一种弹性公网ip按流量计量的方法
CN113765826B (zh) * 2020-06-01 2024-05-28 中移(苏州)软件技术有限公司 一种网络监控方法、平台、装置和计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103167034A (zh) * 2013-03-13 2013-06-19 河海大学 基于CloudStack虚拟节点的监控Agent的构建方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9065745B2 (en) * 2011-10-06 2015-06-23 International Business Machines Corporation Network traffic distribution

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103167034A (zh) * 2013-03-13 2013-06-19 河海大学 基于CloudStack虚拟节点的监控Agent的构建方法

Also Published As

Publication number Publication date
CN104378264A (zh) 2015-02-25

Similar Documents

Publication Publication Date Title
CN104378264B (zh) 一种基于sFlow的虚拟机进程流量监控方法
CN100384180C (zh) 用于监控网络流量的方法和设备
CN103765823B (zh) 用于开放流的控制器激励的oam的方法和系统
EP2429128B1 (en) Flow statistics aggregation
CN107634848B (zh) 一种采集分析网络设备信息的系统和方法
CN102379102B (zh) 网络成本分析
CN103595576B (zh) 一种基于内容提供商标识的互联口icp流量统计系统及方法
CN104935604B (zh) 一种基于OpenFlow协议的SDN防火墙系统和方法
CN103763149B (zh) 网络用户数的实时统计方法
CN106100999A (zh) 一种虚拟化网络环境中镜像网络流量控制协议
CN105763357B (zh) 一种系统拓扑的绘制方法及装置
CN103546343B (zh) 网络流量分析系统的网络流量展示方法和系统
CN101569137A (zh) 使用IPv6能力的有效性能监控
CN104965784B (zh) 自动测试方法及装置
CN107147535A (zh) 一种分布式的网络测量数据统计分析方法
CN102369690A (zh) 网络流量的分析
CN110071853A (zh) 一种报文统计方法及网络设备
CN102111453A (zh) 一种提取互联网用户网络行为的方法和系统
CN108667733A (zh) 一种网络设备及报文处理方法
CN106330584A (zh) 一种业务流的识别方法及识别装置
CN107645386A (zh) 一种获取数据资源的方法和装置
CN109151464A (zh) 基于大数据流处理的iptv机顶盒故障实时检测方法
CN111106969B (zh) 物联网平台的自动化评估方法及系统、存储介质
CN110932971A (zh) 一种基于请求信息逐层重构的域间路径分析方法
CN113037542A (zh) 一种基于软件定义网络的云网络拓扑构建方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 430000 Hubei city of Wuhan Province, East Lake New Technology Development Zone, Optics Valley Road No. 465 building 17 room 1701 creative

Applicant after: WUHAN OS-EASY CLOUD COMPUTING CO., LTD.

Address before: 430074 Hubei city of Wuhan Province, East Lake New Technology Development Zone, Optics Valley Road No. 465 building 17 room 1701 creative

Applicant before: WUHAN OS-EASY CLOUD COMPUTING CO., LTD.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant