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

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

Info

Publication number
CN104378264A
CN104378264A CN201410767417.0A CN201410767417A CN104378264A CN 104378264 A CN104378264 A CN 104378264A CN 201410767417 A CN201410767417 A CN 201410767417A CN 104378264 A CN104378264 A CN 104378264A
Authority
CN
China
Prior art keywords
sflow
virtual machine
process communication
record
address
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.)
Granted
Application number
CN201410767417.0A
Other languages
English (en)
Other versions
CN104378264B (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.如权利要求1所述的基于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 true CN104378264A (zh) 2015-02-25
CN104378264B 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)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796305A (zh) * 2015-05-07 2015-07-22 浪潮电子信息产业股份有限公司 一种安全审计的方法及装置
CN106027323A (zh) * 2015-03-27 2016-10-12 英特尔公司 用于gpu辅助网络话务监控和分析的技术
CN106034052A (zh) * 2015-03-13 2016-10-19 北京网御星云信息技术有限公司 一种对虚拟机间二层流量进行监控的***及方法
CN107623611A (zh) * 2017-09-22 2018-01-23 国云科技股份有限公司 一种云平台虚拟机的流量监控***
CN108270722A (zh) * 2016-12-30 2018-07-10 阿里巴巴集团控股有限公司 一种攻击行为检测方法和装置
CN108306784A (zh) * 2017-12-26 2018-07-20 广东睿江云计算股份有限公司 一种统计XenServer池虚拟机总流量的方法
CN108400905A (zh) * 2018-01-31 2018-08-14 山东汇贸电子口岸有限公司 一种处理分布式存储端到端流量分析的方法
CN109150589A (zh) * 2018-07-25 2019-01-04 赛尔网络有限公司 基于Open Stack虚拟网络阻塞异常的处理方法及***
CN109194756A (zh) * 2018-09-12 2019-01-11 网宿科技股份有限公司 应用程序特征信息提取方法及装置
CN109412888A (zh) * 2018-10-09 2019-03-01 迈普通信技术股份有限公司 虚拟交换机监控方法及装置
CN110198246A (zh) * 2018-02-26 2019-09-03 腾讯科技(北京)有限公司 一种流量监控的方法及***
CN111625541A (zh) * 2020-05-11 2020-09-04 紫光云技术有限公司 一种弹性公网ip按流量计量的方法
CN113765826A (zh) * 2020-06-01 2021-12-07 中移(苏州)软件技术有限公司 一种网络监控方法、平台、装置和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130088969A1 (en) * 2011-10-06 2013-04-11 International Business Machines Corporation Network traffic distribution
CN103167034A (zh) * 2013-03-13 2013-06-19 河海大学 基于CloudStack虚拟节点的监控Agent的构建方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130088969A1 (en) * 2011-10-06 2013-04-11 International Business Machines Corporation Network traffic distribution
CN103167034A (zh) * 2013-03-13 2013-06-19 河海大学 基于CloudStack虚拟节点的监控Agent的构建方法

Cited By (22)

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

Also Published As

Publication number Publication date
CN104378264B (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
CN104378264A (zh) 一种基于sFlow的虚拟机进程流量监控方法
CN101335686B (zh) 一种在网络设备上进行数据流量分析管理的方法
CN106101015B (zh) 一种移动互联网流量类别标记方法和***
US7840664B2 (en) Automated characterization of network traffic
JP5660198B2 (ja) ネットワークシステム、及びスイッチ方法
KR101409311B1 (ko) 패킷 처리 및 전처리기를 위한 장치 및 방법
CN106100999A (zh) 一种虚拟化网络环境中镜像网络流量控制协议
CN101505219B (zh) 一种防御拒绝服务攻击的方法和防护装置
CN104935604B (zh) 一种基于OpenFlow协议的SDN防火墙***和方法
CN103248724A (zh) 一种基于sdn控制器的dhcp广播处理方法
CN104778042A (zh) 一种基于事件流处理和插件式开发框架的流数据处理方法
CN103260190B (zh) 基于lte长期演进***网络的安全审计方法
WO2020228527A1 (zh) 数据流的分类方法和报文转发设备
CN105763357B (zh) 一种***拓扑的绘制方法及装置
CN104994076A (zh) 一种基于机器学习的日常访问模型实现方法及***
CN101465809B (zh) 一种网络流量管理方法、设备和***
JP2011154489A (ja) システム可視化プログラム、方法及び装置
CN109151464A (zh) 基于大数据流处理的iptv机顶盒故障实时检测方法
CN104243237A (zh) P2p流检测方法和设备
CN102148699A (zh) 用于提供聚集警报指示信号的***和方法
CN105007175A (zh) 一种基于openflow的流深度关联分析方法及***
CN108337122B (zh) 基于分布式流计算的运维管理***
CN113746654A (zh) 一种IPv6地址管理和流量分析的方法和装置
CN113037542A (zh) 一种基于软件定义网络的云网络拓扑构建方法
CN102412949B (zh) 一种分布式***中nat端口资源支持双控制板的方法

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