日志监控方法、装置、终端与计算机可读存储介质与流程

文档序号:18940131发布日期:2019-10-23 01:05阅读:169来源:国知局
日志监控方法、装置、终端与计算机可读存储介质与流程
本发明涉及云监控领域,尤其涉及一种日志监控方法、日志监控装置、终端以及计算机可读存储介质。
背景技术
:本部分旨在为权利要求书及具体实施方式中陈述的本发明实施例的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。在当今高速发展的信息社会,人们已经离不开计算机等智能设备,随着计算机技术的成熟,运行于智能设备的应用程序虽然越来越可靠,但是实际运行过程中又难免会出现错误的情况。因此,工程技术人员通常需要通过日志系统,记录应用程序的运行状态及操作内容,以备工程技术人员查看、作为调试通信设备的依据。日志系统以日志的形式记录应用程序的各种运行状态和操作信息,生成日志文件,日志文件通常存储在本地存储设备内。目前业内的日志系统的告警一般是配置查询关键字然后搜索到相应的关键字,达到阈值就告警。这些工具方法具有如下的缺点:不及时,不能第一时间发现程序抛出的错误;不直观,日志都是海量的文本信息;不易扩展,适用范围仅限于少量的主机和日志文件类型。技术实现要素:鉴于此,有必要提供一种日志监控方法、日志监控装置、终端以及计算机可读存储介质,可以实现对所监控日志的预警功能,能够及时的发现日志异常,并通过告警通知,将可能出现的风险降到最低,同时提高了对日志的分析能力。本发明实施例一方面提供一种日志监控方法,所述日志监控方法包括:监听日志文件;对所述日志文件中的内容进行关键字识别;判断所识别出的关键字是否与预设关键字库中的测试异常关键字相匹配,其中,所述预设关键字库中的测试异常关键字每隔预设周期进行自动更新;若确定所识别出的关键字与所述预设关键字库中的测试异常关键字相匹配时,则发生告警提示发送至预设应用负责人。进一步的,在本发明实施例提供的上述日志监控方法中,在所述对所述日志文件中的内容进行关键字识别之前,所述方法还包括:对所述日志文件进行解析;将解析后的日志文件转化为指定结构。进一步的,在本发明实施例提供的上述日志监控方法中,所述预设关键字库中的测试异常关键字以预设类别进行划分,所述预设类别中的测试异常关键字支持增加、删减、修改、搜查的操作。进一步的,在本发明实施例提供的上述日志监控方法中,所述预设关键字库中的测试异常关键字每隔预设周期进行自动更新包括:从指定网站上获取待选的测试异常关键字;检测是否所述预设关键字库中是否存在所述待选的测试异常关键字;若检测结果为否,则将所述待选的所述测试异常关键字添加到所述预设关键字库中。进一步的,在本发明实施例提供的上述日志监控方法中,在将所述告警提示发送给预设应用负责人之前,所述方法还包括:提取所述日志文件中的测试异常关键字;根据所述测试异常关键字确认所述日志文件中记录的异常信息;根据预先设置的异常信息与应用负责人之间的关联关系,获取对应所述异常信息的应用负责人。进一步的,在本发明实施例提供的上述日志监控方法中,所述预先设置的异常信息与应用负责人之间的关联关系包括:一个所述预先设置的异常信息对应一个应用负责人、一个所述预先设置的异常信息对应若干个应用负责人以及若干个所述预先设置的异常信息对应一个应用负责人。进一步的,在本发明实施例提供的上述日志监控方法中,所述告警提示的内容包括:告警级别、所述测试异常关键字、与所述测试异常关键字相关联的异常信息以及所述测试异常关键字在所述日志文件中的上下文信息。本发明实施例再一方面还提供一种日志监控装置,所述日志监控装置包括:日志监听模块,用于监听日志文件;关键字识别模块,用于对所述日志文件中的内容进行关键字识别;异常判断模块,用于判断所识别出的关键字是否与预设关键字库中的测试异常关键字相匹配,其中,所述预设关键字库中的测试异常关键字每隔预设周期进行自动更新;告警提示模块,用于在确定所识别出的关键字与所述预设关键字库中的测试异常关键字相匹配时,发生告警提示发送至预设应用负责人。本发明实施例再一方面还提供一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任意一项所述的日志监控方法的步骤。本发明实施例再一方面还提供一种计算机可读存储介质,所述计算机可读上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的日志监控方法的步骤。本发明实施例提供一种日志监控方法、日志监控装置、终端以及计算机可读存储介质,监听日志文件;对所述日志文件中的内容进行关键字识别;判断所识别出的关键字是否与预设关键字库中的测试异常关键字相匹配,其中,所述预设关键字库中的测试异常关键字每隔预设周期进行自动更新;若确定所识别出的关键字与所述预设关键字库中的测试异常关键字相匹配时,则发生告警提示发送至预设应用负责人。利用本发明实施例,可以一定程度上实现对所监控日志的预警功能,能够及时的发现日志异常,并通过告警通知,将可能出现的风险降到最低,同时提高了对日志的分析能力,且本发明实施例提供一种关于预设关键字库的交互界面,用户可以在交互界面上直接对预设关键字库进行增加、删减、修改、搜查的操作,降低操作难度。附图说明图1是本发明第一实施方式提供的日志监控方法的流程图。图2是本发明一实施方式的终端的结构示意图。图3是图2所示的终端的示例性的功能模块图。主要元件符号说明终端1存储器10显示屏20处理器30日志监控装置100日志监听模块101关键字识别模块103异常判断模块105告警提示模块107如下具体实施方式将结合上述附图进一步说明本发明实施例。具体实施方式为了能够更清楚地理解本发明实施例的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本发明实施例,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明实施例保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明实施例的
技术领域
的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明实施例。图1是本发明第一实施方式的日志监控方法的流程图,所述日志监控方法可以应用于终端,所述终端可以是例如智能手机、笔记本电脑、台式/平板电脑、智能手表等智能设备。如图1所示,所述日志监控方法可以包括如下步骤:s101:监听日志文件。日志文件通常是按照行来记录信息的,包括程序系统的正常运行信息、异常信息及故障信息。因此,在一实施方式中,可以按行来监听日志文件的变化,即在日志文件记录新信息的过程中,对记录的新信息进行实时监听,以发现程序系统出现的异常或故障。具体的,获取并分析新写入日志文件中的一行日志信息,对所述一行日志信息进行关键字识别。可以理解的是,由于生成的日志文件为无规则的字符串,为了方便对日志文件进行后续处理,同时为了方便工程技术人员查阅以及增强日志文件的可读性,在监听日志文件之前,还可以对日志文件进行解析,并将解析后的所述日志文件转化为指定结构的格式。所述指定结构的格式可以包括:日志内容、日志级别、日志生成时间、日志发送方、日志对应的应用程序等。其中,所述日志级别从低到高依次可以包括debug、info、warn、error、fatal级别。s102:对日志文件中的内容进行关键字识别。所述关键字为预先设置的用于表示目标应用程序在测试过程中出现异常时的关于日志中记录的异常信息的关键字。在本实施方式中,所述对日志文件中的内容进行关键字识别的方法可以包括如下:通过实时和/或按照预定时长间隔(预定时长间隔一般是秒级,例如可以选择为2秒)对日志文件中的内容进行关键字识别。可以设定对一个或者同时对多个日志文件进行监听。在监听扫描所述日志文件之后,还可以记录当前扫描的日志文件的行数或字节数,作为下次扫描的起点,从而避免扫描之前已经扫描过的部分,可以接续上次扫描的地点继续扫描,从而进一步提高工作效率。s103:判断所识别出的关键字是否与预设关键字库中的测试异常关键字相匹配,其中,所述预设关键字库中的测试异常关键字每隔预设周期进行自动更新,若确定所识别出的关键字与所述预设关键字库中的测试异常关键字相匹配时,则进入步骤s104。在本实施方式中,所述终端可以提供一个关于预设关键字库的交互界面,所述交互界面上的预设关键字库中的测试异常关键字可以以预设类别进行划分,例如,所述预设类别可以是java类别、oracle类别、kafka类别等。所述预设类别中的测试异常关键字可以支持增加、删减、修改、搜查等操作。所述预设关键字库中的测试异常关键字每隔预设周期进行自动更新,所述预设周期可以是系统操作人员预先设置的例如,所述预设周期可以为五个工作日。可以理解的是,还可以通过终端检测是否存在预设操作(例如,检测在所述终端屏幕的预设区域上是否存在点击操作/检测在距离所述终端屏幕的预设距离(例如,预设距离为15厘米)内,是否做出单手打钩的操作/检测在距离所述终端屏幕的预设距离内,是否输出预设语音信息(例如,输出“更新异常关键字”的语音指令)等),若存在预设操作,则对所述预设关键字库中的测试异常关键字进行自动更新。具体的,所述预设关键字库可以与若干个指定网站相连,从指定网站上获取待选的测试异常关键字;检测所述预设关键字库中是否存在所述待选的测试异常关键字;若检测到所述预设关键字库中不存在所述待选的测试异常关键字,则将所述待选的测试异常关键字添加到预设关键字库中。在一实施方式中,在预设关键字库的交互界面上,存在java类别、oracle类别、kafka类别这三个分类,对于每一个分类,其内部都会存在若干个测试异常关键字。以java分类为例,java分类下可以包含java.lang.error、exception等测试异常关键字。在所述预设关键字库的交互界面上,每个测试异常关键字后面可以携带有删除标记(例如,叉标记),用户选择(选择方式可以点击操作)所述删除标记即可删除该标记对应的测试异常关键字,完成预设关键字库中测试异常关键字的删除操作。在所述预设关键字库的交互界面上,每个测试异常关键字后面还可以携带有新建标记(例如,显示“新建标记”字样的按钮),用户可以通过点击该新建标记,在预设关键字库中新建关键字。对于新建的关键字,需同时补充新建关键字的名称、新建关键字的创建人、新建关键字以及新建关键字的系统名等信息。同理,在所述预设关键字库的交互界面上,每个测试异常关键字后面还可以携带有修改标记(例如,显示铅笔形状的编辑按钮),用户可以通过点击该修改标记,在预设关键字库中修改关键字。在所述预设关键字库的交互界面上,每个测试异常关键字后面还可以携带有搜查标记(例如,显示放大镜形状的搜查按钮),用户可以通过点击该搜查标记,在预设关键字库中搜查关键字。s104:将告警提示发送给预设应用负责人。可以理解的是,不同的服务器对应不同的测试系统,不同的测试系统都对应指定的预设应用负责人。所述预设应用负责人能够解决其对应的测试系统所接收到的告警问题。在本实施方式中,在确定所识别出的关键字与所述预设关键字库中的测试异常关键字相匹配之后,在将告警提示发送给预设应用负责人之前,还可以包括以下步骤:提取所述日志文件中的测试异常关键字;根据所述测试异常关键字确认所述日志文件中记录的异常信息;根据预先设置的异常信息与应用负责人之间的关联关系,获取对应所述异常信息的应用负责人。所述预先设置的异常信息与应用负责人之间的关联关系包括:一个所述预先设置的异常信息对应一个应用负责人、一个所述预先设置的异常信息对应若干个应用负责人以及若干个所述预先设置的异常信息对应一个应用负责人。其中,对于一个所述预先设置的异常信息对应若干个应用负责人来说,所述终端可以监控当前对应的若干个应用负责人是否处于空闲状态,也即监控当前对应的若干个应用负责人是否并未在处理异常信息,优先选择处于空闲状态的应用负责人处理异常信息。当若干个应用负责人同时处于空闲状态或同时处于忙绿状态,则将异常信息随机分配给应用负责人,从而能够节约异常信息处理时间,提高日志文件异常分析的效率。对于若干个所述预先设置的异常信息对应一个应用负责人来说,优选的,若干个所述预先设置的异常信息属于同一领域,对应的应用负责人比较擅长这一领域,从而避免在异常信息处理的过程中由于应用负责人不擅长该领域而不能够准确分析部分异常信息或分析日志文件的效率低下以及由于异常信息过多导致技术人员漏掉关键日志文件的情况,能够更高效、准确的完成日志文件的分析。所述告警提示的内容包括但不限于:告警级别、所述测试异常关键字、与所述测试异常关键字相关联的异常信息以及所述测试异常关键字在所述日志文件中的上下文信息。从所述测试异常关键字在所述日志文件中的上下文信息可以快速确认所述测试异常关键字在日志文件中的位置,方便预设应用负责人进行修改管理。可以根据识别出的测试异常关键字的数量设置告警级别a、b、c,其中,a可以表示告警级别最低,本发明实施例对此不做限定。设置告警级别,可以让预设应用负责人更直观地了解日志文件发生异常的情况。可以理解的是,在将告警提示发送给预设应用负责人的同时,还可以将异常信息及触发异常的指令进行统计和监控,用作后续维护、故障分析的参考依据。将告警提示发送给预设应用负责人的方式包括但不限于邮件通知、短信通知、电话通知等形式。本发明实施例提供的方法所用到的系统语言可以为python、java、c++、mysql或oracle等,所用到的数据库可以为postgresql,应用环境可以为linux环境,在此不作具体限定。本发明实施例提供一种日志监控方法,监听日志文件;对所述日志文件中的内容进行关键字识别;判断所识别出的关键字是否与预设关键字库中的测试异常关键字相匹配,其中,所述预设关键字库中的测试异常关键字每隔预设周期进行自动更新;若确定所识别出的关键字与所述预设关键字库中的测试异常关键字相匹配时,则发生告警提示发送至预设应用负责人。利用本发明实施例,可以一定程度上实现对所监控日志的预警功能,能够及时的发现日志异常,并通过告警通知,将可能出现的风险降到最低,同时提高了对日志的分析能力,且本发明实施例提供一种关于预设关键字库的交互界面,用户可以在交互界面上直接对预设关键字库进行增加、删减、修改、搜查的操作,降低操作难度。以上是对本发明实施例所提供的方法进行的详细描述。根据不同的需求,所示流程图中方块的执行顺序可以改变,某些方块可以省略。下面对本发明实施例所提供的终端进行描述。本发明实施例还提供一种终端,包括存储器10、处理器30及存储在存储器10上并可在处理器30上运行的计算机程序,所述处理器30执行所述程序时实现上述任一实施方式中所述的日志监控方法的步骤。图2是本发明一实施方式的终端的结构示意图,如图2所示,终端1包括存储器10,存储器10中存储有日志监控装置100。所述的终端1可以是手机、平板电脑、个人数字助理等具有应用显示功能的终端。所述日志监控装置100可以监听日志文件;对所述日志文件中的内容进行关键字识别;判断所识别出的关键字是否与预设关键字库中的测试异常关键字相匹配,其中,所述预设关键字库中的测试异常关键字每隔预设周期进行自动更新;若确定所识别出的关键字与所述预设关键字库中的测试异常关键字相匹配时,则发生告警提示发送至预设应用负责人。利用本发明实施例,可以一定程度上实现对所监控日志的预警功能,能够及时的发现日志异常,并通过告警通知,将可能出现的风险降到最低,同时提高了对日志的分析能力,且本发明实施例提供一种关于预设关键字库的交互界面,用户可以在交互界面上直接对预设关键字库进行增加、删减、修改、搜查的操作,降低操作难度。本实施方式中,终端1还可以包括显示屏20及处理器30。存储器10、显示屏20可以分别与处理器30电连接。所述的存储器10可以是不同类型存储设备,用于存储各类数据。例如,可以是终端1的存储器、内存,还可以是可外接于该终端1的存储卡,如闪存、sm卡(smartmediacard,智能媒体卡)、sd卡(securedigitalcard,安全数字卡)等。此外,存储器10可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器10用于存储各类数据,例如,所述终端1中安装的各类应用程序(applications)、应用上述日志监控方法而设置、获取的数据等信息。显示屏20安装于终端1,用于显示信息。处理器30用于执行所述日志监控方法以及所述终端1内安装的各类软件,例如操作系统及应用显示软件等。处理器30包含但不限于处理器(centralprocessingunit,cpu)、微控制单元(microcontrollerunit,mcu)等用于解释计算机以及处理计算机软件中的数据的装置。所述的日志监控装置100可以包括一个或多个的模块,所述一个或多个模块被存储在终端1的存储器10中并被配置成由一个或多个处理器(本实施方式为一个处理器30)执行,以完成本发明实施例。例如,参阅图3所示,所述的日志监控装置100可以包括日志监听模块101、关键字识别模块103、异常判断模块105、告警提示模块107。本发明实施例所称的模块可以是完成一特定功能的程序段,比程序更适合于描述软件在处理器中的执行过程。可以理解的是,对应上述日志监控方法中的各实施方式,终端1可以包括图3中所示的各功能模块中的一部分或全部,各模块的功能将在以下具体介绍。需要说明的是,以上日志监控方法的各实施方式中相同的名词相关名词及其具体的解释说明也可以适用于以下对各模块的功能介绍。为节省篇幅及避免重复起见,在此就不再赘述。日志监听模块101可以用于监听日志文件。关键字识别模块103可以用于对所述日志文件中的内容进行关键字识别。异常判断模块105可以用于判断所识别出的关键字是否与预设关键字库中的测试异常关键字相匹配,其中,所述预设关键字库中的测试异常关键字每隔预设周期进行自动更新。告警提示模块107可以用于在确定所识别出的关键字与所述预设关键字库中的测试异常关键字相匹配时,发生告警提示发送至预设应用负责人。本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器30执行时实现上述任一实施方式中的日志监控方法的步骤。所述日志监控装置100/终端1/计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。所称处理器30可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器30是所述日志监控装置100/终端1的控制中心,利用各种接口和线路连接整个日志监控装置100/终端1的各个部分。所述存储器10用于存储所述计算机程序和/或模块,所述处理器30通过运行或执行存储在所述存储器10内的计算机程序和/或模块,以及调用存储在存储器10内的数据,实现所述日志监控装置100/终端1的各种功能。所述存储器10可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。在本发明所提供的几个具体实施方式中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1