一种面向云平台的业务特征时序数据包采集方法与流程

文档序号:12133992阅读:259来源:国知局
本发明涉及云计算
技术领域
:,特别是一种面向云平台的业务特征时序数据包采集方法。
背景技术
::网络数据采集是利用互联网搜索引擎技术实现有针对性、行业性、精准性的数据抓取,并按照一定规则和筛选标准进行数据归类,并形成数据库文件的一个过程。随着云平台的普及,很多用户将业务系统迁移到云平台上来。云平台中的网络中含有丰富的业务网络数据,其网络数据采集和云平台的网络数据采集比较少探讨,尤其是针对云平台的业务系统的网络数据包采集就更少了;怎么能够将这些数据进行采集并挖掘业务的网络数据价值呢,是一个比较有意义的探索方向。技术实现要素:本发明解决的技术问题在于提出了一种面向云平台的业务特征时序数据包采集方法,通过本发明提供的采集方法,可以精确采集用户需要的时序数据流信息,支持较大规模的云平台的数据采集,为时序数据的分析提供了较好的数据源收集方法。本发明解决上述技术问题的技术方案是:所述的方法是:(1)网络采集控制器对外提供业务特征模板,用户根据模板完成业务特征实例填充;(2)采集控制器将业务特征实例转换成网络数据包采集实例并持久化到数据库表中;(3)采集控制器通知网络采集代理Agent,并接受网络采集代理Agent的采集流规则变更消息并处理;(4)网络采集代理Agent接受网络控制器的通知消息;(5)网络采集代理Agent处理消息,建立采集规则,采集网络时序数据到数据库中。所述业务特征模板是描述业务提供的服务源地址信息,包括服务源端口、服务协议信息、服务描述、服务目的地址、服务目的端口,其中地址信息可以为域名服务地址或IP地址,服务源端口、服务描述、服务目的地址、服务目的端口可以为空,服务协议可以是HTTP、FTP、Telnet、SMTP、NFS、DNS、DHCP;所述的网络数据包采集实例,包含源IP地址,源端口,采集协议,服务简要描述,目的IP地址,目的端口,用户ID,端口ID,端口所属的主机名称,采集流规则ID;其中,采集流规则ID自动生成并全局唯一性。所述的业务特征实例转换成网络数据包采集实例的具体方法是:(1)将服务协议信息通过预定义规则转换为传输层或网络层的采集协议;所述的转换包括:HTTP、FTP、Telnet、SMTP、NFS协议转换为TCP协议,DNS协议转换为不限定的IP协议,DHCP协议转换为UDP协议;其中采集协议包含TCP、UDP、ICMP协议或不限定的IP协议;(2)服务地址信息为域名地址,则通过域名服务解析出IP地址;(3)根据用户ID和服务源IP地址查询云平台中网络组件中的端口信息,获取端口ID和端口所属的主机名称。所述的通知网络采集代理Agent是:(1)通知消息包含建立采集流规则消息、删除采集流规则消息,建立消息中包含网络数据包采集实例,删除采集规则消息中包含采集流规则ID;(2)通知的代理Agent地址为端口所属的主机名称。所述的接受网络采集代理Agent的采集流规则变更消息并处理是:(1)接受消息中采集流规则变更ID,查询网络数据包采集实例表中端口的ID和所属主机节点信息;(2)根据端口ID重新获取云平台中网络组件的端口ID和端口所属的主机名称;(3)如果没有获取到端口的信息,则向原有的网络采集代理Agent发送删除采集流规则消息;如果获取成功,端口所属的主机名称有更新,则端口所属的主机名称的网络采集代理Agent发送建立采集流规则通知消息,向旧的网络采集代理Agent发送删除采集流规则消息;所述的网络采集代理Agent名称和云平台中的主机名称一致。所述的网络采集代理Agent处理消息是:如果消息为新建采集规则消息,则建立数据包采集流规则;并定期检验采集流规则是否失效,如果失效,则向网络采集控制器发送通知采集流规则变更请求,如果没失效,则收集流规则下的数据流信息,将采集的数据流信息和流规则ID一起按照时序关系保存到时序数据的表中;消息为删除采集规则消息,则删除数据包采集流规则。所述的数据包采集流规则和数据流信息是:(1)建立采集流规则过程:根据网络数据包采集实例中端口ID和虚拟交换机上的端口信息,查询主机上端口ID对应的虚拟接口的网络索引号;根据索引号、网络数据包采集实例参数中源IP地址、协议类型、源端口、目的IP地址、目的端口组合生成过滤条件,其组合为“并且”关系,包括:inputifindex=1170&ipsource=183.2.251.199&tcpsourceport=80,其中inputifindex为端口索引号、ipsource为源IP地址、tcpsourceport为tcp协议源地址端口;如果对应参数值为空,则不作为过滤条件;常规流查询项包含源IP地址、目的IP地址,如果协议为TCP,则常规查询项还包含源端口、目的端口;根据常规流查询项和过滤条件,建立数据包采集流规则;(2)数据包采集规则其名称和网络数据包采集实例中的采集流规则ID一致;(3)检验采集流规则是否失效的过程:获取采集流规则中过滤条件中网络索引号,查询主机上的网络索引号是否还存在,如果不存在,则流规则已经失效了,如果存在,则没失效;(4)在虚拟机交换机上经过该端口的进入的数据包如果符合到采集流规则,则会统计到含有常规流查询项的数据流项信息,包括源IP地址、目的IP地址、流量大小信息,采集得到数据流项含有时序先后特征。本发明方案的有益效果如下:可以精确采集用户需要的时序数据流信息,支持较大规模的云平台的数据采集,为时序数据的分析提供了较好的数据源收集方法。附图说明下面结合附图对本发明进一步说明:图1为本发明的流程图。具体实施方式如图1所示,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。(1)对外提供面向用户的业务系统提供的业务特征描述模板bussiness_temple:服务源地址信息、协议类型、服务端口进行说明,如对外提供tomcat服务,采用183.2.251.199外网IP,https协议,80端口。一下业务特征实例以JSON格式描述:(2)、将业务特征实例转化为网络数据包采集实例datacollector_temple_instance,并更新到数据库中、通知网络数据采集代理Agent(a)网络数据包收集控制器根据用户信息以及业务特征获取云平台网络组件中关联的分布式虚拟机交换机的虚拟端口信息;根据用户ID、ip信息查询云平台网络控制器中的网络端口列表,检索到虚拟端口信息,对外调用openstack开源云平台的neutron组件端口列表,neutron_controller:为网络组件控制器服务地址,说明:curl-i-XPOSThttp://neutron_controller:9696/v2.0/ports.json?tenant_id=”83eb652772a0450893da2f38eaed4a7a”,将获该租户下的端口列表信息,其中含有绑定的IP信息,分布式交换机的所在的节点名称;其中获取到该IP绑定的虚拟端口ID为:port_id=’012eb4b8-48f9-4cea-a591-96aa56e67cca’分布式交换机中某个交换机所在的主机名称为:”compute:node32”;(b)将端口信息以及业务特征信息组装成网络数据包采集特征,并记录到网络数据包采集模板datacollector_table表中,如下以JSON格式描述:(3)采集控制器通知网络采集代理Agent,并接受网络采集代理Agent的采集流规则变更消息并处理。其具体实现描述:采用第三方开源rabbitmq消息队列实现将通过RPC消息notify_datacollector函数,发送网络采集模板实例到网络数据采集代理Agent上。notify_datacollector函数:获取Agent的topic,新建采集规则,则将网络采集模板实例作为消息参数,组装发送。(4)网络采集代理Agent接受网络控制器的通知消息,以建立采集的流规则消息为例:其消息包含了一下JSON数据:(5)网络采集代理Agent接受网络控制器处理消息,以下以具体处理新建采集流规则描述为例说明:(a)接受到网络采集实例后获取port_id对应的ifindex索引具体以iplinklist命令和ovs-vsctlshow结合的方式查取到其ifindex号(b)将建立网络采集模板实例mapcache:(c)建立数据流采集规则以sflow-rt作为分布式虚拟交换机下的数据收集器,建立规则,一下举例建立一个规则:(d)开启线程池,定期遍历流采集流规则项列表,以及获取流规则下的数据流信息并保存至数据库中。将源Ip,目的Ip,流量信息、当前纳秒时间存放到数据库表中。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1