本发明涉及网络项目系统监管技术领域,尤其涉及一种项目系统监管方法及装置。
背景技术:
智能化的项目监管控制装置系统主要用于给企业为客户建设项目系统中针对完成安全的项目系统数据采集,项目运行数据分析报表,通过拓扑的方式完成监控数据的展示,模板化的项目自动化运维处理方式,多渠道的个性告警方法,远程系统控制的功能。
随着互联网生态业务的发展,在技术上需要企业保证为客户建设的项目系统能够保持7x24小时不间断健康对外服务,除此之外近些年来云计算虚拟化技术的不断发展,项目系统也越建越复杂,越建越高端,这样给客户的系统运维人员和企业的系统运维人员带来了更多的挑战,例如:在重大活动中需要系统资源调整,或者是在出现故障时需要第一时间得到处理和维护。这就需要运维人员具备相当的经验和相关的技术了。
目前市面上远程项目系统管理的技术方案,有以下两类,第一类:网络安全厂商生常具有联动性质的网管系统设备,主要特点:安全稳定、接口标准,功能经典,但是面向定制业务无法提供精准技术服务,并且价格非常昂贵需要单独购买,需要长期投入购买相关服务。第二类:一些云服务公司设计研发的云管系统,主要特点是只针对本公司的云业务系统管理和虚拟化管理,无法定制业务,也无法同时管理多地的项目系统。第三类:开源的监控管理工具,主要技术特点是具有庞大活跃的技术社区,支持很多监控管理功能,但是不具备虚拟化管理功能,并且相对漏洞也同时开源。
综上,本领域亟需一种智能化的项目系统监管技术方案,满足多方面的项目系统监管需求。
技术实现要素:
本发明实施例提供一种项目系统监管方法及装置,以提供一种智能化的项目系统监管技术方案。
一方面,本发明实施例提供了一种项目系统监管方法,所述方法包括:
连接数据库加载需监管的项目的注册信息,从而加载所述项目的目标服务器的资源列表;
根据所述项目的目标服务器的资源列表,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据;
对接收的所述项目的目标服务器的运行数据和流量数据进行安全校验;
若判定校验成功,将接收的所述项目的目标服务器的运行数据和流量数据进行数据统计与分析并入库;
根据入库的所述项目的目标服务器的运行数据和流量数据,创建所述项目对应的拓扑结构,进行监管预警并在发生故障时,调用故障处理模板进行故障自动化处理。
另一方面,本发明实施例提供了一种项目系统监管装置,所述装置包括:
消息数据接收模块,用于连接数据库加载需监管的项目的注册信息,从而加载所述项目的目标服务器的资源列表;根据所述项目的目标服务器的资源列表,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据;
项目安全控制模块,用于对接收的所述项目的目标服务器的运行数据和流量数据进行安全校验;
数据统计与分析报表模块,用于若判定校验成功,将接收的所述项目的目标服务器的运行数据和流量数据进行数据统计与分析并入库;
拓扑监控模块,用于根据入库的所述项目的目标服务器的运行数据和流量数据,创建所述项目对应的拓扑结构;
预警与故障自动化处理模块,用于根据入库的所述项目的目标服务器的运行数据和流量数据创建的所述项目对应的拓扑结构,进行监管预警并在发生故障时,调用故障处理模板进行故障自动化处理。
上述技术方案具有如下有益效果:通过以上智能化的项目系统监管方案,能完成项目系统数据采集,项目运行数据分析报表,通过拓扑的方式完成监控数据的展示,多渠道的个性告警方法,远程系统控制等功能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种项目系统监管方法流程图;
图2为本发明实施例一种项目系统监管装置结构示意图;
图3为本发明应用实例一种智能化的项目系统监管装置结构示意图;
图4为本发明应用实例一种智能化的项目系统监管装置与项目系统连接场景结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例一种项目系统监管方法流程图,所述方法包括:
101、连接数据库加载需监管的项目的注册信息,从而加载所述项目的目标服务器的资源列表;
102、根据所述项目的目标服务器的资源列表,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据;
103、对接收的所述项目的目标服务器的运行数据和流量数据进行安全校验;
104、若判定校验成功,将接收的所述项目的目标服务器的运行数据和流量数据进行数据统计与分析并入库;
105、根据入库的所述项目的目标服务器的运行数据和流量数据,创建所述项目对应的拓扑结构,进行监管预警并在发生故障时,调用故障处理模板进行故障自动化处理。
优选地,所述根据所述项目的目标服务器的资源列表,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据,包括:根据所述项目的目标服务器的资源列表,利用加密超文本传输协议http请求,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据。
优选地,所述利用加密超文本传输协议http请求,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据,包括:利用加密http请求触发Agentd检查所述项目的目标服务器的运行状态,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据。
优选地,所述根据入库的所述项目的目标服务器的运行数据和流量数据,创建所述项目对应的拓扑结构,包括:根据入库的所述项目的目标服务器的运行数据和流量数据,创建所述项目对应的拓扑结构,通过红线、或黄线、或绿线、或红图标的方式,标注所述项目的设备的运行状态。
优选地,所述根据入库的所述项目的目标服务器的运行数据和流量数据,创建所述项目对应的拓扑结构,进行监管预警并在发生故障时,调用故障处理模板进行故障自动化处理,包括:通过邮件的方式,或通过对接的微信企业号的方式,或通过钉钉协作客户端的方式,将监管预警的信息发送给所述项目的相应干系人。
对应于上述方法实施例,如图2所示,为本发明实施例一种项目系统监管装置结构示意图,所述装置包括:
消息数据接收模块21,用于连接数据库加载需监管的项目的注册信息,从而加载所述项目的目标服务器的资源列表;根据所述项目的目标服务器的资源列表,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据;
项目安全控制模块22,用于对接收的所述项目的目标服务器的运行数据和流量数据进行安全校验;
数据统计与分析报表模块23,用于若判定校验成功,将接收的所述项目的目标服务器的运行数据和流量数据进行数据统计与分析并入库;
拓扑监控模块24,用于根据入库的所述项目的目标服务器的运行数据和流量数据,创建所述项目对应的拓扑结构;
预警与故障自动化处理模块25,用于根据入库的所述项目的目标服务器的运行数据和流量数据创建的所述项目对应的拓扑结构,进行监管预警并在发生故障时,调用故障处理模板进行故障自动化处理。
优选地,所述消息数据接收模块21,具体用于根据所述项目的目标服务器的资源列表,利用加密超文本传输协议http请求,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据。
优选地,所述消息数据接收模块21,进一步具体用于利用加密http请求触发Agentd检查所述项目的目标服务器的运行状态,通过所述项目对应的安全网关获取所述项目的目标服务器的运行数据和流量数据。
优选地,所述拓扑监控模块24,具体用于根据入库的所述项目的目标服务器的运行数据和流量数据,创建所述项目对应的拓扑结构,通过红线、或黄线、或绿线、或红图标的方式,标注所述项目的设备的运行状态。
优选地,所述预警与故障自动化处理模块25,具体用于通过邮件的方式,或通过对接的微信企业号的方式,或通过钉钉协作客户端的方式,将监管预警的信息发送给所述项目的相应干系人。
本发明实施例的目的是提供一个远程项目监管与控制系统,用于企业面向所有为客户建设的项目系统,完成针对客户系统安全的项目系统数据采集,项目运行数据分析报表,通过拓扑的方式完成监控数据的展示,模板化的项目自动化运维处理方式,多渠道的个性告警方法,远程系统控制等功能的方法及装置系统。
如图3所示,为本发明应用实例一种智能化的项目系统监管装置结构示意图。实现上述技术方案是通过上述装置及系统的消息数据接收模块、项目安全控制模块、自定义自动化运维模板、数据统计与分析报表模块、拓扑监控模块、预警与故障自动化处理模块组几个模块联动项目系统中的安全网关、Docker Swarm服务、Docker Server、Agentd等协同工作,来完成项目系统监控管理和自动化维护,预警通知、报表分析、资源调整管理等功能。
消息数据接收模块:通过安全加密的http请求完成接收网关装置的宿主机和应用容器的运行数据,形成数据记录,为数据告警、维护处理任务提供依据。
项目安全控制模块:用于对接收的所述项目的目标服务器的运行数据和流量数据进行安全校验。运维人员可以通过后台的web图形化的管理方式触发经过安全加密的http-API请求,完成一些项目系统控制任务,例如:销毁重构镜像、重启某服务进程等。
自定义自动化运维模板:针对一些系统定向性的故障实现,获取相应的节点ID、IP地址、进程服务、容器类型等,完成在收到告警时按预设模板流程完成人工维护过程操作。
数据统计与分析报表模块:根据安全网关上报的各个系统运行数据,完成数据分析,根据预设模板的阀值划分预警界限,根据曲线趋势判断告警时间,定期发出面向客户的运行报表。
拓扑监控模块:通过系统中注册的硬件资源、运行状态流量数据等,识别创建相应拓扑结构的通过红线/黄线/绿线和红图标的方式,标注项目设备的运行状态,系统流量情况并给出相应的告警。
预警与故障自动化处理模块:预警与故障自动化处理模块通过邮件的方式将趋势分析报告,预警邮件发送到指定用户邮箱。通过对接的微信企业号和钉钉协作客户端为注册管理用户发送相关告警信息。获取预警信息的同时,与故障数据库中装载的故障特征与阀值参数作比对,自动化调用故障处理模板,获取相应的故障节点ID、IP地址、进程服务、容器类型等,按处理故障模板流程完成故障处理。例如:通过加密的http-API远程销毁特定应用容器,再重新创建,添加网卡,开启应用服务。
本方案实施例的安全网关装置是一个能够接收安全加密API任务进行执行或者添加计划或者转发执行的网关装置。它包含以下几个部分:接收器、转译器、执行器、Jobserver。安全网关装置可以通过接收器接收来自的Agentd和中央控制器的加密API请求,通过转译器完成的任务的转译解析,判断API请求类型,通过执行器完成相应的处理,例如:转发上报Docker运行状态、添加Jobserver任务、执行Docker容器管理任务等等。
Docker Server是一个开源的应用容器引擎,旨在提供一种应用程序的自动化部署解决方案,在Linux系统上迅速创建一个容器Container(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方便。
Docker Swarm是Docker原生态的集群技术。他可同Docker或者Docker-Machine的命令行行工具配合,提供在主机集群上管理容器引擎的基本功能。网关装置通过它的网络端口(2375)通过API的方式与Swarm交互。与Swarm的交互方式与Docker交互的方式类似完成容器的创建、销毁、运行、依附(attach)操作,并且获得运行宿主机运行在Docker Server的应用容器的日志以及其他相关内容。
Agentd:它主要完成接收Jobserver的定时触发任务并完成相应的执行动作,例如采集宿主机运行数据并且返回数据。另外完成安全网关装置直接的触发任务指令,例如:添加虚拟网卡。
通过以上技术方法,这个智能化的项目系统监管与控制装置能完成项目系统数据采集,项目运行数据分析报表,通过拓扑的方式完成监控数据的展示,模板化的项目自动化运维处理方式,多渠道的个性告警方法,远程系统控制等功能。
本发明实施例智能化的项目系统监管与控制系统主要包含几个模块:消息数据接收模块、项目安全控制模块、自定义自动化运维模板、数据统计与分析报表模块、拓扑监控模块、预警与故障自动化处理模块组成。通过以上描述的装置及系统实现了一种基于Docker实现远程项目系统监管的网关装置。
如图4所示,为本发明应用实例一种智能化的项目系统监管装置与项目系统连接场景结构示意图。通过上述这种装置节省了企业购买网管系统采购成本,同时提高了企业对项目系统运行状态的监管力度,另外还增强了项目系统自动化运维的管理手段,增加了安全性,故障预警的及时性,并且减少了运维人员的工作量。
采用本发明所表述的智能化的项目系统监管与控制系统,在项目系统管理的过程中,通过以上系统中的各个模块完成面向项目目标服务器,通过Agentd采集,安全网关上报的运行数据统计功能。通过安全网关完成对项目中Docker容器的控制管理、销毁重构。项目系统数据采集完成后通过数据统计与分析模板得出是否发出警告还是异常报错,通过自定义的运维模板去触发相应的系统维护动作和任务。通过微信公众号和钉钉团队协作工具、邮件等多种方式触发预警信息。定期完成相应的系统运行数据分析报表根据变化曲线,预测告警时间,通知相应干系人。通过后台对项目系统通过图标化的操作完成项目系统的远程控制管理。
以下是本发明实施例项目系统监管与控制方法及装置的应用实例在实际场景的工作原理示意图。
具体实施例步骤如下:
步骤1:启动智能化的项目系统监管与控制系统,连接数据库加载相关项目的注册信息,加载各个项目目标服务器的资源列表。
步骤2:消息数据接收模块通过加密http请求,寻问各个项目的安全网关服务,安全网关服务转发请求任务,触发Agentd检查系统运行状态。Agentd查询返回数据通过安全网关服务进行上报,如果新注册的Agentd自动学习这个客户端的ID。
步骤3:消息数据接收模块迅速进行安全校验,如果校验成功,进行相应的数据入库。
步骤4:监控拓扑模块根据上报的流量数据与系统运行数据,通过红线、黄线、绿线和红圈预警的方式展示拓扑结构。
步骤5:数据统计与分析报表模块,经过数据统计和监控模板查询出相关告警设备和服务,通过历史数据和趋势分析完成预警报告。
步骤6:预警与故障自动化处理模块依据自动化运维模板控制流程,触发项目系统的安全网关,控制Docker Swarm和Agentd完成系统维护和管理,并通过告警分别发出邮件预警,和微信企业号警告和钉钉协作工具的通知。
本发明实施例是提出的智能化的项目系统监管与控制系统,在项目系统管理的过程中,通过以上系统中的各个模块完成面向项目目标服务器,通过Agentd采集,安全网关上报的运行数据统计功能。通过安全网关完成对项目中Docker容器的控制管理、销毁重构。项目系统数据采集完成后通过数据统计与分析模板得出是否发出警告还是异常报错,通过自定义的运维模板去触发相应的系统维护动作和任务。通过微信公众号和钉钉团队协作工具、邮件等多种方式触发预警信息。定期完成相应的系统运行数据分析报表根据变化曲线,预测告警时间,通知相应干系人。通过后台对项目系统通过图标化的操作完成项目系统的远程控制管理。
通过以上技术方案基本满足了客户建设项目系统所需的针对安全的项目系统数据采集,项目运行数据分析报表,通过拓扑的方式完成监控数据的展示,模板化的项目自动化运维处理方式,多渠道的个性告警方法,远程系统控制等功能。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。