发明内容
有鉴于此,本申请提供了一种日志监测方法及装置,用以解决现有技术中还没有一种对网站服务器不能对用户请求正常作出响应动作的异常情况进行预警的方案的技术问题。本申请提供的技术方案包括:
一种日志监测方法,应用于监测服务器,所述监测服务器与多台网站服务器相连,该方法包括:
步骤A:当接收到日志监测指令时,获取至少一台网站服务器生成的日志记录;
步骤B:分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值,若是,执行步骤C;
步骤C:生成与该网站服务器相对应的报警信息。
上述方法,优选的,在所述步骤C之后还包括:
将所述报警信息发送至报警信息接收端。
上述方法,优选的,所述网站服务器上设置有监测客户端,且所述网站服务器存储有与所述监测客户端对应的客户端配置文件;所述监测服务器上存储有与所述每个监测客户端各自对应的服务端配置文件。
上述方法,优选的,所述获取至少一台网站服务器生成的日志记录,包括:
控制所述多个监测客户端依据对应的客户端配置文件确定目标网站服务器,触发所述监测客户端发送所述目标网站服务器生成的日志记录,并接收所述日志记录;
和/或,控制所述多个监测客户端依据对应的客户端配置文件确定目标日志记录,触发所述监测客户端发送所述网站服务器生成的目标日志记录,并接收所述目标日志记录。
上述方法,优选的,所述获取至少一台网站服务器生成的日志记录,包括:
判断所述监测客户端与所述监测服务器之间的通信连接是否异常;
若是,控制所述监测客户端将所述网站服务器生成的日志记录放入预设的消息队列中;当所述通信连接正常时,控制所述监测客户端发送所述消息队列中的日志记录;
若否,控制所述监测客户端发送所述网站服务器生成的日志记录。
上述方法,优选的,还包括:
当监测到所述服务端配置文件更新时,将所述更新后的服务端配置文件发送至对应的监测客户端,以触发所述监测客户端将所述客户端配置文件更新为所述更新后的服务端配置文件。
上述方法,优选的,在获取至少一台网站服务器生成的日志记录之后,还包括:
根据预设分片规则,将所述日志记录进行分片;
将所述分片后的日志记录存储在多台数据库服务器中;
当接收到日志访问指令时,生成路由进程;
触发所述路由进程在所述多台数据库服务器中获取与所述日志访问指令对应的日志记录。
本申请还提供了一种日志监测装置,应用于监测服务器,所述监测服务器与多台网站服务器相连,该装置包括:
获取模块:用于当接收到日志监测指令时,获取至少一台网站服务器生成的日志记录;
判断模块:用于分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值;若是,触发报警模块;
报警模块:用于生成与该网站服务器相对应的报警信息;
发送模块,用于将所述报警信息发送至报警信息接收端。
上述装置,优选的,所述网站服务器上设置有监测客户端,且所述网站服务器存储有与所述监测客户端对应的客户端配置文件;所述监测服务器上存储有与所述每个监测客户端各自对应的服务端配置文件;该装置还包括:
更新模块,用于当监测到所述服务端配置文件更新时,将所述更新后的服务端配置文件发送至对应的监测客户端,以触发所述监测客户端将所述客户端配置文件更新为所述更新后的服务端配置文件;
其中:所述获取模块包括:
第一获取子模块,用于控制所述多个监测客户端依据对应的客户端配置文件确定目标网站服务器,触发所述监测客户端发送所述目标网站服务器生成的日志记录,并接收所述日志记录;
第二获取子模块,用于控制所述多个监测客户端依据对应的客户端配置文件确定目标日志记录,触发所述监测客户端发送所述网站服务器生成的目标日志记录,并接收所述目标日志记录;
第三获取子模块,用于判断所述监测客户端与所述监测服务器之间的通信连接是否异常;若是,控制所述监测客户端将所述网站服务器生成的日志记录放入预设的消息队列中;当所述通信连接正常时,控制所述监测客户端发送所述消息队列中的日志记录;若否,控制所述监测客户端发送所述网站服务器生成的日志记录。
上述装置,优选的,还包括:
分片模块,用于根据预设分片规则,将所述日志记录进行分片;
存储模块,用于将所述分片后的日志记录存储在多台数据库服务器中;
进程模块,用于当接收到日志访问指令时,生成路由进程;
触发模块,用于触发所述路由进程在所述多台数据库服务器中获取与所述日志访问指令对应的日志记录。
由以上的技术方案可知,本实施例提供了一种日志监测方法及装置,应用于监测服务器,所述监测服务器与多台网站服务器相连,该方法通过当接收到日志监测指令时,获取至少一台网站服务器生成的日志记录,并分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值,若是,生成与该网站服务器相对应的报警信息,从而利用网站服务器生成的日志记录,实现了对所述网站服务器的监测。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
不同功能的网站服务器可实现不同的网站功能,如购物、文件上传及下载、信息搜索等。用户对网站服务器发送访问请求,网站服务器依据访问请求作出响应的响应,如购物功能中的提交订单、确认付款等。
然而,网站服务器可能由于各种原因导致无法对用户的请求作出正常的响应动作。所述各种原因包括网站服务器自身或来自外界的原因,例如,访问网站的用户突然急剧增加,黑客对网站的攻击等。
为记录上述异常情况,网站服务器会生成相应日志记录,所述日志记录中存储有异常情况相关的数据信息,如产生异常情况的时间、接收到访问请求的时间、访问请求的内容等。所述日志记录可以作为分析网站服务器运行状况的依据。因此,本申请利用网站服务器生成的所述日志记录,实现对网站服务器的监测功能。
方法实施例一:
请参阅图1,其示出了本申请提供的一种日志监测方法实施例一的流程图,本实施例可以包括:
步骤101:当接收日志监测指令时,获取至少一台网站服务器生成的日志记录。
其中,所述日志监测指令用于触发本实施例的执行,即当接收到所述日志监测指令时,开始执行本步骤中的获取日志记录的操作。所述日志监测指令可以是根据外界人为操作触发产生的,如需要对网站服务器进行监测时,人为进行点击操作,从而生成所述日志监测指令。
具体的,所述获取过程,可以是接收所述网站服务器自行发送的日志记录,也可以是向所述网站服务器发送控制命令,以触发所述网站服务器将生成的日志记录发送至所述监测服务器。
另外,本实施例并不限定所述网站服务器的具体类型,只要是能对异常情况生成日志记录的网站服务器即可。
步骤102:分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值;若是,执行步骤103。
其中,所述日志记录中可以包含有网站服务器的标识,用以记录生成日志记录的网站服务器。具体的,所述判断过程为,统计所述每台网站服务器各自生成的日志记录的项数值,即生成了多少项的日志记录,并将所述各个数量值与预设预警阈值进行比对。当某台网站服务器生成的日志记录的数量值满足预设报警阈值时,执行步骤103。
需要说明的是,所述预设报警阈值,可以是同一数值,即所述各个网站服务器生成的日志记录的数量值均与同一预设报警阈值进行比对;也可以是不同数值,即为各个网站服务器设置不同的报警阈值。另外,更进一步讲,针对同一个网站服务器,所述预设报警阈值也可以是不同数值,即同一个网站服务器可以发送不同类型的日志记录,则所述预设报警阈值可以与日志记录的类型相对应,即预设每种类型的日志记录各自对应的报警阈值,例如,支付过程中生成的日志记录对应的报警预设阈值为10,提交订单过程中生成的日志记录对应的预设报警阈值为20项。
需要说明的是,所述获取过程是实时进行的,即实时获取所述网站服务器生成的日志记录,则所述预设报警阈值可以包含有时间段因素,即所述预设报警阈值是预设时间段内的阈值,例如,一分钟10项,一分钟20项。则相应的,所述判断过程具体为,判断所述预设时间段内的日志记录的项数是否满足预设报警阈值。例如,判断一分钟内支付日志记录的项数是否满足10项,判断一分钟内支付日志记录的数量值是否满足20项。
步骤103:生成与该网站服务器相对应的报警信息。
具体的,若步骤102中判断的某台网站服务器生成的日志记录的数量值满足预设报警阈值,则生成与该网站服务器相对应的报警信息。所述日志记录中可以包含有网站服务器的标识,则可以根据网站服务器的标识建立报警信息与网站服务器的对应关系。
另外,所述报警信息的形式可以包括但不限定于邮件报警信息、短信报警信息、界面报警信息。
需要说明的是,上述步骤101、步骤102及步骤103分别与权利要求1中的步骤A、步骤B及步骤C相对应。
由以上的技术方案可知,本实施例提供了一种日志监测方法,所述方法应用于监测服务器,所述监测服务器与多台网站服务器相连,该方法通过当接收到日志监测指令时,获取至少一台网站服务器生成的日志记录,并分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值,若是,生成与该网站服务器相对应的报警信息,从而利用网站服务器生成的日志记录,实现了对所述网站服务器的监测。
更进一步的,所述报警信息是与所述网站服务器相对应的,即可以根据所述报警信息确定产生访问异常情况的具体网站服务器。在网站服务器使用分布式协同处理技术的场景下,可以快速地对出现异常情况的网站服务器进行定位,有效地提高了监测效率及监测准确性。
请参阅图1,在上述方法实施例一步骤103之后,该实施例还包括:
步骤104:将所述报警信息发送至报警信息接收端。
具体的,依据所述报警信息的具体形式,将所述报警信息发送至报警信息接收端,以提醒相关人员对所述网站服务器的异常情况进行处理。其中,所述报警信息接收端可以是一个或多个。例如,邮件接收终端、短信接收终端、界面显示终端中的一个或多个。
方法实施例二:
请参阅图2,多台网站服务器201至204上各自设置有监测客户端,所述网站服务器与所述监测服务器相连,且所述网站服务器205上存储有与所述监测客户端对应的客户端配置文件;所述监测服务器上存储有与所述每个监测客户端各自对应的服务端配置文件。需要说明的是,所述监测客户端与所述监测服务器205使用HTTP和TCP/IP通信协议,以使所述监测客户端广泛应用在各种操作***运行环境下,提高本申请中各个实施例的应用性。
在所述图2示的架构图的基础上,请参阅图3,其示出了本申请提供的一种日志监测方法实施例二的流程图,本实施可以包括:
步骤301:当接收到日志监测指令时,控制所述多个监测客户端依据对应的客户端配置文件确定目标网站服务器,触发所述监测客户端发送所述目标网站服务器生成的日志记录,并接收所述日志记录。
其中,所述控制过程可以是,当所述监测服务器接收到日志监测指令时,所述监测服务器向所述监测客户端发送控制信息,当所述监测客户端接收到所述控制信息时,即依据对应的客户端配置文件确定目标网站服务器。具体的,所述网站服务器中存储有客户端配置文件,所述客户端配置文件中包含有监测客户端对的配置信息,如是否发送日志记录,以何种方式发送日志记录等。所述监测客户端根据所述客户端配置文件中的配置信息确定是否发送与该监测客户端对应的网站服务器生成的日志记录。若是,则将该网站服务器确定为目标网站服务器。需要说明的是,所述目标网站服务器可以是一个,也可以是多个,具体数量,是根据所述各个客户端配置文件中的配置信息决定的。
另外,所述监测客户端根据触发命令将所述目标网站服务器生成的日志记录向所述监测服务器进行发送,所述监测服务器接收所述日志记录。另外,还可以控制所述监测客户端将生成的日志记录同时保存在网站服务器中,以供相关人员进行历史日志数据的查询。
步骤302:分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值;若是,执行步骤303。
步骤303:生成与该网站服务器相对应的报警信息。
其中,步骤302及303与方法实施例一中步骤102及103相同,在此不赘述。
方法实施例三:
在所述图2示的架构图的基础上,请参阅图4,其示出了本申请提供的一种日志监测方法实施例三的流程图,本实施可以包括:
步骤401:当接收到日志监测指令时,控制所述多个监测客户端依据对应的客户端配置文件确定目标日志记录,触发所述监测客户端发送所述网站服务器生成的目标日志记录,并接收所述目标日志记录。
其中,所述网站服务器上存储有客户端配置文件,所述客户端配置文件中的配置信息可以包含有发送何种类型的日志记录,所述监测客户端根据所述配置信息可以确定发送日志记录的类型,将所述确定的日志记录类型确定为目标日志记录。当接收到触发命令时,所述监测客户端可以将目标日志记录向所述监测服务器进行发送,所述监测服务器接收所述日志记录。
步骤402:分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值;若是,执行步骤403。
步骤403:生成与该网站服务器相对应的报警信息。
其中,步骤402及403与方法实施例一中步骤102及103相同,在此不赘述。
当然,所述客户端配置文件中可以包含有是否发送日志记录、发送何种类型的日志记录等信息,则方法实施例一中的步骤101可以通过结合实施例二中的步骤201及实施例三中的步骤301来实现,即当接收到日志监测指令时,控制所述监测客户端依据对应的客户端配置文件确定目标网站服务器及目标日志记录,触发所述监测客户端发送所述目标网站服务器生成的目标日志记录,并接收所述目标日志记录。
方法实施例四:
在图2所示的架构基础上,请参阅图5,其示出了本申请提供的一种日志监测方法实施例四的部分流程图,上述方法实施例一的步骤101可以通过以下步骤实现:
步骤501:判断所述监测客户端与所述监测服务器之间的通信连接是否异常;若是,执行步骤502;若否,执行步骤503。
其中,当所述监测客户端与所述监测服务器之间的通信连接异常时,会导致所述日志记录不能发送至所述监测服务器,则需判断所述通信连接是否正常。
步骤502:控制所述监测客户端将所述网站服务器生成的日志记录放入预设的消息队列中;当所述通信连接正常时,控制所述监测客户端发送所述消息队列中的日志记录。
其中,所述消息队列中包含有所有未被成功发送的日志记录,且所述日志记录具有先后顺序,即按所述网站服务器生成所述日志记录的时间进行排列。当所述通信连接正常时,触发所述监测客户端按时间先后顺序将所述消息队列中的日志记录发送至所述监测服务器。
步骤503:控制所述监测客户端发送所述网站服务器生成的日志记录。
当监测客户端与所述监测服务器之间的通信连接异常时,由以上的技术方案可以实现对网站服务器生成的日志记录的缓存功能,从而可以保证所述日志记录的安全性,进而提供了监测准确性。
在图2所示的架构基础上,当监测人员需要对配置信息进行修改时,只需对所述监测服务器上的服务端配置文件进行更新即可。则,在上述各个方法实施例的基础上,还可以包括:
当监测到所述服务端配置文件更新时,将所述更新后的服务端配置文件发送至对应的监测客户端,以触发所述监测客户端将所述客户端配置文件更新为所述更新后的服务端配置文件。
其中,所述监测到所述服务端配置文件更新的方式,可以是根据监测人员的更新操作生成更新指令,由所述更新指令触发所述监测服务器;还可以是每隔预设时间段保存一次所述服务端配置文件,并将保存的当前服务端配置文件与最近一次的进行比对,当存在差异时,则可确定所述服务端配置文件进行了更新。
所述监测服务器将所述更新后的服务端配置文件发送至对应的监测客户端。其中,可以是只发送进行更新的部分,也可以是发送更新后的全部服务端配置文件。触发所述监测客户端将所述客户端配置文件更新为所述更新后的服务端配置文件,从而实现对网站服务器中存储的客户端配置文件的更新。
当所述网站服务器数量较多时,修改所述各台网站服务器中的配置文件需要耗费相关人员较多的时间,且由于数量较多,则配置文件的更新较慢,进而导致网站服务器的监测不及时,最终导致网站服务器出现严重的访问异常问题。由本实施例提供的技术方案可知,所述监测服务器中存储有与各个监测客户端各自对应的服务端配置文件,只需对所述监测服务器上的各个服务端配置文件进行更新即可,所述监测服务器将更新后的服务端配置文件发送至所述网站服务器,触发所述监测客户端对配置文件进行更新,提高了监测效率及监测及时性。
另外,本实施例并不限定本步骤的执行顺序,即可以是在各个上述方法实施例中的任意步骤之前或之后执行。
方法实施例五:
日志记录需要存储在数据库中,当日志记录的数量较大时,需要将所述日志记录进行有效存储。请参阅图6,其示出了本申请提供的一种日志监测方法实施例五的部分流程图,在方法实施例一的步骤101之后,还可以包括:
步骤601:根据预设分片规则,将所述日志记录进行分片。
其中,所述分片是将日志记录数据拆分的过程,或者可以称之为分区。所述预设分片规则可以是时间分配规则,即按日志记录的生成时间对各个日志记录进行分片,或可以是网站服务器标识规则,即按不同网站服务器标识对各个日志记录进行分片。分片后的日志记录数据与所述片的对应关系保存于分片配置文件中。
具体的,将日志记录数据集合切分为小块,将这些小块形成多个分片,每个片只包含日志记录数据集合中的一部分。
步骤602:将所述分片后的日志记录存储在多台数据库服务器中。
其中,将所述分片后的日志记录存储于多台数据库服务器中可以实现负载分配。请参阅图2,分片后的日志记录可以分散存储在各个数据库服务器206至208中。
步骤603:当接收到日志访问指令时,生成路由进程。
其中,当应用程序需要对存储的日志记录进行访问时,触发生成日志访问指令,当接收到所述日志访问指令时,生成路由进程。从而,所述应用程序不必记录日志记录具体的分片信息及所述分片数据的具体存储位置,与所述路由进程连接即可,只需将访问请求发送至所述路由进程。
步骤604:触发所述路由进程在所述多台数据库服务器中获取与所述日志访问指令对应的日志记录。
其中,所述路由进程可以根据所述分片配置文件中的信息,准确确定与所述访问请求对应的日志记录分片后的具体存储位置,并进行获取,并将获取后的日志记录数据返回给所述应用程序。
由以上的技术方案可知,将所述日志记录数据分散存储在多台数据库服务器中,从而不需要功能强大的大型数据库服务器就可以实现大量日志数据的存储。
装置实施例一:
请参阅图7,其示出了本申请提供的一种日志监测装置实施例一的结构示意图,本装置应用于监测服务器,所述监测服务器与多台网站服务器相连,该装置包括:获取模块701、判断模块702、报警模块703及发送模块704。其中:
所述获取模块701,用于当接收日志监测指令时,获取至少一台网站服务器生成的日志记录。
其中,所述日志监测指令用于触发本实施例的执行,即当接收到所述日志监测指令时,开始执行本步骤中的获取日志记录的操作。所述日志监测指令可以是根据外界人为操作触发产生的,如需要对网站服务器进行监测时,人为进行点击操作,从而生成所述日志监测指令。
具体的,所述获取模块701获取过程,可以是接收所述网站服务器自行发送的日志记录,也可以是向所述网站服务器发送控制命令,以触发所述网站服务器将生成的日志记录发送至所述监测服务器。
另外,本实施例并不限定所述网站服务器的具体类型,只要是能对异常情况生成日志记录的网站服务器即可。
所述判断模块702,用于分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值;若是,触发报警模块703。
其中,所述日志记录中可以包含有网站服务器的标识,用以记录生成日志记录的网站服务器。具体的,所述判断模块702判断过程为,统计所述每台网站服务器各自生成的日志记录的项数,即生成了多少项的日志记录,并将所述各个数量值与预设预警阈值进行比对。当某台网站服务器生成的日志记录的数量值满足预设报警阈值时,触发报警模块703。
需要说明的是,所述预设报警阈值,可以是同一数值,即所述各个网站服务器生成的日志记录的数量值均与同一预设报警阈值进行比对;也可以是不同数值,即为各个网站服务器设置不同的报警阈值。另外,更进一步讲,针对同一个网站服务器,所述预设报警阈值也可以是不同数值,即同一个网站服务器可以发送不同类型的日志记录,则所述预设报警阈值可以与日志记录的类型相对应,即预设每种类型的日志记录各自对应的报警阈值,例如,支付过程中生成的日志记录对应的报警预设阈值为10,提交订单过程中生成的日志记录对应的预设报警阈值为20。
需要说明的是,所述获取模块701获取过程是实时进行的,即实时获取所述网站服务器生成的日志记录,则所述预设报警阈值可以包含有时间段因素,即所述预设报警阈值是预设时间段内的阈值,例如,一分钟10项,一分钟20项。则相应的,所述判断过程具体为,判断所述预设时间段内的日志记录的项数是否满足预设报警阈值。例如,判断一分钟内支付日志记录的项数是否满足10项,判断一分钟内支付日志记录的数量值是否满足20项。
所述报警模块703,用于生成与该网站服务器相对应的报警信息。
具体的,若所述判断模块702判断的某台网站服务器生成的日志记录的数量值满足预设报警阈值,则所述报警模块703生成与该网站服务器相对应的报警信息。所述日志记录中可以包含有网站服务器的标识,则可以根据网站服务器的标识建立报警信息与网站服务器的对应关系。
另外,所述报警信息的形式可以包括但不限定于邮件报警信息、短信报警信息、界面报警信息。
所述发送模块704,用于将所述报警信息发送至报警信息接收端。
具体的,依据所述报警信息的具体形式,将所述报警信息发送至报警信息接收端,以提醒相关人员对所述网站服务器的异常情况进行处理。其中,所述报警信息接收端可以是一个或多个。例如,邮件接收终端、短信接收终端、界面显示终端中的一个或多个。
由以上的技术方案可知,本实施例提供了一种日志监测装置,所述装置应用于监测服务器,所述监测服务器与多台网站服务器相连,该方法通过当接收到日志监测指令时,获取至少一台网站服务器生成的日志记录,并分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值,若是,生成与该网站服务器相对应的报警信息,从而利用网站服务器生成的日志记录,实现了对所述网站服务器的监测。
更进一步的,所述报警信息是与所述网站服务器相对应的,即可以根据所述报警信息确定产生访问异常情况的具体网站服务器。在网站服务器使用分布式协同处理技术的场景下,可以快速地对出现异常情况的网站服务器进行定位,有效地提高了监测效率及监测准确性。
装置实施例二:
在所述图2示的架构图的基础上,请参阅图8,其示出了本申请提供的一种日志监测装置实施例二的结构示意图,本实施可以包括:第一获取子模块7011、第二获取子模块7012、第三获取子模块7013、判断模块702、报警模块703、发送模块704及更新模块705。其中:
所述第一获取子模块7011,用于当接收到日志监测指令时,控制所述多个监测客户端依据对应的客户端配置文件确定目标网站服务器,触发所述监测客户端发送所述目标网站服务器生成的日志记录,并接收所述日志记录。
其中,所述第一获取子模块7011控制过程可以是,当所述监测服务器接收到日志监测指令时,所述监测服务器向所述监测客户端发送控制信息,当所述监测客户端接收到所述控制信息时,即依据对应的客户端配置文件确定目标网站服务器。具体的,所述网站服务器中存储有客户端配置文件,所述客户端配置文件中包含有监测客户端对的配置信息,如是否发送日志记录,以何种方式发送日志记录等。所述监测客户端根据所述客户端配置文件中的配置信息确定是否发送与该监测客户端对应的网站服务器生成的日志记录。若是,则将该网站服务器确定为目标网站服务器。需要说明的是,所述目标网站服务器可以是一个,也可以是多个,具体数量,是根据所述各个客户端配置文件中的配置信息决定的。
另外,所述监测客户端根据触发命令将所述目标网站服务器生成的日志记录向所述监测服务器进行发送,所述第一获取子模块7011接收所述日志记录。另外,所述第一获取子模块7011还可以控制所述监测客户端将生成的日志记录同时保存在网站服务器中,以供相关人员进行历史日志数据的查询。
所述第二获取子模块7012,用于当接收到日志监测指令时,控制所述多个监测客户端依据对应的客户端配置文件确定目标日志记录,触发所述监测客户端发送所述网站服务器生成的目标日志记录,并接收所述目标日志记录。
其中,所述网站服务器上存储有客户端配置文件,所述客户端配置文件中的配置信息可以包含有发送何种类型的日志记录,所述监测客户端根据所述配置信息可以确定发送日志记录的类型,将所述确定的日志记录类型确定为目标日志记录。当接收到触发命令时,所述监测客户端可以将目标日志记录向所述监测服务器进行发送,所述第二获取子模块7012接收所述日志记录。
所述第三获取子模块7013,用于判断所述监测客户端与所述监测服务器之间的通信连接是否异常;若是,控制所述监测客户端将所述网站服务器生成的日志记录放入预设的消息队列中;当所述通信连接正常时,控制所述监测客户端发送所述消息队列中的日志记录;若否,控制所述监测客户端发送所述网站服务器生成的日志记录。
其中,当所述监测客户端与所述监测服务器之间的通信连接异常时,会导致所述日志记录不能发送至所述监测服务器,则需判断所述通信连接是否正常。
其中,所述消息队列中包含有所有未被成功发送的日志记录,且所述日志记录具有先后顺序,即按所述网站服务器生成所述日志记录的时间进行排列。当所述通信连接正常时,所述第三获取子模块7013触发所述监测客户端按时间先后顺序将所述消息队列中的日志记录发送至所述监测服务器。
当监测客户端与所述监测服务器之间的通信连接异常时,由本实施例提供的技术方案可以实现对网站服务器生成的日志记录的缓存功能,从而可以保证所述日志记录的安全性,进而提供了监测准确性。
所述判断模块702,用于分别判断所述每台网站服务器各自生成的日志记录的项数是否满足预设报警阈值;若是,触发报警模块703。
所述报警模块703,用于生成与该网站服务器相对应的报警信息。
所述发送模块704,用于将所述报警信息发送至报警信息接收端。
其中,本实施例中的模块702至704与装置实施例一中模块702至704相同,在此不作赘述。
所述更新模块705,用于当监测到所述服务端配置文件更新时,将所述更新后的服务端配置文件发送至对应的监测客户端,以触发所述监测客户端将所述客户端配置文件更新为所述更新后的服务端配置文件。
其中,所述更新模块705监测到所述服务端配置文件更新的方式,可以是根据监测人员的更新操作生成更新指令,由所述更新指令触发所述监测服务器;还可以是每隔预设时间段保存一次所述服务端配置文件,并将保存的当前服务端配置文件与最近一次的进行比对,当存在差异时,则可确定所述服务端配置文件进行了更新。
所述更新模块705将所述更新后的服务端配置文件发送至对应的监测客户端。其中,可以是只发送进行更新的部分,也可以是发送更新后的全部服务端配置文件。所述更新模块705触发所述监测客户端将所述客户端配置文件更新为所述更新后的服务端配置文件,从而实现对网站服务器中存储的客户端配置文件的更新。
当所述网站服务器数量较多时,修改所述各台网站服务器中的配置文件需要耗费相关人员较多的时间,且由于数量较多,则配置文件的更新较慢,进而导致网站服务器的监测不及时,最终导致网站服务器出现严重的访问异常问题。由本实施例提供的技术方案可知,所述监测服务器中存储有与各个监测客户端各自对应的服务端配置文件,只需对所述监测服务器上的各个服务端配置文件进行更新即可,所述监测服务器将更新后的服务端配置文件发送至所述网站服务器,触发所述监测客户端对配置文件进行更新,提高了监测效率及监测及时性。
装置实施例三:
日志记录需要存储在数据库中,当日志记录的数量较大时,需要将所述日志记录进行有效存储。请参阅图9,其示出了本申请提供的一种日志监测装置实施例三的部分结构示意图,在装置实施例一的基础上,本实施例还可以包括:分片模块801、存储模块802、进程模块803及触发模块804。其中:
所述分片模块801,用于获取至少一台网站服务器生成的日志记录之后,根据预设分片规则,将所述日志记录进行分片。
其中,所述分片模块801分片是将日志记录数据拆分的过程,或者可以称之为分区。所述预设分片规则可以是时间分配规则,即按日志记录的生成时间对各个日志记录进行分片,或可以是网站服务器标识规则,即按不同网站服务器标识对各个日志记录进行分片。分片后的日志记录数据与所述片的对应关系保存于分片配置文件中。
具体的,所述分片模块801将日志记录数据集合切分为小块,将这些小块形成多个分片,每个片只包含日志记录数据集合中的一部分。
所述存储模块802,用于将所述分片后的日志记录存储在多台数据库服务器中。
其中,所述存储模块802将所述分片后的日志记录存储于多台数据库服务器中可以实现负载分配。
所述进程模块803,用于当接收到日志访问指令时,生成路由进程。
其中,当应用程序需要对存储的日志记录进行访问时,触发生成日志访问指令,当所述进程模块803接收到所述日志访问指令时,生成路由进程。从而,所述应用程序不必记录日志记录具体的分片信息及所述分片数据的具体存储位置,与所述路由进程连接即可,只需将访问请求发送至所述路由进程。
所述触发模块804,用于触发所述路由进程在所述多台数据库服务器中获取与所述日志访问指令对应的日志记录。
其中,所述路由进程可以根据所述分片配置文件中的信息,准确确定与所述访问请求对应的日志记录分片后的具体存储位置,并进行获取,并将获取后的日志记录数据返回给所述应用程序。
由以上的技术方案可知,将所述日志记录数据分散存储在多台数据库服务器中,从而不需要功能强大的大型数据库服务器就可以实现大量日志数据的存储。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。