一种基于Zookeeper的服务监控系统和方法与流程

文档序号:12182442阅读:406来源:国知局
一种基于Zookeeper的服务监控系统和方法与流程

本发明涉及业务服务技术领域,尤其涉及一种基于Zookeeper的服务监控系统和方法。



背景技术:

随着互联网的高速发展,各类好玩火爆的互联网产品不断涌现,吸引了不少用户体验使用。但是大多数产品后续发展不足,不能长时间延续火爆势头,原因有两种,一是产品缺乏后续创新,致使用户流失;二是产品服务缺乏稳定性,经常性的服务卡顿或者长时间的服务宕机,给予用户非常不友好的使用体验,导致用户黏性不够,用户大量的减少。

因此在互联网行业,产品维持长久的生命周期,除去创意上推陈出新,稳定可用的服务是最基础的硬性前提。

稳定可用看似简单,实际上却比较复杂。业务服务产品在线上运行的过程中,经常会遇到一些莫名其妙的故障,有的甚至相当棘手,若是没有相关经验,很可能无法短时间内排除,从而引发业务服务的长时间不可用,这就与业务服务稳定可用的初衷相违背。



技术实现要素:

本发明的主要目的在于提出一种基于Zookeeper的服务监控系统和方法,旨在解决业务服务线上运行出现故障时不能及时发现的问题。

为实现上述目的,本发明提供的一种基于Zookeeper的服务监控系统,包括:监控数据收集中心,利用Zookeeper搭建所述监控数据收集中心的集群服务;采集业务服务的性能指标数据,同时获取用于运行所述业务服务的物理服务器的运行信息;实时风险计算中心,基于所述性能指标数据和所述运行信息,实时判断所述业务服务是否存在风险;报警平台,若所述业务服务存在风险,则接收到所述实时风险计算中心发来的报警信息后发出警报信号。

进一步的,所述系统,还包括,闲时故障分析中心和故障处理备忘平台,所述故障处理备忘平台包括故障案例数据库,所述闲时故障分析中心在所述业务服务存在风险的条件下,确定所述业务服务发生故障的因素,并且根据所述因素从所述故障案例数据库获取相应的预备故障案例后推送至所述报警平台,以使所述报警平台显示所述预备故障案例。

进一步的,所述系统,还包括管理平台和配置管理数据库,其中,所述管理平台对所述业务服务进行参数配置,并且将参数保存至所述配置管理数据库。

进一步的,所述监控数据收集中心,从所述配置管理数据库读取所述参数,并且将所述参数持久化至所述Zookeeper上,以根据所述Zookeeper实现所述监控数据收集中心的分布式任务调度。

进一步的,所述故障处理备忘平台,在所述故障解决的条件下,记录并且存储用于解决所述故障的故障解决方案至所述故障案例数据库,作为预备故障案例。

此外,为实现上述目的,本发明还提出一种基于Zookeeper的服务监控方法,所述方法,包括以下步骤:利用Zookeeper搭建监控数据收集中心的集群服务;采集业务服务的性能指标数据,同时获取用于运行所述业务服务的物理服务器的运行信息;基于所述性能指标数据和所述运行信息,实时判断所述业务服务是否存在风险;若所述业务服务存在风险,则发出警报信号。

进一步的,所述若所述业务服务存在风险,则发出警报信号之后,所述方法,还包括:确定所述业务服务发生故障的因素;根据所述因素从所述故障处理备忘平台获取相应的预备故障案例推送至所述报警平台,以使所述报警平台显示所述预备故障案例。

进一步的,所述利用Zookeeper搭建监控数据收集中心的集群服务之前,所述方法,还包括:对所述业务服务进行参数配置;保存所述参数。

进一步的,所述利用Zookeeper搭建监控数据收集中心的集群服务,具体包括:读取上述参数;将参数持久化至Zookeeper上,以利用Zookeeper实现监控数据收集中心集群服务的分布式任务调度。

进一步的,所述根据所述因素从所述故障处理备忘平台获取相应的预备故障案例推送至所述报警平台之后,所述方法,还包括:在所述故障解决的条件下,记录并且存储用于解决所述故障的故障解决方案至所述故障案例数据库,作为预备故障案例。

本发明提出的基于Zookeeper的服务监控系统,通过业务服务运行过程中的监控数据的采集、分析来实现业务服务潜在风险的实时预警,尤其是在故障发生时给予及时地辅助排除,最大可能地排查线上业务服务产品的不确定因素,智能辅助故障排除,缩短故障解决周期,保障业务服务产品的健壮性,提升业务服务产品的稳定可用性。

附图说明

图1为本发明服务监控系统的一个优选实施例的方框图;

图2为本发明服务监控方法的一个优选实施例的流程图;

图3为本发明服务监控方法的另一个优选实施例的流程图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

现在将参考附图描述实现本发明各个实施例的服务监控系统和方法。在后续的描述中,使用用于表示设备的诸如“中心”或“平台”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"中心"与"平台"可以混合地使用。

Zookeeper是一个分布式的、开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件,用来解决分布式应用程序经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群服务、分布式应用配置参数的管理等。

所述集群服务是指在各个节点上执行集群操作的组件所构成的集合,二集群资源是在集群内由集群服务管理的硬件和软件组件。

如图1所示,本发明第一实施例提供一种基于Zookeeper的服务监控系统,利用Zookeeper搭建监控数据收集中心10的集群服务,由此实现监控数据收集中心10的分布式监控。该系统包括监控数据收集中心10、实时风险计算中心20和报警平台30。具体地:监控数据收集中心10,采集业务服务的性能指标数据,同时获取用于运行业务服务的物理服务器的运行信息。监控数据收集中心10的功能主要包括主动拉取和被动推送,其中,主动拉取是监控数据收集中心10包括的Server任务监控集群对被监控的业务服务进行周期性的性能指标数据采集,并且将上述性能指标数据存入监控数据的数据仓库70,比如HBase分布式存储数据仓库。被动推送是在被监控的业务服务运行的物理服务器上安装相应的Agent探针,Agent探针周期性地收集宿主物理机的运行信息,例如硬件健康状况、网络状况和日志数据等。同时,监控数据收集中心10主动调用Collector服务,通过Collector服务将上述已收集的性能指标数据和运行信息持久化到HBase数据仓库。

如图1所示,实时风险计算中心20,基于上述性能指标数据和运行信息,实时判断业务服务是否存在风险。实时风险计算中心20的主要职责是基于预设指标阈值、行业安全规范和以往故障案例(参考故障案例数据库600中的预备故障案例),实时分析Hbase分布式存储数据仓库中存储的性能指标数据和运行信息,预判被监控的业务服务当前是否存在风险或者存在性能瓶颈,若存在,则通知报警平台报警,以告知相关项目责任人,促进业务服务隐患的及时排除,以及性能瓶颈的突破。当上述业务服务的性能指标数据和运行信息持久化到HBase分布式存储数据仓库后,实时风险计算中心20则开启对该业务服务的风险评估和性能瓶颈的预判;当达到预警条件,则通知报警平台报警,以告知相关责任人及时进行处理。

报警平台30,若业务服务存在风险,则接收到实时风险计算中心20发来的报警信息后发出警报信号。报警平台30的主要职责是发出报警信号告知相应负责人,例如可以发出报警声提示值班人员,也可以将包含故障信息的警报信号通过邮件或者短信的方式告知相应责任人,减小故障发生的可能性。

如图1所示,进一步的,该服务监控系统,还包括闲时故障分析中心40和故障处理备忘平台60,故障处理备忘平台60包括故障案例数据库600。闲时故障分析中心40在业务服务存在风险的条件下,进行故障的智能预判,对比以往同质案例,确定业务服务发生故障的因素,并且根据上述因素从故障案例数据库600获取相应的预备故障案例推送至报警平台30,以使报警平台30显示预备故障案例,辅助相关责任人快速解除业务服务故障,加速业务服务的恢复效率。故障处理备忘平台60,在故障解决的条件下,还可以记录并且存储用于解决故障的故障解决方案至故障案例数据库600,作为预备故障案例。

由此通过监控数据收集中心10对业务服务的监控数据(业务服务的性能指标数据和运行信息)采集、实时风险计算中心20采用Spark技术和闲时故障分析中心40采用Hadoop技术实现大数据统计分析完成业务服务的潜在风险的及时预警和故障发生时的辅助排除,最大可能地减少线上业务服务产品的不确定因素,缩短解决周期,从而保障业务服务产品的健壮性。

另外,在上述优选实施例的基础上,该服务监控系统,还包括管理平台50和配置管理数据库80,其中,管理平台50对业务服务进行参数配置,并且将参数保存至配置管理数据库80。监控数据收集中心从所述配置管理数据库80读取所述参数,持久化至Zookeeper,以利用Zookeeper实现监控数据收集中心的分布式任务调度。监控数据收集中心10,从配置管理数据库80读取所述参数,并且将该参数持久化至Zookeeper上,以根据所述Zookeeper实现监控数据收集中心10的分布式任务调度。管理平台50的功能用于:主要负责两部分业务,配置管理与项目服务监控数据查看;其中配置管理又可以分为三个小部分:常规RBAC配置管理、监控项目参数配置管理、分布式任务调度参数配置管理;在Admin系统中配置目标监控服务的基础信息与各类指标阈值。

此外,为实现上述目的,如图2所示,本发明还提供一种基于Zookeeper的服务监控方法,该方法,包括以下步骤:步骤S2:利用Zookeeper搭建监控数据收集中心10的集群服务;步骤S10:采集业务服务的性能指标数据,同时获取用于运行业务服务的物理服务器的运行信息;步骤S20:基于性能指标数据和运行信息,实时判断业务服务是否存在风险;步骤S30:若业务服务存在风险,则发出警报信号。其中步骤S20具体包括步骤S200:实时风险计算中心根据预设阈值、行业规范和以往事故案例对上述性能指标数据和运行信息进行实时计算分析,其中以往事故案例可以参照故障案例数据库中存储的预备故障案例。然后执行步骤S201:根据步骤S200得出的分析结果判断是否存在风险,如果存在风险,则执行步骤S30;如果不存在风险,则此次计算分析结果,等待下一次监控数据收集中心收集业务服务的性能指标数据和运行信息,以进行相关分析计算。

另外,如图2所示,步骤S2:利用Zookeeper搭建监控数据收集中心10的集群服务之前,该服务监控方法,还包括:步骤S1:在管理平台对业务服务进行参数配置,参数包括IP和端口等,然后保存参数至配置管理数据库80(参见图1所示)。进一步的,利用Zookeeper搭建监控数据收集中心10的集群服务,具体包括:读取上述参数;将参数持久化至Zookeeper上,由此利用Zookeeper实现监控数据收集中心集群服务的分布式任务调度。

实时风险计算中心20从三个方面评估业务服务是否存在风险或者出现性能瓶颈:①预设的性能阈值、②行业标准规范、③以往故障案例的指标数据,只需要满足任何一个方面,则通过报警平台30告知相应责任人(参见步骤S30),由此可以看出,实现业务服务的风险预警是从业务服务的参数配置、监控数据的采集、实时风险的计算评估,到最后风险的及时报警,实现业务服务的风险预警。

参见图2和图3,在步骤S30:若业务服务存在风险,则发出警报信号之后,该服务监控方法,还包括:步骤S40:确定业务服务发生故障的因素,具体地,根据故障的表象、性能指标数据等进行故障定位,确定出发生故障的因素;根据因素从故障处理备忘平台获取相应的预备故障案例(类似故障案例以及解决方案)推送至报警平台,以使报警平台显示预备故障案例,其中,根据以往故障案例的故障情况计算出故障的相似度。步骤S40的具体步骤为:步骤S400:闲时故障分析中心40查看故障处理备忘平台60是否存在类似案例(即当前故障的因素数据是否符合以往故障案例的因素指标),如果存在,则执行步骤S401:闲时故障分析中心20智能推荐解决方案的链接至报警平台30,以辅助相应责任人解决业务服务的故障。具体地:闲时故障分析中心40以邮件方式推送链接至相应责任人,由此责任人可在故障备忘平台60查看,便于快速解决预警风险。接着执行步骤S402:判断闲时故障分析中心40智能推荐的解决方案是否能够解决遇到的故障,如果能够解决,则执行步骤S50,步骤S50的具体流程参见后面的描述。在上述闲时故障分析中心40智能不能推荐解决方案和上述解决方案不能解决遇到的故障的情况下,执行步骤S403:闲时故障分析中心40在故障备忘平台60搜索查找类似故障案例以及解决方案,然后执行步骤S404:核对上述步骤是否能够找到类似故障案例和解决方案,在能够找到的前提下,执行步骤S405:参照类似故障案例和解决方案解决业务服务的故障问题,恢复业务服务,接着执行步骤S50。另外在不能够找到类似故障案例和解决方案的情况下,依然执行步骤S50。

进一步的,步骤S40:根据因素从故障处理备忘平台获取相应的预备故障案例推送至报警平台之后,该服务监控方法,还包括:步骤S50(图中未示出):在故障解决的条件下,记录并且存储用于解决故障的故障解决方案至故障案例数据库,作为预备故障案例。步骤S50具体包括:步骤S500:由相应责任人在故障备忘平台60撰写本次故障解决流程后提交故障备忘平台审批,然后执行步骤S501:由专职人员评审,入档至故障案例数据库,作为预备故障案例,以备后续类似风险预警或排除故障时参照适用。由此可以看出,故障排除的流程包括:闲时故障分析中心进行故障预判、推荐预备故障案例、解决业务服务故障、再到备忘业务服务故障和故障解决方案。

通过以上技术分析可以看出,闲时故障分析中心40根据目标服务发生故障时的各项指标数据,对比以往故障案例,进行故障预判和原因定位,并根据故障的相似度,从故障处理备忘平台60中检索出预先存储的预备故障案例,告知相应责任人,加快故障解决进度。并且在故障排除后,相应责任人需要将本次故障解决的思路和流程详细记录下来,提交到故障处理备忘平台60,由专职人员进行评审,若符合要求,则审核通过,持久化到故障案例数据库600中,供后续业务服务的预警或者故障解决使用,周而复始,形成良性循环,缩短了故障的恢复周期,提升故障解决的效率和业务服务的可用性。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1