一种日志监控方法及装置与流程

文档序号:23859940发布日期:2021-02-05 16:08阅读:121来源:国知局
一种日志监控方法及装置与流程

[0001]
本申请涉及计算机技术领域,尤其涉及一种日志监控方法及装置。


背景技术:

[0002]
在服务器工作的过程中,服务器可以将工作产生的数据记录在服务器日志中并存储。服务器可以定期将自身存储的服务器日志转移到数据库中。监控服务器可以利用服务器日志对服务器的工作情况进行监控,从而快速察觉到系统的异常,保证系统的正常运行。
[0003]
目前,监控服务器可以查询服务器存储的服务器日志总量。如果服务器存储的服务器日志数量超过告警阈值,则说明该服务器在运行过程中出现了异常,导致服务器日志的大量产生。
[0004]
但是,除了故障和异常以外,服务器存储的服务器日志的数量可能随着外界因素的改变而改变。例如,服务器白天被访问的次数大多大于夜间,相应地白天存储的服务器日志总量大于夜间存储的服务器日志总量。因此,为了及时确定系统异常,传统的监控方法需要不断调整服务器日志的数量的告警阈值,增加了技术人员的工作量。


技术实现要素:

[0005]
有鉴于此,本申请实施例提供了一种日志监控方法及装置,旨在根据服务器日志增长的速率判断服务器是否可能出现故障。
[0006]
第一方面,本申请实施例提供了一种日志监控方法,所述方法包括:
[0007]
周期获取服务器日志的条数,所述服务器日志的条数为获取时服务器中存储的服务器日志的数目;
[0008]
根据所述服务器日志的条数计算日志增长速率,所述日志增长速率为所述服务器中存储的服务器日志增长的速率;
[0009]
判断所述日志增长速率是否与增长速率范围相匹配,若否,则进行告警。
[0010]
可选地,所述周期性获取服务器日志的条数包括:
[0011]
接收所述服务器在运行过程中产生的服务器日志并存储至数据库;
[0012]
记录第一时刻所述数据库存储的服务器日志的数目;
[0013]
记录第二时刻所述数据库存储的服务器日志的数目;
[0014]
根据所述数据库中存储的服务器日志在第一时刻和第二时刻的数目确定服务器日志的条数;
[0015]
可选地,所述将所述服务器日志存储至数据库包括:
[0016]
对所述服务器日志进行格式转换;
[0017]
所述格式转换包括日志编码格式转换、时间类型转换和字段类型转换中的至少一项。
[0018]
可选地,所述周期性获取服务器日志的条数包括:
[0019]
周期性向所述服务器发送条数查询请求;
[0020]
接收所述服务器发送的条数查询响应,所述查询条数响应包括服务器当前时刻存储的服务器日志的数目。
[0021]
可选地,所述增长速率阈值包括第一阈值和第二阈值,所述第一阈值大于所述第二阈值;
[0022]
所述判断所述日志增长速率是否与增长速率范围相匹配包括:
[0023]
判断所述日志增长速率是否大于第一阈值;
[0024]
判断所述日志增长速率是否小于第二阈值;
[0025]
若所述日志增长速率大于所述第一阈值或所述增长速率小于所述第二阈值,确定所述日志增长速率与增长速率范围不匹配。
[0026]
第二方面,本申请实施例提供了一种日志监控装置,所述装置包括:
[0027]
获取模块,用于周期性获取服务器日志的条数,所述服务器日志的条数为获取时服务器存储的服务器日志的数目;
[0028]
处理模块,用于根据所述服务器日志的条数计算日志增长速率,所述日志增长速率为所述服务器中存储的服务器日志增长的速率;判断所述日志增长速率是否与增长速率范围相匹配;
[0029]
发送模块,用于响应于所述日志增长速率与所述增长速率范围不匹配,进行告警。
[0030]
可选地,所述获取模块,用于接收所述服务器在运行过程中产生的服务器日志并存储至数据库;
[0031]
所述处理模块,用于记录第一时刻所述数据库存储的服务器日志的数目;记录第二时刻所述数据库存储的服务器日志的数目;根据所述数据库中存储的服务器日志在第一时刻和第二时刻的数目确定服务器日志的条数。
[0032]
可选地,所述处理模块,用于对所述服务器日志进行格式转换;所述格式转换包括日志编码格式转换、时间类型转换和字段类型转换中的至少一项。
[0033]
可选地,所述发送模块,用于周期性向所述服务器发送条数查询请求;
[0034]
所述接收模块,用于接收所述服务器发送的条数查询响应,所述查询条数响应包括服务器当前时刻存储的服务器日志的数目。
[0035]
可选地,所述增长速率阈值包括第一阈值和第二阈值,所述第一阈值大于所述第二阈值;
[0036]
所述处理模块,用于判断所述日志增长速率是否大于第一阈值;判断所述日志增长速率是否小于第二阈值;若所述日志增长速率大于所述第一阈值或所述增长速率小于所述第二阈值,确定所述日志增长速率与增长速率范围不匹配。
[0037]
第三方面,本申请实施例提供了一种监控服务器,所述监控服务器用于执行前述第一方面提供的日志监控方法。
[0038]
本申请实施例提供了一种日志监控方法及装置。在日志监控方法中,可以周期获取服务器日志的条数。其中,服务器日志的条数为在获取服务器日志的条数时(即当前时刻)服务器中存储的服务器日志的数目。这些服务器日志可以是所述服务器在运行过程中生成的数据日志。根据获取到的服务器日志的条数,可以计算出服务器中存储的服务器日志的增长速率,并判断所述日志增长速率是否与增长速率范围相匹配;响应于所述日志增长速率与所述增长速率范围不匹配,进行告警。这样,可以持续检测存储于服务器中的服务
器日志的增长速度,从而在服务器日志数量大量增加或大量减少的情况下及时发现服务器的异常情况并进行告警。根据服务器日志的增长速率而不是服务器日志的数量确定服务器的工作情况,相较于传统技术,无需根据不断调整服务器日志的数量的阈值,降低了技术人员的工作负担。
附图说明
[0039]
为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]
图1为本申请实施例提供的日志监控方法的方法流程图。
[0041]
图2为本申请实施例提供的日志监控装置的一种结构示意图。
具体实施方式
[0042]
目前,对服务器进行监控时,监控服务器可以采集服务器运行过程中生成的服务器日志,并周期性统计服务器日志的总量。如果服务器中存储的服务器日志的总量超过告警阈值,则说明服务器在前一个(或多个检测周期内)产生了较多服务器日志,可能出现异常,相应地,监控服务器可以进行告警,通知技术人员及时对服务器进行修改。
[0043]
但是,服务器中存储的日志总量不仅会因为服务器的异常发生变化,还可能随着时间和运营周期发生变化。例如,假设服务器中运行的某软件在白天访问量较多,在夜间访问量较低,那么服务器在白天产生的服务器日志数量大于该服务器在夜间产生的服务器日志数量。同样,假设服务器中运行的某软件在运营初期用户较少,运营中期用户较多,那么服务器在该软件的运营初期产生的服务器日志数量小于该服务器在运营中期产生的服务器日志数量。
[0044]
在传统技术中,为了适应服务器日志的正常变化,往往需要针对不同时间段设置不同的告警阈值,并随着时间推移不断调整相同时段的告警阈值,大大增加了技术人员的工作负担。
[0045]
为了给出在现有的日志监控技术的基础上,无需调整告警阈值即可检测到系统异常的技术方案,本申请提供了一种日志监控方法及装置,以下将从计算机软件的角度对本申请优选实施例进行说明。该计算机软件可以运行于监控服务器,也可以运行于其他用于日志监控的计算机设备。
[0046]
参见图1,图1为本申请实施例提供的日志监控方法的方法流程图,包括:
[0047]
s101:周期获取服务器日志的条数。
[0048]
在本申请实施例中,监控服务器可以周期性地获取服务器日志的条数。其中,服务器日志的条数为在监控服务器获取服务器日志的条数时,服务器存储的服务器日志的数目。其中,服务器日志可以是服务器在运行过程中产生的数据日志。
[0049]
例如,假设,第一服务器用于处理用户的请求,并将处理过程中生成的数据记录在服务器日志中并存储到数据库。数据库可以定期清理其中存储的服务器日志。那么,服务器日志的数量可以是数据库中存储的服务器日志的数量,表示服务器在上一次清理后生成的
服务器日志的条数。
[0050]
在一种可能的实现方式中,第一服务器可以将生成的服务器日志发送给监控服务器。监控服务器可以接收服务器日志并存储在数据库中。在获取服务器日志的条数时,监控服务器可以记录数据库在第一时刻存储的服务器日志的数目和该数据库在第二时刻存储的服务器日志的数目。将第一时刻服务器日志的数目与第二时刻服务器日志的数目相减,可以确定第一服务器在第一时刻到第二时刻之间生成了多少服务器日志,即服务器日志的条数。
[0051]
可选地,当监控服务器需要对多个第一服务器进行监控时,来自不同第一服务器的服务器日志可能不同。那么,监控服务器可以对服务器进行日志格式转换,将不同格式的服务器日志转换为相同格式的服务器日志后再进行存储。
[0052]
举例说明。如果不同第一服务器生成的服务器日志的编码格式不同,那么监控服务器可以对服务器日志进行日志编码格式转换,统一来自不同服务器的服务器日志的编码格式。如果不同第一服务器生成的服务器日志中采用的计时方式不同,例如有的服务器日志利用时间戳记录时间,有的服务器利用世界时间或本地时间记录时间,监那么控服务器可以将时间戳转换为本地时间或将本地时间转换为时间戳。如果不同第一服务器生成的服务器日志的字段类型不同,例如有的服务器日志字段的数据类型为浮点型,有的服务器日志字段的数据类型为整型,那么监控服务器可以统一不同服务器日志中同类字段的数据格式。
[0053]
在一些可能的实现方式中,监控服务器还可以通过查询请求获取服务器日志的条数。具体地,监控服务器可以通过与第一服务器之间的连接向第一服务器发送条数查询请求。第一服务器可以根据该条数查询请求查询第一服务器当前存储的服务器日志的数量。接着,第一服务器可以向监控服务器发送条数查询响应,该条数查询响应中包括第一服务器当前时刻存储的服务器日志的数目。如此,通过与第一服务器之间的连接,监控服务器可以实时查询第一服务器中存储的服务器日志的数目。
[0054]
s102:根据所述服务器日志的条数计算日志增长速率。
[0055]
在确定服务器日志的条数后,可以根据服务器日志的条数计算日志增长速率,该日志增长速率标识服务器中存储的服务器日志的增长速率,例如可以是第一服务器生成服务器日志的速率与删除服务器日志的速率之差或第一服务器生成服务器日志的速率相对时间的一阶导数。
[0056]
具体地,监控服务器可以将任意两次获取到的服务器日志的数目做差,并将做差得到的结果与这两次获取服务器日志数目的时间相除,得到日志增长速率。可选地,监控服务器还可以获取第一服务器生成多个服务器日志中每个服务器的时间,并计算单位时间内第一服务器生成服务器日志的数量,得到日志增长速率。
[0057]
s103:判断所述日志增长速率是否与增长速率范围相匹配,若否,则进行告警。
[0058]
在确定日志增长速率后,监控服务器可以比较日志增长速率与增长速率范围是否匹配。如果日志增长速率与增长速率范围不匹配,则说明这个检测周期内第一服务器生成的服务器日志的速度过快或过慢,第一服务器可能出现故障。那么,监控服务器可以进行告警。
[0059]
可选地,当监控服务器需要对多个第一服务器进行监控时,监控服务器中可以存
储多个第一服务器中每个第一服务器的标识。在确定某个第一服务器的日志增长速率与增长速率范围不匹配时,第一服务器可以根据该第一服务器的标识确定该第一服务器的负责人的联系方式,并通过短信、电话或邮件等方式进行告警。
[0060]
在一些可能的实现方式中,前述增长速率范围可以包括第一阈值和第二阈值。其中,第一阈值表示日志增长速率的上界,第二阈值表示日志增长速率的下界。那么,监控服务器可以判断日志增长速率是否大于第一阈值,和/或,日志增长速率是否小于第二阈值。若日志增长速率大于第一阈值,则说明该日志增长速率对应的第一服务器在本周期内生成服务器日志的速度过快;若日志增长速率小于第二阈值,则说明该日志增长速率对应的第一服务器在本周期内生成服务器日志的速度过慢。无论日志增长速率大于第一阈值还是增长速率小于第二阈值,监控服务器可以确定日志增长速率与增长速率范围不匹配,从而进行告警。可选地,监控服务器还可以在告警时携带日志增长速率与第一阈值或第二阈值的关系,以使其他设备了解第一服务器的异常情况。
[0061]
本申请实施例提供了一种日志监控方法。在日志监控方法中,可以周期获取服务器日志的条数。其中,服务器日志的条数为在获取服务器日志的条数时(即当前时刻)服务器中存储的服务器日志的数目。这些服务器日志可以是所述服务器在运行过程中生成的数据日志。根据获取到的服务器日志的条数,可以计算出服务器中存储的服务器日志的增长速率,并判断所述日志增长速率是否与增长速率范围相匹配;响应于所述日志增长速率与所述增长速率范围不匹配,进行告警。这样,可以持续检测存储于服务器中的服务器日志的增长速度,从而在服务器日志数量大量增加或大量减少的情况下及时发现服务器的异常情况并进行告警。根据服务器日志的增长速率而不是服务器日志的数量确定服务器的工作情况,相较于传统技术,无需根据不断调整服务器日志的数量的阈值,降低了技术人员的工作负担。
[0062]
以上为本申请实施例提供日志监控方法的一些具体实现方式,基于此,本申请还提供了对应的装置。下面将从功能模块化的角度对本申请实施例提供的上述装置进行介绍。
[0063]
参见图2所示的日志监控装置的结构示意图,该装置200包括:
[0064]
获取模块210,用于周期性获取服务器日志的条数,所述服务器日志的条数为获取时服务器存储的服务器日志的数目。
[0065]
处理模块220,用于根据所述服务器日志的条数计算日志增长速率,所述日志增长速率为所述服务器中存储的服务器日志增长的速率;判断所述日志增长速率是否与增长速率范围相匹配。
[0066]
发送模块230,用于响应于所述日志增长速率与所述增长速率范围不匹配,进行告警。
[0067]
本申请实施例提供了一种日志监控装置。在日志监控方法中,可以周期获取服务器日志的条数。其中,服务器日志的条数为在获取服务器日志的条数时(即当前时刻)服务器中存储的服务器日志的数目。这些服务器日志可以是所述服务器在运行过程中生成的数据日志。根据获取到的服务器日志的条数,可以计算出服务器中存储的服务器日志的增长速率,并判断所述日志增长速率是否与增长速率范围相匹配;响应于所述日志增长速率与所述增长速率范围不匹配,进行告警。这样,可以持续检测存储于服务器中的服务器日志的
增长速度,从而在服务器日志数量大量增加或大量减少的情况下及时发现服务器的异常情况并进行告警。根据服务器日志的增长速率而不是服务器日志的数量确定服务器的工作情况,相较于传统技术,无需根据不断调整服务器日志的数量的阈值,降低了技术人员的工作负担。
[0068]
可选地,在一些可能的实现方式中,获取模块210,用于接收所述服务器在运行过程中产生的服务器日志并存储至数据库。
[0069]
所述处理模块220,用于记录第一时刻所述数据库存储的服务器日志的数目;记录第二时刻所述数据库存储的服务器日志的数目;根据所述数据库中存储的服务器日志在第一时刻和第二时刻的数目确定服务器日志的条数。
[0070]
可选地,在一些可能的实现方式中,所述处理模块220,用于对所述服务器日志进行格式转换;所述格式转换包括日志编码格式转换、时间类型转换和字段类型转换中的至少一项。如此,在同时对多个产生服务器日志的服务器进行监控时,可以统一来自不同服务器的服务器日志的格式,以便计算服务器生成服务器日志的日志正常速率。
[0071]
可选地,在一些可能的实现方式中,所述发送模块230,用于周期性向所述服务器发送条数查询请求。所述接收模块220,用于接收所述服务器发送的条数查询响应,所述查询条数响应包括服务器当前时刻存储的服务器日志的数目。如此,通过与生成服务器日志的服务器之间的连接,可以实时获取服务器当前存储的服务器日志的数目,确保日志增长速率的准确。
[0072]
可选地,在一些可能的实现方式中,所述增长速率阈值包括第一阈值和第二阈值,所述第一阈值大于所述第二阈值。所述处理模块,用于判断所述日志增长速率是否大于第一阈值;判断所述日志增长速率是否小于第二阈值;若所述日志增长速率大于所述第一阈值或所述增长速率小于所述第二阈值,确定所述日志增长速率与增长速率范围不匹配。
[0073]
本申请实施例中提到的“第一阈值”、“第二阈值”等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
[0074]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0075]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0076]
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1