一种实时业务监控预警方法及预警装置与流程

文档序号:20348178发布日期:2020-04-10 22:47阅读:307来源:国知局
一种实时业务监控预警方法及预警装置与流程

本发明涉及数据监控技术领域,具体涉及一种实时业务监控预警方法及预警装置。



背景技术:

在机票搜索领域,需要实时对业务进行监控预警,现有的平台是基于grafana和elasticsearch实现配置化预警,其预警能力过于简单,仅支持单一指标与预设的阈值进行比较,来判断是否执行预警,这种方式无法实现多维(如采购、供应等)、复杂计算指标(同比、环比等)的监控预警。



技术实现要素:

为了解决上述技术问题或者至少部分地解决上述技术问题,本发明实施例提供了一种实时业务监控预警方法及预警装置,可以实现多维监控预警。

第一方面,本发明实施例提供了一种实时业务监控预警方法,包括:

实时获取前端服务行为数据和/或线上服务日志数据;

获取监控维度以及聚合方式;

根据监控维度及聚合方式获取对应的监控指标结果;

根据监控指标结果以及预设的预警阈值,判断是否执行预警;

其中,所述监控维度为根据所述前端服务行为数据和/或所述线上服务日志数据形成的事实表所对应的维度表中的维度,所述聚合方式为根据所述前端服务行为数据和/或所述线上服务日志数据形成的事实表所对应的聚合表中的聚合方式。

可选的,在所述获取监控维度以及聚合方式之后,所述方法还包括:

根据所述监控维度及所述聚合方式计算获得对应的监控指标结果与历史指标结果;

根据所述监控指标结果、历史指标结果以及预设的预警阈值,判断是否执行预警。

可选的,若所述监控维度包括多个维度,则对所述监控维度进行组合,

在所述获取监控维度以及所述监控维度对应的聚合方式之后,在所述根据监控维度及聚合方式计算获得对应的监控指标结果之前,所述方法还包括:

查询维度表,确认所述监控维度进行组合的有效性,若所述监控维度的组合有效,则执行所述根据监控维度及聚合方式获取对应的监控指标结果。

可选的,所述根据监控维度及聚合方式计算获得对应的监控指标结果与历史指标结果,包括:

根据监控维度及聚合方式生成sql组合;

根据生成的sql组合获取监控指标结果;

获取预警时间范围;

根据生成的sql组合、所述预警时间范围获取历史指标结果。

可选的,所述实时获取前端服务行为数据,包括:

通过druid数据源实时获取前端服务行为数据。

可选的,所述根据监控维度及聚合方式获取对应的监控指标结果和历史指标结果,包括:

根据监控维度及聚合方式生成json组合;

根据生成的json组合获取监控指标结果;

获取预警时间范围;

根据json组合、预警时间范围获取历史指标结果。

可选的,所述实时获取线上服务日志,包括:

通过elasticsearch实时获取线上服务日志数据。

可选的,所述根据监控指标结果、历史指标结果,以及预设的预警阈值,判断是否执行预警,包括:

根据监控指标结果与历史指标结果的差值相对历史指标结果的比值的百分比,以及预设的预警阈值相对历史指标结果的比值的百分比,判断是否执行预警,

和/或,

根据监控指标结果与历史指标结果的差值,以及预设的预警阈值,判断是否执行预警。

第二方面,本发明实施例提供一种预警装置,包括:

数据获取模块,用于实时获取前端服务数据和/或服务日志;

维度获取模块,用于获取监控维度;

聚合方式获取模块,用于获取监控维度的聚合方式;

指标结果获取模块,用于根据监控维度及聚合方式获取对应的监控指标结果和历史指标结果;

预警判断模块,用于根据监控指标结果、历史指标结果,结合预设的预警阈值,判断是否执行预警。

可选的,所述数据获取模块包括第一数据获取模块与第二数据获取模块,所述第一数据获取模块用于实时获取前端服务数据,所述第二数获取模块用于实时获取服务日志数据。

本发明的有益效果:

本发明实施例的实时业务监控预警方法,包括:实时获取前端服务行为数据和/或线上服务日志数据;获取监控维度以及聚合方式;根据监控维度及聚合方式计算获得对应的监控指标结果;根据监控指标结果以及预设的预警阈值,判断是否执行预警;其中,所述监控维度为根据所述前端服务行为数据和/或所述线上服务日志数据形成的事实表所对应的维度表中的维度,所述聚合方式为根据所述前端服务行为数据和/或所述线上服务日志数据形成的事实表所对应的聚合表中的聚合方式。根据本发明实施例的实时业务监控预警方法,可以实现对多维(如采购、供应商)等的监控预警。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的实时业务监控预警方法的流程示意图;

图2是本发明实施例的实时业务监控预警方法的流程示意图;

图3是本发明实施例的获取监控指标结果和历史指标结果的流程示意图;

图4是本发明实施例的获取监控指标结果和历史指标结果的流程示意图;

图5是本发明实施例的实时业务监控预警方法的流程示意图;

图6是本发明实施例的实时业务监控预警方法的具体流程示意图;

图7是本发明实施例的预警装置的结构示意图;

图8是本发明实施例的预警装置的结构示意图;

图9是本发明实施例的数据获取模块的结构示意图;

图10是本发明实施例的预警系统的结构示意图;

图11是本发明实施例的预警系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出了本发明实施例的实时业务监控预警方法,如图1,本发明实施例的实时业务监控预警方法包括:

步骤100,实时获取前端服务行为数据和/或线上服务日志数据;

步骤200,获取监控维度以及聚合方式;

步骤300,根据监控维度及聚合方式计算获得对应的监控指标结果;

步骤400,根据监控指标结果以及预设的预警阈值,判断是否执行预警;

其中,所述监控维度为根据所述前端服务行为数据和/或所述线上服务日志数据形成的事实表所对应的维度表中的维度,所述聚合方式为前端服务行为和/或所述线上服务日志数据形成的事实表所对应的聚合表中的聚合方式。

本发明实施例中,通过实时获取的前端服务行为数据和/或线上服务日志数据抽象得到事实表,用于配置sql或json指标,维度表数据由原始业务库表实时同步得到,用于多维告警监测维度范围。

本发明实施例中,聚合方式存储于与事实表连接的聚合表中,聚合方式包括求和、求最大值、求最小值、求平均、求除等基础聚合方式。

本发明实施例的实时业务监控预警方法,通过实时获取前端服务行为数据和/或线上服务日志数据,根据获取的前端服务行为数据和/或线上服务日志数据抽象事实表,用于配置sql或json指标,根据所述事实表对应的维度表及聚合表获取监控维度及聚合方式,根据监控维度及聚合方式获取对应的监控指标结果,然后根据得到的监控指标结果以及预设的预警阈值,判断是否执行预警,根据本发明实施例的实时业务监控预警方法,可以实现多维监控预警,针对采购、供应商等维度进行预警。

本发明实施例中,在步骤200之后,所述方法还包括:

步骤300,根据监控维度及聚合方式计算获得监控指标结果及历史指标结果;

步骤400,根据所述监控指标结果、所述历史指标结果,以及预设的预警指标,判断是否执行预警。

根据本发明实施例的实时业务监控预警方法,还可以获得监控指标结果相对于历史指标结果的变化,并将变化的结果与预警阈值进行比较,以对该变化的结果进行预警监控,可以更加直观地反应监控指标结果相对历史指标结果变化情况。

图2示出了本发明实施例的实时业务监控预警方法的流程示意图,如图2,本发明实施例的实时业务监控预警方法还包括:

若所述监控维度包括多个维度,则对所述监控维度进行组合,在步骤200之后,步骤300之前,执行

步骤210,查询维度表,确认所述监控维度进行组合的有效性,若所述监控维度的组合有效,则执行步骤300。

本发明实施例中,如果所述监控维度为一个维度,则根据所述监控维度、聚合方式计算获得对应的监控指标结果,如果所述监控维度包括多个维度,则在步骤200之后、步骤300之前,验证监控维度的组合的有效性,通过讲监控维度的组合与维度表中的维度的组合进行验证,在确定监控维度的组合有效后,执行步骤300,根据本发明实施例的实时业务监控预警方法,可以避免根据预先被禁用或失效的维度进行预警。

图3示出了本发明实施例的获取监控指标结果和历史指标结果的流程示意图,如图3,在一个实施例中,步骤300的具体流程包括:

步骤310,根据监控维度及聚合方式生成sql组合;

步骤320,根据生成的sql组合获取监控指标结果;

步骤330,获取预警时间范围;

步骤340,根据生成的sql组合、所述预警时间范围获取历史指标结果。

可选的,本发明实施例中,通过druid数据源实时获取前端服务行为数据。

本发明实施例中,实时采集前端、应用服务行为数据,经过清洗后发送到kafka,druid数据源直接对接实时流数据,构建实时数仓,druid数据源支持sql指标配置,可以进行sql化指标,因此,在获取监控指标结果和历史指标结果时,可以先根据监控维度及聚合方式生成sql组合,利用sql组合进行查询对应的数据,从而解决了现有的业务预警监控方法中采用sql配置而无法根据维度属性进行监控预警的问题。

图4示出了本发明实施例的获取监控指标结果和历史指标结果的流程示意图,如图4,在另一个实施例中,步骤300的具体流程包括:

步骤311,根据监控维度及聚合方式生成json组合;

步骤321,根据json组合获取监控指标结果;

步骤331,获取预警时间范围;

步骤341,根据json组合、预警时间范围获取历史指标结果。

可选的,本发明实施例中,所述实时获取线上服务日志数据,包括:通过elasticsearch数据源实时获取线上服务日志数据。

本发明实施例中,采用elasticsearch数据源可以实时获取线上服务日志数据,根据实时获取的线上服务日志数据,来实现监控预警,可以实现业务应用异常日志监控预警,提供研发快速定位。

elasticsearch使用的当前版本暂不支持sql查询,同时,对于高版本的elasticsearchsql查询调研得知,在多维查询条件下会有数据不准确的问题,因此,本发明实施例中,通过实时获取的线上服务日志数据,根据监控维度及聚合方式生成json组合;根据json组合获取监控指标结果;获取预警时间范围;然后根据josn组合、预警时间范围获取历史指标结果,在不使用sql配置的情况下,实现根据维度属性对业务进行实时监控预警,同时保证数据的准确性。

在本发明实施例中,可以同时采用druid数据源与elasticsearch数据源,分别通过druid数据源实时获取前端、应用服务行为数据、通过elasticsearch数据源实时获取服务日志数据,从而支持更多维度的业务监控预警,能够满足更多的预警需求。

本发明实施例中,步骤400中,所述根据监控指标结果、历史指标结果,以及预设的预警阈值,判断是否执行预警的具体流程包括:

根据监控指标结果与历史指标结果的差值相对于历史指标结果的比值的百分比,以及预设的预警阈值相对历史指标结果的比值的百分比,判断是否执行预警,

和/或,

根据监控指标结果与历史指标结果的差值,以及预设的预警阈值,判断是否执行预警。

根据本发明实施例中判断是否执行预警的流程中,可以采用百分比预警方法,即根据监控指标结果与历史指标结果的差值相对于历史指标结果的百分比,以及预设的预警阈值相对于历史指标结果的比值的百分比,判断是否执行预警,具体为根据某一时间段内产生的监控指标结果,与一个特定时间段内产生的历史指标结果,按照百分比的方法进行比较,进而监控预警,其中,百分比预警方法包括同比、环比,可以展示该监控指标结果在一段时间内的变化情况;或者,可以采用差值预警方法,即根据监控指标结果与历史指标结果的差值,以及预设的预警阈值,判断是否执行预警,此时的预警阈值表示监控指标结果与历史指标结果的差值的阈值,通过差值预警方法可以更加直观的展示监控指标结果相对历史指标结果在数目上的增减;当然,可以同时采用上述两种方式进行预警。

图5示出了本发明实施例的实时业务监控预警方法的流程示意图,如图5,本发明实施例的实时业务监控预警方法还包括:

步骤010,获取预警配置;

步骤020,判断配置类型;

步骤030,若配置类型为规则化配置,则判断数据源类型;

步骤040,若数据源类型为druid数据源,则执行所述实时获取前端行为数据,若数据源类型为elasticsearch数据源,则执行所述实时获取线上服务日志数据。

继续参照图5,本发明实施例的实时业务监控预警方法还包括:

步骤031,若配置类型为sql配置,则根据sql配置获取监控指标结果;

步骤041,获取预警时间范围;

步骤051,根据sql配置、预警时间范围获取历史指标结果;

步骤061,根据监控指标结果、历史指标结果以及预设的预警阈值,判断是否执行预警。

在本发明实施例中,规则化配置为适配druid数据源与elasticsearch数据源的配置,可实现求和、求最大值、求最小值、求平均等基础聚合方式,支持时间范围可配,从而支持同比指标预警。

本发明实施例中,sql配置为常用的预警监控配置,其不具备根据维度进行监控预警的功能,但可以根据事实表中的数据进行监控预警,具备基础的监控预警功能,因此,根据本发明实施例的实时业务监控预警方法,可以根据sql配置实现基础的业务监控预警,同时,还可以实现根据监控维度进行业务实时监控预警。

图6示出了本发明实施例的实时业务监控预警方法的具体流程示意图,如图6,在步骤030之后,步骤040可以分为两个并列的步骤:步骤042与步骤043。

执行步骤042的具体流程如下:

步骤042,若数据源类型为druid数据源,则实时获取前端服务行为数据;

步骤052,获取监控维度及聚合方式;

步骤062,根据监控维度及聚合方式生成sql组合;

在执行完步骤062之后,根据生成的sql组合,执行步骤031,并按照sql配置的预警流程实现根据维度的监控预警。

执行步骤043的具体流程如下:

步骤043,若数据源类型为elasticsearch数据源,则实时获取服务日志数据;

步骤053,获取监控维度及聚合方式;

步骤311,根据监控维度及聚合方式生成json组合;

步骤321,根据json组合获取监控指标结果;

步骤331,获取预警时间范围;

步骤341,根据json组合、预警时间范围获取历史指标结果;

步骤063,根据监控指标结果、历史指标结果以及预设的预警阈值,判断是否执行预警。

图7示出了本发明实施例的预警装置的结构示意图,如图7,本发明实施例还提供一种预警装置,包括:

数据获取模块1000,用于实时获取前端服务数据和/或服务日志;

维度获取模块1100,用于获取监控维度;

聚合方式获取模块1200,用于获取监控维度的聚合方式;

指标结果获取模块1300,用于根据监控维度及聚合方式获取对应的监控指标结果和历史指标结果;

预警判断模块1400,用于根据监控指标结果、历史指标结果,结合预设的预警阈值,判断是否执行预警。

根据本发明实施例的预警装置,能够根据监控维度的属性对业务进行实时监控预警。

图8示出了本发明实施例的预警装置的结构示意图,如图8,本发明实施例的预警装置还包括维度组合有效性查询模块1500,用于在所述监控维度为多个维度的组合时,查询维度表,确认所述监控维度的组合的有效性,并在所述监控维度的组合有效时,向所述指标结果获取模块输出所述监控维度的组合有效的信息。

图9示出了本发明实施例的数据获取模块的结构示意图,参照图9,本发明实施例的数据获取模块包括第一数据获取模块1001与第二数据获取模块1002,所述第一数据获取模块1001用于实时获取前端服务数据,所述第二数获取模块1002用于实时获取服务日志数据。

图10示出了本发明实施例的预警系统的结构示意图,如图10,本发明实施例还提供一种预警系统,包括:

第一数据源2000,用于实时获取前端服务行为数据;

mysql数据源2100,用于存储配置信息;

预警装置2200,用于根据第一数据源实时获取的前端服务行为数据获取监控维度及聚合方式,根据所述监控维度及聚合方式生成sql组合,根据生成的sql组合,通过mysql数据源查询监控指标结果及历史指标结果,并根据得到的监控指标结果及历史指标结果,以及预设的监控指标结果,判断是否执行预警。

本发明实施例中,第一数据源可选为druid数据源。

图11示出了本发明实施例的预警系统的结构示意图,如图11,本发明实施例还提供一种预警系统,包括:

第二数据源3000,用于实时获取服务日志数据;

预警装置3100,用于根据第二数据源实时获取的服务日志数据获取监控维度及聚合方式,根据监控维度及聚合方式生成查询json,查询监控指标结果及历史指标结果,并根据得到的监控指标结果及历史指标结果,以及预设的监控指标结果,判断是否执行预警。

本发明实施例中,第二数据源可选为elasticsearch数据源。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所发明的原理和新颖特点相一致的最宽的范围。

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