应用监控方法及装置与流程

文档序号:17079618发布日期:2019-03-09 00:06阅读:128来源:国知局
应用监控方法及装置与流程

本发明涉及数据处理技术领域,尤其涉及一种应用监控方法及装置。



背景技术:

目前,针对每个应用,当需要对该应用进行监控时,可以采用nagios、zabbix等监控软件对应用进行监控,或者,由监控人员等手动编写针对该应用的监控程序。然而,上述第一种方式中,nagios、zabbix等监控软件的监控模式有限且简单,难以有效的适用于逻辑复杂、业务反复的应用,且难以扩展。第二种方式中,监控成本高、监控效率差,且难以扩展,导致对应用的监控效率差,难以满足实际监控需求。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种应用监控方法,用于解决现有技术中监控效率差的问题。

本发明的第二个目的在于提出一种应用监控装置。

本发明的第三个目的在于提出另一种应用监控装置。

本发明的第四个目的在于提出一种非临时性计算机可读存储介质。

本发明的第五个目的在于提出一种计算机程序产品。

为达上述目的,本发明第一方面实施例提出了一种应用监控方法,包括:

获取待监控的应用;

根据所述应用,从预设的监控模板库中选择与所述应用对应的监控模板;

获取所述应用对应的日志,从所述日志中获取所述监控模板的相关数据;

将所述相关数据输入监控模板,以使所述监控模板对所述相关数据进行计算处理,并将计算处理的结果与预设的告警指标进行比对,确定是否需要进行告警;

若需要进行告警,则获取告警信息并进行告警操作。

进一步的,所述根据所述应用,从预设的监控模板库中选择与所述应用对应的监控模板,包括:

获取所述应用的监控任务,所述监控任务中包括:监控对象以及告警指标;

从预设的监控模板库中选择与所述监控对象以及所述告警指标匹配的监控模板。

进一步的,所述相关数据中包括:监控对象数据;

所述从所述日志中获取所述监控模板的相关数据,包括:

根据所述监控对象查询所述日志,获取与所述监控对象对应的监控对象数据。

进一步的,所述告警信息中包括以下信息中的任意一个或者多个:所述监控模板的相关数据、计算处理的结果、告警原因以及解决方法。

进一步的,所述的方法还包括:若从预设的监控模板库中未获取到与所述应用对应的监控模板,则向监控人员发送提示信息,以创建对应的监控模板。

本发明实施例的应用监控方法,通过获取待监控的应用;根据应用,从预设的监控模板库中选择与应用对应的监控模板;获取应用对应的日志,从日志中获取监控模板的相关数据;将相关数据输入监控模板,以使监控模板对相关数据进行计算处理,并将计算处理的结果与预设的告警指标进行比对,确定是否需要进行告警;若需要进行告警,则获取告警信息并进行告警操作,从而能够根据应用的实际监控需求从监控模板库中选择对应的监控模板,不需要重复的手动编写代码,且提高了代码利用率和应用监控效率。

为达上述目的,本发明第二方面实施例提出了一种应用监控装置,包括:

获取模块,用于获取待监控的应用;

选择模块,用于根据所述应用,从预设的监控模板库中选择与所述应用对应的监控模板;

所述获取模块,还用于获取所述应用对应的日志,从所述日志中获取所述监控模板的相关数据;

处理模块,用于将所述相关数据输入监控模板,以使所述监控模板对所述相关数据进行计算处理,并将计算处理的结果与预设的告警指标进行比对,确定是否需要进行告警;

告警模块,用于在需要进行告警时,获取告警信息并进行告警操作。

进一步的,所述选择模块具体用于,

获取所述应用的监控任务,所述监控任务中包括:监控对象以及告警指标;

从预设的监控模板库中选择与所述监控对象以及所述告警指标匹配的监控模板。

进一步的,所述相关数据中包括:监控对象数据;

所述获取模块具体用于,根据所述监控对象查询所述日志,获取与所述监控对象对应的监控对象数据。

进一步的,所述告警信息中包括以下信息中的任意一个或者多个:所述监控模板的相关数据、计算处理的结果、告警原因以及解决方法。

进一步的,所述的装置还包括:发送模块,用于在从预设的监控模板库中未获取到与所述应用对应的监控模板时,向监控人员发送提示信息,以创建对应的监控模板。

本发明实施例的应用监控装置,通过获取待监控的应用;根据应用,从预设的监控模板库中选择与应用对应的监控模板;获取应用对应的日志,从日志中获取监控模板的相关数据;将相关数据输入监控模板,以使监控模板对相关数据进行计算处理,并将计算处理的结果与预设的告警指标进行比对,确定是否需要进行告警;若需要进行告警,则获取告警信息并进行告警操作,从而能够根据应用的实际监控需求从监控模板库中选择对应的监控模板,不需要重复的手动编写代码,且提高了代码利用率和应用监控效率。

为达上述目的,本发明第三方面实施例提出了另一种应用监控装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的应用监控方法。

为了实现上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的应用监控方法。

为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的应用监控方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例提供的一种应用监控方法的流程示意图;

图2为本发明实施例提供的一种应用监控装置的结构示意图;

图3为本发明实施例提供的另一种应用监控装置的结构示意图;

图4为本发明实施例提供的另一种应用监控装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的应用监控方法及装置。

图1为本发明实施例提供的一种应用监控方法的流程示意图。如图1所示,该应用监控方法包括以下步骤:

s101、获取待监控的应用。

本发明提供的应用监控方法的执行主体为应用监控装置,应用监控装置可以为终端设备、服务器等硬件设备,或者为硬件设备上安装的软件。其中,待监控的应用例如可以为,微信、浏览器、游戏等。本实施例中,应用监控装置具体可以获取待监控的应用的标识,例如待监控的应用的名称等。

s102、根据应用,从预设的监控模板库中选择与应用对应的监控模板。

本实施例中,监控模板指的是,对应用的某个对象进行监控,判断是否超过告警指标的程序,也就是说,对应用的某个对象进行计算以及比对的程序,例如,一定时间范围内某关键数据出现频率超过一定值即报警的模板、一定时间范围内某关键数据一出现即报警的模板等。

以一定时间范围内某关键数据出现频率超过一定值即报警的模板为例进行说明,该模板的输入可以为一定时间范围内的某关键数据;输出可以为是否报警;该模板用于获取一定时间范围内的某关键数据,并计算某关键数据的出现频率,将出现频率与一定值进行比对,根据比对结果确定是否报警。

本实施例中,需要说明的是,与应用对应的监控模板的数量可以为一个或者多个,根据应用的监控任务来确定,若监控任务为单个,则与应用对应的监控模板可以为单个;若监控任务为多个,则与应用对应的监控模板可以为多个。对应的,应用监控装置执行步骤102的过程具体可以为,获取应用的监控任务,监控任务中包括:监控对象以及告警指标;从预设的监控模板库中选择与监控对象以及告警指标匹配的监控模板。

其中,告警指标中可以包括:告警对象,或者告警对象+告警阈值。在告警指标中仅包括告警对象的情况下,若告警对象为某关键数据的出现频率,则与监控任务匹配的监控模板可以为,具有各种出现频率的模板,例如出现频率为百分之五十的模板、出现频率为百分之八十的模板、出现频率为百分之九十的模板,这些模板都是与监控任务匹配的监控模板。

在告警指标中包括告警对象以及告警阈值的情况下,若告警对象为某关键数据的出现频率,告警阈值为百分之五十,则与监控任务匹配的监控模板可以为,出现频率为百分之五十的模板。

另外,在上述实施例的基础上,所述的方法还可以包括:若从预设的监控模板库中未获取到与应用对应的监控模板,则向监控人员发送提示信息,以创建对应的监控模板。其中,监控模板的创建过程可以为手动创建,或者结合监控软件进行创建。

进一步的,在上述实施例的基础上,步骤102之前,所述的方法还可以包括:创建监控模板库的过程,该过程具体可以为,采集大量的监控任务,针对每个监控任务创建对应的监控模板;和/或,采集与监控任务对应的已有的监控程序,对监控程序进行处理得到监控模板;然后根据创建或者处理得到的多个监控模板,生成监控模板库。本实施例中,监控模板库可以适用于单个类型的应用,也可以适用于所有类型的应用,根据监控模板库中监控模板的来源来确定。

s103、获取应用对应的日志,从日志中获取监控模板的相关数据。

其中,相关数据中可以包括:监控对象数据;对应的,应用监控装置执行步骤103的其中一种方式可以为,根据监控对象查询日志,获取与监控对象对应的监控对象数据。另外,各应用的日志可以保存在日志数据库中,日志数据库配置有相应的搜索引擎,例如elasticsearch搜索引擎等,对应的,应用监控装置执行步骤103的另一种方式可以为,将携带应用的标识以及监控对象标识的搜索请求发送给elasticsearch搜索引擎,以使elasticsearch搜索引擎根据应用的标识以及监控对象标识查询日志数据库,获取应用对应的日志中监控模板的相关数据。

本实施例中,应用监控装置获取到相关数据后,可以对相关数据进行过滤、聚合等操作,去除其中的错误数据、对数据进行格式统一等操作,以便提高后续对相关数据的处理效率。

s104、将相关数据输入监控模板,以使监控模板对相关数据进行计算处理,并将计算处理的结果与预设的告警指标进行比对,确定是否需要进行告警。

本实施例中,应用监控装置将相关数据输入监控模板后,可以加载运行监控模板,使得监控模板对相关数据进行计算处理,并将计算处理的结果与预设的告警指标进行比对,确定是否需要进行告警。

s105、若需要进行告警,则获取告警信息并进行告警操作。

本实施例中,告警信息中包括以下信息中的任意一个或者多个:监控模板的相关数据、计算处理的结果、告警原因以及解决方法。应用监控装置获取告警信息的过程可以为,在需要进行告警时,获取监控模板中的相关数据、计算处理的结果、告警原因;根据告警原因查询解决方法库,获取与告警原因对应的解决方法。其中,告警原因例如,某关键数据出现频次太高等。

另外,若不需要进行告警,则应用监控装置可以继续周期性从日志中获取相关数据,将相关数据输入监控模板,重新判断是否需要进行告警,直至应用运行结束,或者应用对应的日志中没有新的数据为止。

本发明实施例的应用监控方法,通过获取待监控的应用;根据应用,从预设的监控模板库中选择与应用对应的监控模板;获取应用对应的日志,从日志中获取监控模板的相关数据;将相关数据输入监控模板,以使监控模板对相关数据进行计算处理,并将计算处理的结果与预设的告警指标进行比对,确定是否需要进行告警;若需要进行告警,则获取告警信息并进行告警操作,从而能够根据应用的实际监控需求从监控模板库中选择对应的监控模板,不需要重复的手动编写代码,且提高了代码利用率和应用监控效率。

图2为本发明实施例提供的一种应用监控装置的结构示意图。如图2所示,包括:获取模块21、选择模块22、处理模块23和告警模块24。

其中,获取模块21,用于获取待监控的应用;

选择模块22,用于根据所述应用,从预设的监控模板库中选择与所述应用对应的监控模板;

所述获取模块21,还用于获取所述应用对应的日志,从所述日志中获取所述监控模板的相关数据;

处理模块23,用于将所述相关数据输入监控模板,以使所述监控模板对所述相关数据进行计算处理,并将计算处理的结果与预设的告警指标进行比对,确定是否需要进行告警;

告警模块24,用于在需要进行告警时,获取告警信息并进行告警操作。

本发明提供的应用监控装置可以为终端设备、服务器等硬件设备,或者为硬件设备上安装的软件。其中,待监控的应用例如可以为,微信、浏览器、游戏等。本实施例中,应用监控装置具体可以获取待监控的应用的标识,例如待监控的应用的名称等。

本实施例中,监控模板指的是,对应用的某个对象进行监控,判断是否超过告警指标的程序,也就是说,对应用的某个对象进行计算以及比对的程序,例如,一定时间范围内某关键数据出现频率超过一定值即报警的模板、一定时间范围内某关键数据一出现即报警的模板等。

以一定时间范围内某关键数据出现频率超过一定值即报警的模板为例进行说明,该模板的输入可以为一定时间范围内的某关键数据;输出可以为是否报警;该模板用于获取一定时间范围内的某关键数据,并计算某关键数据的出现频率,将出现频率与一定值进行比对,根据比对结果确定是否报警。

本实施例中,需要说明的是,与应用对应的监控模板的数量可以为一个或者多个,根据应用的监控任务来确定,若监控任务为单个,则与应用对应的监控模板可以为单个;若监控任务为多个,则与应用对应的监控模板可以为多个。对应的,应用监控装置执行步骤102的过程具体可以为,获取应用的监控任务,监控任务中包括:监控对象以及告警指标;从预设的监控模板库中选择与监控对象以及告警指标匹配的监控模板。

其中,告警指标中可以包括:告警对象,或者告警对象+告警阈值。在告警指标中仅包括告警对象的情况下,若告警对象为某关键数据的出现频率,则与监控任务匹配的监控模板可以为,具有各种出现频率的模板,例如出现频率为百分之五十的模板、出现频率为百分之八十的模板、出现频率为百分之九十的模板,这些模板都是与监控任务匹配的监控模板。

在告警指标中包括告警对象以及告警阈值的情况下,若告警对象为某关键数据的出现频率,告警阈值为百分之五十,则与监控任务匹配的监控模板可以为,出现频率为百分之五十的模板。

另外,结合参考图3,在图2所示实施例的基础上,所述的装置还可以包括:发送模块25,应用在从预设的监控模板库中未获取到与所述应用对应的监控模板时,向监控人员发送提示信息,以创建对应的监控模板。其中,监控模板的创建过程可以为手动创建,或者结合监控软件进行创建。

进一步的,在上述实施例的基础上,应用监控装置获取待监控的应用之前,可以先创建监控模板库。应用监控装置创建监控模板库的过程具体可以为,采集大量的监控任务,针对每个监控任务创建对应的监控模板;和/或,采集与监控任务对应的已有的监控程序,对监控程序进行处理得到监控模板;然后根据创建或者处理得到的多个监控模板,生成监控模板库。本实施例中,监控模板库可以适用于单个类型的应用,也可以适用于所有类型的应用,根据监控模板库中监控模板的来源来确定。

进一步的,在上述实施例的基础上,在第一种实施场景中,获取模块21具体可以用于,根据监控对象查询日志,获取与监控对象对应的监控对象数据。在第二种实施场景中,各应用的日志可以保存在日志数据库中,日志数据库配置有相应的搜索引擎,例如elasticsearch搜索引擎等,对应的,获取模块21具体可以用于,将携带应用的标识以及监控对象标识的搜索请求发送给elasticsearch搜索引擎,以使elasticsearch搜索引擎根据应用的标识以及监控对象标识查询日志数据库,获取应用对应的日志中监控模板的相关数据。

本实施例中,告警信息中包括以下信息中的任意一个或者多个:监控模板的相关数据、计算处理的结果、告警原因以及解决方法。应用监控装置获取告警信息的过程可以为,在需要进行告警时,获取监控模板中的相关数据、计算处理的结果、告警原因;根据告警原因查询解决方法库,获取与告警原因对应的解决方法。其中,告警原因例如,某关键数据出现频次太高等。

另外,若不需要进行告警,则应用监控装置可以继续周期性从日志中获取相关数据,将相关数据输入监控模板,重新判断是否需要进行告警,直至应用运行结束,或者应用对应的日志中没有新的数据为止。

本发明实施例的应用监控装置,通过获取待监控的应用;根据应用,从预设的监控模板库中选择与应用对应的监控模板;获取应用对应的日志,从日志中获取监控模板的相关数据;将相关数据输入监控模板,以使监控模板对相关数据进行计算处理,并将计算处理的结果与预设的告警指标进行比对,确定是否需要进行告警;若需要进行告警,则获取告警信息并进行告警操作,从而能够根据应用的实际监控需求从监控模板库中选择对应的监控模板,不需要重复的手动编写代码,且提高了代码利用率和应用监控效率。

图4为本发明实施例提供的另一种应用监控装置的结构示意图。该应用监控装置包括:

存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。

处理器1002执行所述程序时实现上述实施例中提供的应用监控方法。

进一步地,应用监控装置还包括:

通信接口1003,用于存储器1001和处理器1002之间的通信。

存储器1001,用于存放可在处理器1002上运行的计算机程序。

存储器1001可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

处理器1002,用于执行所述程序时实现上述实施例所述的应用监控方法。

如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(industrystandardarchitecture,简称为isa)总线、外部设备互连(peripheralcomponent,简称为pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称为eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。

处理器1002可能是一个中央处理器(centralprocessingunit,简称为cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者是被配置成实施本发明实施例的一个或多个集成电路。

本发明还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的应用监控方法。

本发明还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的应用监控方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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