一种基于流表技术的自动感知并适应云环境变化的方法和系统技术方案

技术编号:17659998 阅读:37 留言:0更新日期:2018-04-08 11:39
本发明专利技术涉及一种基于流表技术的自动感知并适应云环境变化的系统和方法。其目的是提供一种基于流表技术的自动感知并适应云环境变化的方法和系统,能实现自动感知云环境的变化并实现相应的变更处理,从而不需要人工巡查每一台宿主机,响应速度快且节省配置时间。该系统包括:部署在业务性能监控主机上的控制器和多个代理程序,所述多个代理程序分别部署在每一台宿主机上;所述控制器负责核对虚拟主机或容器是否发生变化,并发出修改处理的指令到宿主机,所述代理程序负责实现虚拟主机信息的收集和流表的管理;其中,控制器包括:通信服务模块、配置模块、状态维护模块、报警模块和系统模块。代理程序包括:通信模块、控制模块、比对模块和运行模块。

【技术实现步骤摘要】
一种基于流表技术的自动感知并适应云环境变化的方法和系统
本专利技术涉及性能监控
,具体来说,是涉及一种基于流表技术的自动感知并适应云环境变化的方法和系统。
技术介绍
传统的基础架构或系统平台中的资源都不能动态配置,因此应用程序在设计的时候主要考虑自身的业务逻辑的实现,而应用程序本身的监控和管理都是通过其他系统管理软件或人为手动配置的方式来实现。有一些管理得比较好的应用程序,可以通过这些系统管理软件实现部分资源的动态调整。但是,这些传统的应用程序本身对底层平台的运行情况是没有任何感知的。随着云计算的出现,应用程序本身的自动化逐渐成为可能。在云环境中做应用架构设计面对的是底层抽象的、几乎无限的计算资源,而不是传统意义上的物理资源,这种设计方式也是应用程序与底层计算平台松耦合的一种体现,从而使得应用程序不绑定具体物理硬件。云计算从发展至今已经超过了10年,其版图不断地扩充和变化。目前已经呈现出公有云、私有云、行业云、混合云并存的市场格局。当一个云环境发展到一定的阶段,会自动把数据和应用进行分类。一些重要的数据、敏感的应用会被迁移到私有云上运行;而另一些不重要的数据、安全的应用则会被迁移到公有云上运行。因此在一个成熟的云环境中,根据部署策略发生虚拟主机或者容器迁移、应用发生变化是十分频繁的。目前在云环境中监控各类应用和数据的普遍方法是:技术人员相隔一段时间对云中的各个宿主机巡检一次,查看宿主机中各个虚拟主机或者容器的配置变更或迁移情况。当发现有配置变化或迁移时,获取相关的变化信息,再手工去更改数据交换设备的配置,以获取需要监控的数据流量。这样的方法存在3个明显的缺陷:(1)云环境系统庞大、结构复杂,当某一个虚拟主机或容器发生配置变化后,得先找到相对应得宿主机,这并不能容易地找到;(2)在云环境中主机迁移频繁,所需监控的配置也随之会发生频繁的变化,来匹配变化所花费的时间也变得更长;(3)监控系统在获取主机的迁移信息后,需人工核对迁移信息再对虚拟交换设备进行配置更改,以确保监控数据准确,浪费大量的人力成本。
技术实现思路
本专利技术的目的是提供一种基于流表技术的自动感知并适应云环境变化的方法,能实现自动感知云环境的变化并实现相应的变更处理,从而不需要人工巡查每一台宿主机,响应速度快且节省配置时间。本专利技术的另一目的是提供一种能实现上述方法的系统。本专利技术的目的是这样实现的:一种基于流表技术的自动感知并适应云环境变化的方法,该方法包括以下步骤:(1)代理程序轮询、收集虚拟交换机的信息,至少包括:当前虚拟交换机的流表信息、各虚拟主机或容器设备的识别号;(2)代理程序将收集的信息上传给控制器;(3)控制器收集、比较虚拟主机或者容器设备的识别号并判断变化:根据已配置的对应规则表查找对应关系记录;(4)控制器将对应关系记录下发给各个代理程序;(5)代理程序根据对应规则比对当前的流表配置;(6)更改流表、下发新流表给虚拟交换机并更新虚拟交换机的流表配置;(7)保存修改后的流表信息到流表日志中,代理程序将宿主机及虚拟主机或者容器的流表日志上传给控制器;(8)控制器接受宿主机及虚拟主机或者容器的流表日志;(9)控制器记录代理程序所在宿主机及虚拟主机或容器的相关信息,如果有告警信息则上传给业务监控系统。其中,所述步骤(6)中代理程序通过虚拟交换机的外置控制器对虚拟交换机的流表配置进行更新。另外,当代理程序由于所在宿主机发生关闭或者重启的情况时,会保存相关的告警信息并将告警信息以日志(log)形式上传给控制器,控制器接受到告警信息后,和自身告警信息进行整合,最后再上传给业务性能处理主机,供后续数据的再处理。一种基于流表技术的自动感知并适应云环境变化的系统,包括:部署在业务性能监控主机上的控制器和多个代理程序,所述多个代理程序分别部署在每一台宿主机上;所述控制器负责核对虚拟主机或容器是否发生变化,并发出修改处理的指令到宿主机,所述代理程序负责实现虚拟主机信息的收集和流表的管理。其中,控制器包括:通信服务模块、配置模块、状态维护模块、报警模块和系统模块。代理程序包括:通信模块、控制模块、比对模块和运行模块。通信服务模块,用于与各代理程序相互通信、监测每一个代理程序的通信状态并接受代理程序发送过来的代理程序的log信息及告警信息、下发状态维护模块摘取的对应关系记录给代理程序。其中,通信协议采用TCP/IP协议,并且为了通信安全,采用SSL数据加密算法。配置模块,用于对应规则表的配置,以及对每个代理程序轮询时间的配置,所述对应规则表记录了整个云环境中各个虚拟主机或者容器与监控流量之间的对应关系。其中,对应规则表一般以文件形式存放在业务性能监控主机的本地。对每个代理程序轮询时间的配置,可以按照10s、20s、60s、120s等进行设置。状态维护模块,用于对系统状态进行监控,包括:(1)控制器自身状态的监控:当控制器所在主机关闭时控制器自动关闭,控制器所在主机重启时控制器自动重启;当控制器进程发生hang或者killed时控制器自动重启。(2)通过心跳检测获取控制器没收到代理程序的心跳超时时间,若超过预设时间就认为该代理程序hang或者killed。(3)接受代理程序上传的虚拟交换机的配置信息,比对对应规则表并摘取相关的对应关系记录;和/或(4)记录控制器的log信息,所述控制器的log信息包括控制器自身的运行状态和各个代理程序的告警信息。其中,所述控制器的log信息包括但不限于:时间、代理进程的操作类型、代理进程所在虚拟主机、容器的设备号、代理进程所在宿主机的关闭重启、代理进程的进程信息。报警模块,用于接受告警信息,包括:(1)当某个代理程序发生工作不正常情况时,接受该代理程序发送的告警信息,所述代理程序发送的告警信息的内容和代理程序的log信息里的记录一致;(2)按时收集并统计控制器自身的告警信息;以及(3)将告警信息发送给业务监控系统,供统计和数据再利用。系统模块,用于实现控制器的安装、升级及卸载。优选地,系统模块对控制器每一次的系统级操作进行记录,安装、升级及卸载操作分别记录在不同的日志文件里。通信模块,用于与控制器相互通信、上传控制模块所收集的所有虚拟交换机的配置信息给控制器、上传代理程序的log信息给控制器。具体地,当代理程序所在的宿主机发生状态变化、虚拟主机或者容器发生关闭、代理程序发生hang或者killed时,待宿主机恢复后,所述通信模块上传相应的log信息给控制器,供控制器的报警模块调用。其中,通信协议采用TCP/IP协议,并且为了通信安全,采用AES数据加密算法或SSL数据加密算法。控制模块,用于轮询代理程序所在宿主机中的虚拟交换机、获取虚拟交换机的信息并保存在宿主机的缓存中、收集代理程序所在宿主机上所有虚拟主机的信息、更改流表、下发新流表给虚拟交换机的控制程序并修改虚拟交换机的流表配置、保存修改后的流表信息到流表日志中。其中,所述获取虚拟交换机的信息并保存在宿主机的缓存中,包括并不限于获取以下信息:当前的流表配置、虚拟交换机的端口列表、虚拟主机或者容器的设备号;所述收集代理程序所在宿主机上所有虚机的信息,包括并不限于收集以下信息:虚拟主机或者容器编号、宿主机IP地址、登陆用户、数据流动方向、过滤规则;所述更改流表有三本文档来自技高网
...
一种基于流表技术的自动感知并适应云环境变化的方法和系统

【技术保护点】
一种基于流表技术的自动感知并适应云环境变化的方法,其特征在于,该方法包括以下步骤:(1)代理程序轮询、收集虚拟交换机的信息,至少包括:当前虚拟交换机的流表信息、各虚拟主机或容器设备的识别号;(2)代理程序将收集的信息上传给控制器;(3)控制器收集、比较虚拟主机或者容器设备的识别号并判断变化:根据已配置的对应规则表查找对应关系记录;(4)控制器将对应关系记录下发给各个代理程序;(5)代理程序根据对应规则比对当前的流表配置;(6)更改流表、下发新流表给虚拟交换机并更新虚拟交换机的流表配置;(7)保存修改后的流表信息到流表日志中,代理程序将宿主机及虚拟主机或者容器的流表日志上传给控制器;(8)控制器接受宿主机及虚拟主机或者容器的流表日志;(9)控制器记录代理程序所在宿主机及虚拟主机或容器的相关信息,如果有告警信息则上传给业务监控系统。

【技术特征摘要】
1.一种基于流表技术的自动感知并适应云环境变化的方法,其特征在于,该方法包括以下步骤:(1)代理程序轮询、收集虚拟交换机的信息,至少包括:当前虚拟交换机的流表信息、各虚拟主机或容器设备的识别号;(2)代理程序将收集的信息上传给控制器;(3)控制器收集、比较虚拟主机或者容器设备的识别号并判断变化:根据已配置的对应规则表查找对应关系记录;(4)控制器将对应关系记录下发给各个代理程序;(5)代理程序根据对应规则比对当前的流表配置;(6)更改流表、下发新流表给虚拟交换机并更新虚拟交换机的流表配置;(7)保存修改后的流表信息到流表日志中,代理程序将宿主机及虚拟主机或者容器的流表日志上传给控制器;(8)控制器接受宿主机及虚拟主机或者容器的流表日志;(9)控制器记录代理程序所在宿主机及虚拟主机或容器的相关信息,如果有告警信息则上传给业务监控系统。2.如权利要求1所述的方法,其特征在于:所述步骤(6)中代理程序通过虚拟交换机的外置控制器对虚拟交换机的流表配置进行更新。3.如权利要求1所述的方法,其特征在于,该方法还包括:当代理程序由于所在宿主机发生关闭或者重启的情况时,会保存相关的告警信息并将告警信息以日志形式上传给控制器,控制器接受到告警信息后,和自身告警信息进行整合,最后再上传给业务性能处理主机,供后续数据的再处理。4.一种基于流表技术的自动感知并适应云环境变化的系统,其特征在于,包括:部署在业务性能监控主机上的控制器和多个代理程序,所述多个代理程序分别部署在每一台宿主机上;所述控制器负责核对虚拟主机或容器是否发生变化,并发出修改处理的指令到宿主机,所述代理程序负责实现虚拟主机信息的收集和流表的管理;所述控制器包括:通信服务模块,用于与各代理程序相互通信、监测每一个代理程序的通信状态并接受代理程序发送过来的代理程序的日志信息及告警信息、下发状态维护模块摘取的对应关系记录给代理程序;配置模块,用于对应规则表的配置,以及对每个代理程序轮询时间的配置,所述对应规则表记录了整个云环境中各个虚拟主机或者容器与监控流量之间的对应关系;状态维护模块,用于对系统状态进行监控;报警模块,用于接受告警信息;系统模块,用于实现控制器的安装、升级及卸载;所述代理程序包括:通信模块,用于与控制器相互通信、上传控制模块所收集的所有虚拟交换机的配置信息给控制器、上传代理程序的日志信息给控制器;控制模块,用于轮询代理程序所在宿主机中的虚拟交换机、获取虚拟交换机的信息并保存在宿主机的缓存中、收集代理程序所在宿...

【专利技术属性】
技术研发人员:杨光辉贺晓麟金盾王涛周育樑
申请(专利权)人:上海天旦网络科技发展有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1