CN105915633B - 自动化运维系统和方法 - Google Patents
自动化运维系统和方法 Download PDFInfo
- Publication number
- CN105915633B CN105915633B CN201610389650.9A CN201610389650A CN105915633B CN 105915633 B CN105915633 B CN 105915633B CN 201610389650 A CN201610389650 A CN 201610389650A CN 105915633 B CN105915633 B CN 105915633B
- Authority
- CN
- China
- Prior art keywords
- task
- automation
- server
- automatic
- receiving
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了自动化运维系统和方法。所述自动化运维系统的一具体实施方式包括:任务接收服务器,用于从资源管理系统接收自动化任务,将所述自动化任务添加至相应的任务缓存队列并确定所述自动化任务的类型;任务分发服务器,用于将所述任务缓存队列中的自动化任务分发至对应类型的自动化任务处理服务器;以及自动化任务处理服务器,用于处理接收到的所述自动化任务。该实施方式降低了对资源管理系统和自动化任务处理服务器之间的耦合性的要求,从而降低了开发难度,能够提高运维效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及系统的维护或管理技术领域,尤其涉及自动化运维系统和方法。
背景技术
自动化平台可以为系统内所有的服务器自动化操作、网络自动化操作和DNS域名管理提供服务。目前,由于网络需求增加,系统规模逐渐增大,自动化任务量也随之增大。系统内各自动化处理模块之间独立开发并上线运行,各模块之间架构设计迥异,导致自动化平台运行效率低,难以高效维护。此外,各模块均配置了独立的日志处理方法,在本地存储日志,不利于高效率地对系统内自动化任务处理日志的查询和分析;各模块的配置信息也存储在本地,在修改配置时,需要重启相应的模块才能生效,可能会影响自动化运维业务的连贯性。
发明内容
有鉴于此,期望能够提供一种高效率、易维护的自动化运维管理架构,进一步地,还期望能够提供一种高效管理日志和配置信息的自动化运维系统。为了解决上述一个或多个问题,本申请提供了自动化运维系统和方法。
一方面,本申请提供了一种自动化运维系统,包括:任务接收服务器,用于从资源管理系统接收自动化任务,将所述自动化任务添加至相应的任务缓存队列并确定所述自动化任务的类型;任务分发服务器,用于将所述任务缓存队列中的自动化任务分发至对应类型的自动化任务处理服务器;以及自动化任务处理服务器,用于处理接收到的所述自动化任务。
在一些实施例中,所述自动化任务包括任务关键字;所述任务接收服务器包括:收发模块,用于从所述资源管理系统接收自动化任务并根据所述任务关键字确定所述自动化任务的类型;缓存模块,用于将所述自动化任务按照所述类型添加至相应的任务缓存队列;以及控制模块,用于从所述缓存队列提取所述自动化任务,并将所述自动化任务发送至任务分发服务器。
在一些实施例中,所述自动化任务处理服务器还用于生成自动化任务状态信息并发送至所述任务分发服务器;所述任务分发服务器还用于从所述自动化任务处理服务器接收所述自动化任务状态信息并发送至所述控制模块;所述控制模块还用于接收所述任务分发服务器发送的自动化任务状态信息;所述收发模块还用于向所述资源管理系统发送所述自动化任务状态信息。
在一些实施例中,所述缓存模块还用于将所述自动化任务状态信息添加至消息缓存队列;则所述收发模块进一步用于从所述消息缓存队列提取所述任务状态信息并向所述资源管理系统发送提取出的自动化任务状态信息。
在一些实施例中,所述自动化任务处理服务器还用于:配置任务类型;向所述任务分发服务器发送所述任务类型,以将所述任务类型注册至所述任务分发服务器。
在一些实施例中,所述任务分发服务器还用于:接收所述任务类型并将所述自动化任务处理服务器与所述任务类型关联地存储。
在一些实施例中,所述自动化任务处理服务器的任务类型包括以下至少一项:域名系统自动化、网络地址转换自动化、网关自动化、服务器自动化。
在一些实施例中,任务分发服务器还包括协议转换模块;所述协议转换模块用于在所述自动化任务处理服务器和所述任务分发服务器之间进行数据协议的转换。
在一些实施例中,所述任务接收服务器还包括第一日志采集模块,所述第一日志采集模块用于采集所述任务接收服务器的日志信息;所述任务分发服务器还包括第二日志采集模块,所述第二日志采集模块用于采集所述任务分发服务器的日志信息;所述自动化任务处理服务器还包括第三日志采集模块,所述第三日志采集模块用于采集所述自动化任务处理服务器的日志信息;以及所述系统还包括:日志管理服务器,用于分别通过所述第一日志采集模块、所述第二日志采集模块和所述第三日志采集模块获取所述任务接收服务器的日志信息、所述任务分发服务器的日志信息和所述自动化任务处理服务器日志信息。
在一些实施例中,所述系统还包括:配置更新服务器,用于对所述任务接收服务器、所述任务分发服务器、所述自动化任务处理服务器的配置信息进行更新。
第二方面,本申请提供了一种自动化运维方法,包括:从资源管理系统接收自动化任务,并确定所述自动化任务的类型,其中,所述自动化任务包括任务关键字;将所述自动化任务添加至相应的任务缓存队列;将所述任务缓存队列中的自动化任务发送至任务分发服务器,以供所述任务分发服务器将所述自动化任务分发至对应任务类型的自动化任务处理服务器。
在一些实施例中,所述方法还包括:接收所述任务分发服务器发送的自动化任务状态信息;向所述资源管理系统发送所述自动化任务状态信息;其中,所述自动化任务状态信息由所述自动化任务处理服务器生成。
在一些实施例中,在向所述资源管理系统发送所述自动化任务状态信息之前,所述方法还包括:将所述自动化任务状态信息添加至消息缓存队列;以及所述向所述资源管理系统发送所述自动化任务状态信息,包括:从所述消息缓存队列中读取所述自动化任务状态信息;向所述资源管理系统发送读取出的自动化任务状态信息。
在一些实施例中,所述自动化任务处理服务器的任务类型为预先配置并注册在所述任务分发服务器中的。
在一些实施例中,所述任务类型包括以下至少一项:域名系统自动化、网络地址转换自动化、网关自动化、服务器自动化。
在一些实施例中,所述方法还包括:采集运维日志信息,并向日志管理服务器发送所述运维日志信息;以及响应于监测到配置更新服务器的更新操作,对配置信息进行更新。
本申请提供的自动化运维系统和方法,通过任务接收服务器和任务分发服务器在资源管理系统和各自动化任务处理服务器之间进行通信,降低了对资源管理系统和各自动化任务处理服务器之间的耦合性的要求,从而降低了开发难度,进一步保证自动化业务的稳定、高效运行。
附图说明
通过阅读参照以下附图所作的对非限制性实施例详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是可以应用本申请的自动化运维系统的示意性的系统架构图;
图2是根据本申请的自动化运维系统的一个实施例的结构示意图;
图3是图2所示的自动化运维系统中的数据交互示意图;
图4是自动化运维系统的一个具体应用场景的原理示意图;
图5是根据本申请的自动化运维管理方法的一个实施例的流程图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了可以应用本申请的自动化运维系统的示意性的系统架构图。
如图1所示,系统架构100包括终端设备101、运维管理服务器 102以及自动化处理服务器103、104、105等。其中,终端设备101 可以通过有线连接或无线连接的方式与运维管理服务器102连接。
运维人员110可以使用终端设备101与运维管理服务器102交互。终端设备101可以安装控制运维管理服务器102的操作平台。运维人员110可以在操作平台上执行运维操作,终端设备101可以根据运维人员110的运维操作生成运维指令并向运维管理服务器发送该运维指令。操作平台还可以向运维人员110展示系统的运维状态。
运维管理服务器102可以接收终端设备101发送的运维指令,对指令进行解析后生成自动化处理请求,并向自动化处理服务器103、 104、105等发出自动化处理请求。
自动化处理服务器103、104、105可以执行自动化处理请求中包含的自动化处理任务,例如自动分配网络地址、磁盘格式化、服务器下线等。
应该理解,图1中的终端设备、运维管理服务器、自动化处理服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、运维管理服务器和自动化处理服务器。
请参考图2,其示出了根据本申请的自动化运维系统的一个实施例的结构示意图。如图2所示,所述的自动化运维系统200包括任务接收服务器210、任务分发服务器220和自动化任务处理服务器230。其中,任务接收服务器210用于从资源管理系统接收自动化任务,将自动化任务添加至相应的任务缓存队列并确定自动化任务的类型,任务分发服务器220用于将任务缓存队列中的自动化任务分发至对应类型的自动化任务处理服务器。自动化任务处理服务器230用于处理接收到的自动化任务。
在本实施例中,任务接收服务器210可以首先接收RMS(Resource Manage System,资源管理系统)发送的自动化任务。RMS用于管理网络系统内的计算机,实时监控各计算机的运行状态,并根据业务需求生成自动化任务。其中,自动化任务可以包括服务器自动化、网络自动化、DNS(Domain Name System,域名系统)管理等任务,具体地,自动化任务可以包括自动分配网络地址、系统重装、交换机更新、机器下线、自动分配域名、磁盘格式化等自动化操作任务。
任务接收服务器可以利用Redis存储系统建立任务缓存队列,将接收到的自动化任务存入任务缓存队列。还可以对接收到的自动化任务的类型进行确定。其中自动化任务的类型可以包括域名系统自动化、网络地址转换自动化、网关自动化、服务器自动化中的一项或多项,也可以包括其他的任务类型。自动化任务的类型可以由运维人员预先配置,任务接收服务器可以为每一种类型的自动化任务创建对应的任务缓存队列。当接收到RMS发送的自动化任务时可以根据自动化任务的类型将其存入对应的任务缓存队列。
在进一步的实施例中,任务接收服务器210可以包括收发模块 211、缓存模块212以及控制模块213。收发模块211可以用于从资源管理系统接收自动化任务,缓存模块212可以用于将自动化任务添加至相应的任务缓存队列,控制模块213用于从缓存队列提取自动化任务,并将自动化任务发送至任务分发服务器。
收发模块211可以接收自动化任务,其中,自动化任务可以包括任务关键字。任务关键字用于标识自动化任务的类型。则收发模块211 可以根据任务关键字确定接收到的自动化任务的类型。
进一步地,收发模块211可以包括接收单元、处理单元和查询单元。接收单元可以接收自动化任务,并对自动化任务进行安全验证,处理单元可以将收发模块获取的自动化任务的状态信息发送至资源管理系统,查询单元可以完成资源管理系统发出的业务状态查询请求。
缓存模块212用于将接收到的自动化任务写入数据库。可以利用 Redis创建对应各自动化任务的类型的任务缓存队列,并将接收到的自动化任务按照类型添加至相应的任务缓存队列。Redis可以采用主从模式对接收到的数据进行存储,则缓存模块212可以采用主从模式将自动化任务写入数据库。缓存模块212可以将资源管理系统发送的自动化任务缓存一预设时间段,在自动化任务处理服务器不能正常提供服务时,可以提供一个缓冲环境,为发生异常的自动化任务处理服务器提供修复时间。
控制模块213可以从缓存队列中提取自动化任务,并根据自动化任务的类型向任务分发服务器220发送自动化任务。在实际场景中,控制模块213可以包括各类型自动化任务的任务分发逻辑,控制模块 213可以根据任务分发逻辑将自动化任务发送至任务分发服务器。
任务分发服务器220可以用于将自动化任务传送至对应的自动化服务器。任务分发服务器220可以配置对应于不同类型的自动化任务的任务队列,在从任务接收服务器接收到自动化任务后,可以将自动化任务存储在对应的任务队列中,以便自动化服务器230从对应的任务队列中获取自动化任务。
在本实施例中,可以采用GearmanServer(Gearman服务器)作为任务分发服务器220。GearmanServer可以提供多种API(Application Programming Interface,应用程序接口),利用API实现与任务接收服务器、资源管理系统以及自动化任务处理服务器的通信。
GearmanServer提供了一个分发框架,能够分发某一类型的任务到适合处理这类型任务的服务器上去处理,有助于实现任务的任务并行处理和负载均衡。在具体的应用中,GearmanServer在接收到自动化任务时,可以向自动化处理服务器230发送唤醒指令,以唤醒自动化处理服务器。自动化处理服务器230被唤醒后生成任务抓取请求并发送至GearmanServer。
自动化任务处理服务器230可以抓取自动化任务并对自动化任务进行处理。可选地,自动化任务处理服务器230可以配置任务类型,并向任务分发服务器220发送任务类型,以将自动化任务处理服务器的任务类型注册至任务分发服务器220。其配置的任务类型可以与自动化任务处理服务器230能够处理的自动化任务的类型一致,可以包括以下至少一项:域名系统自动化、网络地址转换自动化、网关自动化、服务器自动化。自动化任务处理服务器的任务类型还可以包括其他自定义的类型。
任务分发服务器220还可以用于接收任务类型并将自动化任务处理服务器与任务类型关联地存储。任务分发服务器220在接收到自动化任务时,可以通知注册该类型自动化任务的自动化任务处理服务器。在抓取自动化任务时,自动化任务处理服务器230可以直接从任务分发服务器220的对应类型的任务队列中进行抓取,从而任务分发服务器可以准确、高效地对自动化任务进行分发。
进一步地,任务接收服务器210的控制模块213还可以用于配置自动化任务的分发逻辑,以使控制模块213将该类型的自动化任务发送至任务分发服务器的对应任务队列中,从而保证自动化服务器230 可以从任务分发服务器220的对应任务队列中获取到自动化任务。
在本实施例中,自动化任务处理服务器还可以从任务接收服务器的缓存模块创建的任务缓存队列中直接获取自动化任务,例如服务器自动化类型的自动化任务处理服务器可以向任务接收服务器发出任务获取请求,并接收任务接收服务器发送的Redis队列中的自动化任务。
需要说明的是,图2仅示意性地示出了一个自动化任务处理服务器230,在本申请的应用场景中,自动化运维系统200中可以包括多个自动化任务处理服务器,其中,各自动化任务处理服务器可以配置相同或不相同的任务类型,本申请对自动化任务处理服务器的数量不作限定。
在一些实施例中,自动化任务处理服务器230还用于生成自动化任务状态信息并发送至任务分发服务器220,任务分发服务器220还用于从自动化任务处理服务器230接收自动化任务状态信息并发送至控制模块213,控制模块213 还用于接收任务分发服务器220发送的自动化任务状态信息,收发模块211还用于向资源管理系统发送自动化任务状态信息。具体来说,自动化任务处理服务器230可以在对自动化任务进行处理的操作过程中,根据自动化任务的处理状态生成任务状态信息,并发送给任务分发服务器220,任务分发服务器220可以将任务状态信息转发至缓存模块212,缓存模块212可以创建消息缓存队列,并进一步将从任务分发服务器接收到的任务状态信息添加至消息缓存队列。收发模块211可以从消息缓存队列中提取任务状态信息并向资源管理系统发送提取出的自动化任务状态信息,从而将当前自动化任务处理的进程汇报至资源管理系统。
可选地,资源管理系统可以向任务接收服务器210发出任务状态查询请求,收发模块211中的查询单元可以响应于该任务状态查询请求,从消息缓存队列中查找出对应的状态信息并反馈给资源管理系统。
以上实施例描述的方案,通过利用任务接收服务器和任务分发服务器在自动化任务处理服务器和资源管理系统之间进行任务和消息转发,合理调度自动化任务的处理,能够提高自动化运维系统的处理效率。同时,由于采用第三方来实现自动化任务处理服务器和资源管理系统之间的通信,降低了资源管理系统和自动化任务处理服务器以及各自动化任务处理服务器之间的耦合性,降低对各自动化任务处理服务器的架构一致性的要求,从而降低了开发难度,使得自动化运维系统更容易维护和扩展。
在本实施的一些可选的实现方式中,任务分发服务器220还可以包括协议转换模块。协议转换模块可以用于在自动化任务处理服务器和任务分发服务器之间进行数据协议的转换。当一些自动化任务处理服务器(例如任务类型为服务器自动化的自动化任务处理服务器)与任务分发服务器间的数据协议不相同时,可以利用协议转换模块进行数据协议的转换。由此本实施例可以兼容不同数据协议不同的自动化任务处理服务器,提升了自动化运维系统的可扩展性。
在一些可选的实施例中,任务接收服务器210还可以包括第一日志采集模块,任务分发服务器220还包括第二日志采集模块,自动化任务处理服务器230还包括第三日志采集模块。即自动化运维系统中的每个服务器均包含一个日志采集模块。第一日志采集模块、第二日志模块和第三日志采集模块分别用于采集任务接收服务器210的日志信息、任务分发服务器220的日志信息和自动化任务处理服务器230 的日志信息。第一日志采集模块、第二日志模块和第三日志采集模块可以采用Flume日志收集模块利用tail命令(用于显示开头或结尾的一定数量的文字区块)监控任务接收服务器210、任务分发服务器220 和自动化任务处理服务器230的日志文件,或者利用Flume日志收集模块监控rsyslog的输出,其中rsyslog是日志监控系统。
进一步地,自动化运维系统还可以包括日志管理服务器,用于分别通过第一日志采集模块、第二日志采集模块和第三日志采集模块获取任务接收服务器的日志信息、任务分发服务器的日志信息和自动化任务处理服务器日志信息。第一日志采集模块、第二日志采集模块和第三日志采集模块可以将采集的日志信息通过Flume的通信单元统一传输至日志服务器。这样,运维人员可以在日志服务器上直接对日志进行查询或分析,相较于现有技术中系统内各服务器独立存储日志的方式能够加快日志的查询和分析速度,有助于提升系统的运维效率。
在一些可选的实施例中,自动化运维系统还包括配置更新服务器,用于对任务接收服务器、任务分发服务器、自动化任务处理服务器的配置信息进行更新。可以利用配置更新服务器对自动化运维系统中的各服务器的配置信息进行统一管理。各服务器可以监测配置更新服务器的操作。在对系统中某一服务器的配置信息时,可以将修改的配置信息输入到配置服务器中。该服务器监测到配置更新服务器对其的操作后,可以对配置信息进行相应的更改。在具体的应用中,可以采用 zookeeper服务器集群作为配置更新服务器。Zookeeper服务器集群包括多个节点,每个节点分别用于管理自动化运维系统中一个或多个服务器的配置信息。当某一节点执行配置信息更改操作时,对应的服务器可以监测到该操作,并响应于监测到该操作,从该节点接收更改的配置信息并加载接收到的配置信息。在此过程中,配置信息发生更改的服务器无需重启,可以动态地加载新的配置信息,由此实现了自动运维系统中配置管理的优化,进一步提升了运维效率。
请参考图3,其示出了图2所示的自动化运维系统中的数据交互示意图。如图3所示,在任务分发流程中,自动化任务在步骤311中由资源管理系统向任务接收服务器的收发模块发送。其中自动化任务可以包括用于标识任务类型的任务关键字。在步骤312中收发模块可以根据任务关键字确定自动化任务的类型,自动化任务可以在步骤 313中被缓存模块添加至任务缓存队列,控制模块可以从任务缓存队列提取自动化任务并在步骤314中发送给任务分发服务器。任务分发服务器可以在步骤315中按照任务类型向自动化任务处理服务器分发自动化任务。自动化任务处理服务器在步骤316中对任务进行处理。从而实现了自动化任务的分发。
在任务状态反馈流程中,自动化任务处理服务器在步骤321中生成自动化任务的状态信息并在步骤322中将状态信息发送给任务分发服务器。任务分发服务器在步骤323中将状态信息转发给控制模块,在步骤324中自动化任务的状态信息被缓存模块添加至消息缓存队列,在步骤325中,消息缓存队列中的自动化任务状态信息被提取出来并在步骤326中被反馈至资源管理系统。从而实现了资源管理系统和自动化任务处理服务器之间关于任务状态的通信。
在日志管理流程中,任务接收服务器、任务分发服务器、自动化任务处理服务器可以分别在步骤331、步骤332和步骤333中向日志管理服务器上传日志信息。
在配置更新流程中,配置更新服务器在步骤341中更新配置信息,在步骤342中将更新的配置信息发送给任务接收服务器,在步骤343 中将更新的配置信息发送给任务分发服务器,在步骤344中将更新的配置信息发送给自动化任务处理服务器。
继续参考图4,其示出了自动化运维系统的一个具体应用场景的原理示意图。如图4所示,在自动化运维系统400中,UIM模块401、 Redis队列402、TASK-CTRL模块403可以配置于任务接收服务器中,其中UIM模块401可以作为收发模块,Redis队列402可以由缓存模块创建,TASK-CTRL模块403可以作为控制模块。UIM模块可以分为UIM_accept单元、UIM_process单元、UIM_query单元,其中, UIM_accept单元接收RMS传递的自动化任务请求,利用白名单、密钥等方法进行安全验证后,将任务存入Redis队列402。UIM_process 单元可以将任务状态信息返回给RMS。UIM_query单元可以为RMS 提供任务状态查询服务,将Redis队列402中的任务状态消息反馈给 RMS。TASK-CTRL模块403可以从Redis队列获取自动化任务,并根据自动化任务的类型,发送到GearmanServer的各个任务管道中。同时,TASK-CTRL模块403可以对任务进行统计记录。GearmanServer 404为任务分发服务器,可以配置多个任务管道,每个任务管道与一种自动化任务的类型对应。GearmanServer可以对自动化任务进行分配和调度,将不同类型的自动化任务分发至对应的自动化处理服务器。
DNS自动化模块405、网关/网络地址转换自动化模块406、服务器自动化模块407为不同类型的自动化任务处理服务器。其中DNS自动化模块405可以处理DNS自动化类型的任务、网关/网络地址转换自动化模块406可以处理网关/网络地址转换自动化类型的任务,服务器自动化模块407可以处理服务器自动化类型的任务。
中转模块408可以配置于任务分发服务器中,用于在服务器自动化模块407和GearmanServer 404之间进行数据协议的转换。
配置中心409可以对各自动化模块的配置信息进行更新,日志中心410可以统一管理各自动化模块的日志信息。
以申请一个虚拟IP为例,图4所示的自动化运维系统的应用场景可以为:UIM接收到RMS发送的任务,通过任务关键字确定任务类别为网关自动化,进行安全认证和参数验证后存入Redis队列, TASK_CTRL通过不断轮询的方法从Redis队列中获取任务数据,将该任务推送至GearmanServer,而由于负责网关自动化操作的网关自动化服务器在其启动后就在GearmanServer注册了自己感兴趣的任务类别,所以GearnmanServer在接受到TASK_CTRL发过来的任务后,会推送至网关自动化服务器,网关自动化服务器可以对任务数据进行分析,之后进行网关自动化操作。网关自动化操作完成后,网关自动化服务器会将完成状态回复给GearmanServer,而TASK_CTRL在接收到 GearmanServer的回复信息后,会将信息继续推到Redis队列,而UIM 的uim_process模块则通过读取Redis队列取出该返回值后发送给RMS 系统,从而正式完成了一个虚拟IP申请的自动化操作。在此过程中,网关自动化服务器未与RMS直接进行通信,而是通过可信的第三方网 Redis和GearmanServer进行通信,降低了对网关自动化服务器与RMS 之间耦合性的要求,使得系统更容易维护。
在上述自动化运维系统的另外一个应用场景中,可以对其中的自动化模块进行扩展。新添加的自动化模块在保证其业务流程正确的前提下,先在其服务器上配置Flume日志采集模块,然后将配置信息输出到zookeeper集群中进行管理,之后在GearmanServer中注册自己感兴趣的任务类别,最后在TASK_CTRL模块中编写任务分发逻辑,该逻辑可以使TASK_CTRL模块从Redis队列中取到的对应类别的任务数据在进行验证通过后,能够准确的发到GearmanServer的对应任务类别的任务队列中。通过配置日志采集模块、配置信息输出管理逻辑、注册感兴趣的任务类别和编写任务分发逻辑完成的新的自动化模块的添加,提升了自动化运维系统的可扩展性。
请参考图5,其示出了根据本申请的自动化运维管理方法的一个实施例的流程图。所述的自动化运维管理方法可以应用于自动化运维系统中的任务接收服务器。如图5所示,所述的自动化运维管理方法 500,包括以下步骤:
步骤501,从资源管理系统接收自动化任务,并确定自动化任务的类型。
在本实施例中,自动化运维方法运行于其上的电子设备(例如前述实施例中的任务接收服务器)可以接收自动化任务,其中,自动化任务可以包括任务关键字。任务关键字用于标识自动化任务的类型。可以根据任务关键字确定接收到的自动化任务的类型。
自动化运维方法运行于其上的电子设备可以提供与资源管理系统进行数据交互的接口,资源管理系统可以通过该接口发出包含自动化任务的请求。自动化运维方法运行于其上的电子设备(例如前述实施例中的任务接收服务器)可以接收该请求并将自动化任务从请求中解析出来。
可选地,自动化任务的类型可以包括以下至少一项:域名系统自动化、网络地址转换自动化、网关自动化、服务器自动化。自动化任务的类型还可以包括其他自定义的类型。
步骤502,将自动化任务添加至相应的任务缓存队列。
在本实施例中,可以将接收到的自动化任务写入数据库。在具体的实现中,可以利用Redis创建对应各自动化任务的类型的任务缓存队列,并将接收到的自动化任务按照类型添加至相应的任务缓存队列。 Redis可以采用主从模式对接收到的数据进行存储,可以将资源管理系统发送的自动化任务缓存一预设时间段,在自动化任务处理服务器不能正常提供服务时,提供一个缓冲环境,为发生异常的自动化任务处理服务器提供修复时间。
Redis可以创建对应于不同类型的自动化任务的任务缓存队列,在确定出接收到的自动化任务的类型之后,可以将自动化任务添加该类型对应的任务缓存队列中。
进一步地,自动化运维方法运行于其上的电子设备可以对接收到的自动化任务进行安全验证。则在步骤502中可以将通过安全验证的自动化任务添加至对应的缓存队列。
步骤503,将任务缓存队列中的自动化任务发送至任务分发服务器,以供任务分发服务器将自动化任务分发至对应任务类型的自动化任务处理服务器。
可以从任务缓存队列中提取出自动化任务,并根据自动化任务的类型向任务分发服务器发送自动化任务。在实际场景中,自动化任务处理服务器在启动时可以预先在自动化运维方法运行于其上的电子设备中配置任务类型和任务分发逻辑。上述电子设备可以根据任务分发逻辑将自动化任务发送至任务分发服务器,同时将任务类型通知任务分发服务器,以供任务分发服务器根据任务类型将自动化任务添加至对应的任务队列中。自动化任务处理服务器可以从对应的任务队列中提取自动化任务,并进行处理,从而完成自动化操作。其中,自动化任务处理服务器的任务类型为预先配置并注册在任务分发服务器中的。任务类型可以包括以下至少一项:域名系统自动化、网络地址转换自动化、网关自动化、服务器自动化。
在一些实施例中,自动化运维方法500还可以包括:接收任务分发服务器发送的自动化任务状态信息,向资源管理系统发送自动化任务状态信息。其中,自动化任务状态信息由自动化任务处理服务器生成。自动化任务处理服务器可以根据任务处理状态生成任务状态信息并发送至任务分发服务器。自动化运维方法运行于其上的电子设备可以接收任务分发服务器转发的任务状态信息并反馈至资源管理系统。
进一步地,在向资源管理系统发送自动化任务状态信息之前,可以将自动化任务状态信息添加至消息缓存队列。上述终端设备可以利用Redis创建消息缓存队列,将接收到的任务状态信息写入消息缓存队列。这时,上述终端设备可以在预定时间段内从消息缓存队列中读取自动化任务状态信息并向资源管理系统发送读取出的自动化任务状态信息。
在进一步的实施例中,自动化运维方法500还可以包括:采集运维日志信息,并向日志管理服务器发送运维日志信息。可以利用tail 命令监控运维日志信息,也可以利用rsyslog等日志监控系统采集上述终端设备的运维日志信息,并将运维日志信息上报至日志管理服务器。
在进一步的实施例中,自动化运维方法500还可以包括:响应于监测到配置更新服务器的更新操作,对配置信息进行更新。在自动化运维系统中,可以利用配置更新服务器对上述电子设备的配置信息进行管理。可以监测配置更新服务器对上述电子设备的更新配置信息的操作,在监测到更新操作时同步更新的配置信息。
本申请上述实施例提供的自动化运维方法,可以应用于资源管理系统的任务分发,利用上述方法将资源管理系统发出的自动化任务请求合理地分发至对应的自动化任务处理服务器,能够降低对资源管理系统和自动化任务处理服务器之间的耦合性,降低对各自动化任务处理服务器的架构一致性的要求,提升运维效率。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608 加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入 /输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口 605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图5描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:从资源管理系统接收自动化任务,并确定所述自动化任务的类型,其中,所述自动化任务包括任务关键字;将所述自动化任务添加至相应的任务缓存队列;将所述任务缓存队列中的自动化任务发送至任务分发服务器,以供所述任务分发服务器将所述自动化任务分发至对应任务类型的自动化任务处理服务器。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于) 具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种自动化运维系统,其特征在于,包括:
任务接收服务器,用于从资源管理系统接收自动化任务,确定所述自动化任务的类型并按照类型将所述自动化任务添加至相应的任务缓存队列;
任务分发服务器,用于将所述任务缓存队列中的自动化任务分发至对应类型的自动化任务处理服务器;以及
自动化任务处理服务器,用于配置任务类型,向所述任务分发服务器发送所述任务类型,以将所述任务类型注册至所述任务分发服务器,以及处理接收到的所述自动化任务;
其中,所述任务分发服务器配置对应于不同类型的自动化任务的任务队列,在从任务接收服务器接收到自动化任务后,将自动化任务存储在对应的任务队列中;以及
所述任务分发服务器在接收到自动化任务时,通知注册接收到的自动化任务的任务类型的自动化任务处理服务器,自动化任务处理服务器从任务分发服务器的对应类型的任务队列中抓取自动化任务。
2.根据权利要求1所述的系统,其特征在于,所述自动化任务包括任务关键字;
所述任务接收服务器包括:
收发模块,用于从所述资源管理系统接收自动化任务并根据所述任务关键字确定所述自动化任务的类型;
缓存模块,用于将所述自动化任务按照所述类型添加至相应的任务缓存队列;以及
控制模块,用于从所述缓存队列提取所述自动化任务,并将所述自动化任务发送至任务分发服务器。
3.根据权利要求2所述的系统,其特征在于,所述自动化任务处理服务器还用于生成自动化任务状态信息并发送至所述任务分发服务器;
所述任务分发服务器还用于从所述自动化任务处理服务器接收所述自动化任务状态信息并发送至所述控制模块;
所述控制模块还用于接收所述任务分发服务器发送的自动化任务状态信息;
所述收发模块还用于向所述资源管理系统发送所述自动化任务状态信息。
4.根据权利要求3所述的系统,其特征在于,所述缓存模块还用于将所述自动化任务状态信息添加至消息缓存队列;
则所述收发模块进一步用于从所述消息缓存队列提取所述任务状态信息并向所述资源管理系统发送提取出的自动化任务状态信息。
5.根据权利要求1所述的系统,其特征在于,所述任务分发服务器还用于:接收所述任务类型并将所述自动化任务处理服务器与所述任务类型关联地存储。
6.根据权利要求1所述的系统,其特征在于,所述自动化任务处理服务器的任务类型包括以下至少一项:域名系统自动化、网络地址转换自动化、网关自动化、服务器自动化。
7.根据权利要求6所述的系统,其特征在于,任务分发服务器还包括协议转换模块;
所述协议转换模块用于在所述自动化任务处理服务器和所述任务分发服务器之间进行数据协议的转换。
8.根据权利要求1-7任一项所述的系统,其特征在于,所述任务接收服务器还包括第一日志采集模块,所述第一日志采集模块用于采集所述任务接收服务器的日志信息;
所述任务分发服务器还包括第二日志采集模块,所述第二日志采集模块用于采集所述任务分发服务器的日志信息;
所述自动化任务处理服务器还包括第三日志采集模块,所述第三日志采集模块用于采集所述自动化任务处理服务器的日志信息;以及
所述系统还包括:
日志管理服务器,用于分别通过所述第一日志采集模块、所述第二日志采集模块和所述第三日志采集模块获取所述任务接收服务器的日志信息、所述任务分发服务器的日志信息和所述自动化任务处理服务器日志信息。
9.根据权利要求1-7任一项所述的系统,其特征在于,所述系统还包括:
配置更新服务器,用于对所述任务接收服务器、所述任务分发服务器、所述自动化任务处理服务器的配置信息进行更新。
10.一种自动化运维方法,其特征在于,包括:
从资源管理系统接收自动化任务,并确定所述自动化任务的类型,其中,所述自动化任务包括任务关键字;
将所述自动化任务按照任务类型添加至相应的任务缓存队列;
将所述任务缓存队列中的自动化任务发送至任务分发服务器,以供所述任务分发服务器在接收到自动化任务时,将自动化任务存储在对应的任务队列中,通知注册接收到的自动化任务的任务类型的自动化任务处理服务器,将所述自动化任务分发至对应任务类型的自动化任务处理服务器,所述自动化任务处理服务器从任务分发服务器的对应类型的任务队列中抓取自动化任务;
其中,所述自动化任务处理服务器的任务类型为预先配置并注册在所述任务分发服务器中的。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
接收所述任务分发服务器发送的自动化任务状态信息;
向所述资源管理系统发送所述自动化任务状态信息;
其中,所述自动化任务状态信息由所述自动化任务处理服务器生成。
12.根据权利要求11所述的方法,其特征在于,在向所述资源管理系统发送所述自动化任务状态信息之前,所述方法还包括:
将所述自动化任务状态信息添加至消息缓存队列;以及
所述向所述资源管理系统发送所述自动化任务状态信息,包括:
从所述消息缓存队列中读取所述自动化任务状态信息;
向所述资源管理系统发送读取出的自动化任务状态信息。
13.根据权利要求10所述的方法,其特征在于,所述任务类型包括以下至少一项:域名系统自动化、网络地址转换自动化、网关自动化、服务器自动化。
14.根据权利要求10-13任一项所述的方法,其特征在于,所述方法还包括:
采集运维日志信息,并向日志管理服务器发送所述运维日志信息;以及
响应于监测到配置更新服务器的更新操作,对配置信息进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610389650.9A CN105915633B (zh) | 2016-06-02 | 2016-06-02 | 自动化运维系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610389650.9A CN105915633B (zh) | 2016-06-02 | 2016-06-02 | 自动化运维系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105915633A CN105915633A (zh) | 2016-08-31 |
CN105915633B true CN105915633B (zh) | 2019-12-10 |
Family
ID=56743322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610389650.9A Active CN105915633B (zh) | 2016-06-02 | 2016-06-02 | 自动化运维系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105915633B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484530A (zh) * | 2016-09-05 | 2017-03-08 | 努比亚技术有限公司 | 一种分布式任务调度运维监控系统及方法 |
CN106850848A (zh) * | 2017-03-14 | 2017-06-13 | 广东小天才科技有限公司 | 基于数据管理平台的数据管理实现方法及数据管理平台 |
CN107045459A (zh) * | 2017-03-31 | 2017-08-15 | 北京奇艺世纪科技有限公司 | 一种基于ansible的运维请求处理方法及装置 |
CN107222523B (zh) * | 2017-05-04 | 2021-03-26 | 北京京电电网维护集团有限公司 | 终端的数据处理方法、装置和系统 |
CN108874513A (zh) * | 2017-05-11 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 处理定时任务的方法、系统、电子设备和计算机可读介质 |
CN107368365A (zh) * | 2017-07-25 | 2017-11-21 | 携程旅游信息技术(上海)有限公司 | 云平台自动运维方法、系统、设备及存储介质 |
CN107968836B (zh) * | 2017-12-06 | 2020-12-18 | 北京微网通联股份有限公司 | 一种任务分发方法及装置 |
CN108390786B (zh) * | 2018-02-27 | 2021-05-07 | 北京奇艺世纪科技有限公司 | 一种业务运维方法、装置及电子设备 |
CN110209431B (zh) * | 2018-02-28 | 2021-04-27 | 杭州海康威视数字技术股份有限公司 | 数据分区拆分方法及装置 |
CN110290163B (zh) * | 2018-08-28 | 2022-03-25 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN109450979B (zh) * | 2018-10-10 | 2020-12-04 | 广州华多网络科技有限公司 | 一种分布式动态任务执行方法及相关装置 |
CN110196731B (zh) * | 2018-10-29 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 一种运维系统、方法及存储介质 |
CN109409853A (zh) * | 2018-12-29 | 2019-03-01 | 深圳市思迪信息技术股份有限公司 | 基于运维管理平台的任务流程处理方法及装置 |
CN112398744B (zh) * | 2019-08-16 | 2024-09-06 | 阿里巴巴集团控股有限公司 | 网络通信方法、装置及电子设备 |
CN111414381B (zh) * | 2020-03-04 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112307046A (zh) * | 2020-11-26 | 2021-02-02 | 北京金堤征信服务有限公司 | 数据采集方法和装置、计算机可读存储介质、电子设备 |
CN118921277A (zh) * | 2024-10-08 | 2024-11-08 | 宝德计算机系统股份有限公司 | 一种可视化并发执行服务器自定义任务的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407922A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 一种异步批处理调度方法及系统 |
CN104504495A (zh) * | 2014-11-27 | 2015-04-08 | 北京百度网讯科技有限公司 | 运维异常处理方法、装置及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI476610B (zh) * | 2008-04-29 | 2015-03-11 | Maxiscale Inc | 同級間冗餘檔案伺服器系統及方法 |
CN103941662A (zh) * | 2014-03-19 | 2014-07-23 | 华存数据信息技术有限公司 | 一种基于云计算的任务调度系统和调度方法 |
-
2016
- 2016-06-02 CN CN201610389650.9A patent/CN105915633B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407922A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 一种异步批处理调度方法及系统 |
CN104504495A (zh) * | 2014-11-27 | 2015-04-08 | 北京百度网讯科技有限公司 | 运维异常处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105915633A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105915633B (zh) | 自动化运维系统和方法 | |
CN113742031B (zh) | 节点状态信息获取方法、装置、电子设备及可读存储介质 | |
CN110058987B (zh) | 用于对计算系统进行追踪的方法、设备和计算机可读介质 | |
CN112860451A (zh) | 一种基于SaaS的多租户数据处理方法和装置 | |
GB2520514A (en) | Message delivery in a messaging system | |
CN110874272A (zh) | 资源配置方法及装置、计算机可读存储介质、电子设备 | |
CN115640110B (zh) | 分布式云计算系统调度方法和装置 | |
CN111126604B (zh) | 模型训练方法、装置、服务器及存储介质 | |
JP5268589B2 (ja) | 情報処理装置及び情報処理装置の運用方法 | |
CN115114044B (zh) | 消息推送方法、装置、设备和介质 | |
CN109800081A (zh) | 一种大数据任务的管理方法及相关设备 | |
CN112838935B (zh) | 一种电子数据交换方法和系统 | |
CN108121730B (zh) | 一种将数据更新快速同步到业务系统的装置及方法 | |
CN109324892B (zh) | 分布式管理方法、分布式管理系统及装置 | |
CN102118274A (zh) | 一种状态监控方法、装置和系统 | |
CN104468248A (zh) | 业务性能的监控方法、反向代理服务器、统计分析服务器及系统 | |
US20150212834A1 (en) | Interoperation method of newtork device performed by computing device including cloud operating system in could environment | |
CN105205735A (zh) | 电力调度数据云服务系统及实现方法 | |
US20080178182A1 (en) | Work state returning apparatus, work state returning method, and computer product | |
CN112416980A (zh) | 数据业务处理方法、装置及设备 | |
JP5809743B2 (ja) | 分散システムにおける異種システムデータ提供方法 | |
CN112165527B (zh) | 文件分发方法、文件分发装置和电子设备 | |
CN116800835A (zh) | 一种监控数据采集方法、装置、设备及介质 | |
JP2009042995A (ja) | 分散情報流通制御方法及び分散システムとそのサーバ並びにプログラム | |
CN109510877B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |