系统日志的处理方法、装置、电子设备及可读存储介质与流程

文档序号:32953925发布日期:2023-01-14 15:13阅读:37来源:国知局
系统日志的处理方法、装置、电子设备及可读存储介质与流程

1.本发明涉及计算机技术领域,特别是涉及一种系统日志的处理方法、装置、电子设备及可读存储介质。


背景技术:

2.随着计算机技术的快速发展,服务器的应用越来越广泛。在服务器庞大的数量基础上不可避免的会出现服务器工作异常的情况。服务器工作异常时,需要对服务器的系统日志信息进行处理,以分析解决故障。
3.现有技术中,对服务器集群中各服务器系统日志的处理时,往往是通过测试人员一个一个远程登入服务器,以对服务器中的系统日志进行处理。但这样的日志处理方法由于需要人为手动操作,容易出现错误,且操作步骤复杂,因此,对服务器中的系统日志的处理效率较低。


技术实现要素:

4.本发明提供一种系统日志的处理方法、装置、电子设备及可读存储介质,以便解决对服务器的系统日志的处理效率低的问题。
5.为了解决上述技术问题,本发明是这样实现的:
6.第一方面,本发明提供一种系统日志的处理方法,应用于至少两个待处理服务器中的任一服务器,所述方法包括:
7.运行预置脚本,以从所述预置脚本中定义的所述至少两个待处理服务器对应的至少两个登录信息中,选择目标服务器对应的登录信息,作为目标登录信息;所述目标服务器是当前运行所述预置脚本的服务器;
8.基于所述目标登录信息,为所述预置脚本获取所述目标服务器的日志处理权限;
9.从所述目标服务器中的指定文件中获取所述目标服务器的系统类型标识;
10.若所述预置脚本中定义的至少一个预设类型标识中,存在与所述系统类型标识一致的预设类型标识,则将与所述系统类型标识一致的预设类型标识对应的存储路径,确定为所述目标服务器的日志存储路径;
11.在所述预置脚本获得到所述日志处理权限的情况下,基于所述预置脚本,对所述日志存储路径下的系统日志进行处理。
12.可选的,所述登录信息中包括所述待处理服务器的服务器地址、用户名和密码;所述从所述预置脚本中定义的所述至少两个待处理服务器对应的至少两个登录信息中,确定所述目标服务器对应的登录信息,包括:
13.将所述目标服务器的服务器地址作为目标地址,将各所述登录信息中包括的服务器地址与所述目标地址进行匹配;
14.将服务器地址与所述目标地址相匹配的登录信息中的用户名和密码,确定为目标用户名和目标密码;所述目标登录信息包括所述目标用户名和所述目标密码;
15.所述基于所述目标服务器对应的登录信息,为所述预置脚本获取所述目标服务器的日志处理权限,包括:
16.基于所述目标用户名和所述目标密码,为所述预置脚本获取所述目标服务器的日志处理权限。
17.可选的,所述基于所述预置脚本对所述日志存储路径下的系统日志进行处理,包括:
18.在识别到所述预置脚本中包括第一预设参数的情况下,获取所述目标服务器的系统日志;
19.基于所述预置脚本中设置的目标存储路径,将所述系统日志保存至所述目标存储路径,得到目标日志文件。
20.可选的,所述目标存储路径包括指向第一文件夹的第一路径和指向第二文件夹的第一路径,所述将所述系统日志保存至所述目标存储路径,包括:
21.在所述系统日志中包含第一指定类型的日志的情况下,基于所述第一路径将所述第一指定类型的日志保存至所述第一文件夹;
22.在所述系统日志中包含第二指定类型的日志的情况下,基于所述第二路径将所述第二指定类型的日志保存至所述第二文件夹。
23.可选的,所述方法还包括:
24.在识别到所述预置脚本中包括第二预设参数的情况下,清除所述预置脚本指示的指定路径下的系统日志;所述指定路径为所述目标存储路径或所述日志存储路径。
25.可选的,所述清除所述预置脚本指示的指定路径下的系统日志,包括:
26.在所述预置脚本指示的指定路径为所述目标存储路径的情况下,清除所述目标存储路径中保存的所述目标日志文件;
27.在所述预置脚本指示的指定路径为所述日志存储路径的情况下,清除所述日志存储路径中保存的系统日志的文本内容。
28.可选的,所述至少两个待处理服务器中均预先存储有所述预置脚本;所述运行预置脚本之前,所述方法还包括:
29.接受用户端发送的预置脚本,并将接收到的所述预置脚本存储至指定区域。
30.第二方面,本发明提供一种系统日志的处理装置,所述装置包括:
31.第一确定模块,用于运行预置脚本,以从所述预置脚本中定义的所述至少两个待处理服务器对应的至少两个登录信息中,选择目标服务器对应的登录信息,作为目标登录信息;所述目标服务器是当前运行所述预置脚本的服务器;
32.第一获取模块,用于基于所述目标登录信息,为所述预置脚本获取所述目标服务器的日志处理权限;
33.第二获取模块,用于从所述目标服务器中的指定文件中获取所述目标服务器的系统类型标识;
34.第二确定模块,用于若所述预置脚本中定义的至少一个预设类型标识中,存在与所述系统类型标识一致的预设类型标识,则将与所述系统类型标识一致的预设类型标识对应的存储路径,确定为所述目标服务器的日志存储路径;
35.第一处理模块,用于在所述预置脚本获得到所述日志处理权限的情况下,基于所
述预置脚本,对所述日志存储路径下的系统日志进行处理。
36.第三方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一所述的系统日志的处理方法。
37.第四方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述一个或多个所述的系统日志的处理方法。
38.在本发明实施例中,通过运行预置脚本,以从预置脚本中定义的至少两个待处理服务器对应的至少两个登录信息中,选择目标服务器对应的登录信息,作为目标登录信息;目标服务器是当前运行所述预置脚本的服务器;基于目标登录信息,为预置脚本获取服务器的日志处理权限;从目标服务器中的指定文件中获取目标服务器的系统类型标识;若预置脚本中定义的至少一个预设类型标识中,存在与系统类型标识一致的预设类型标识,则将与系统类型标识一致的预设类型标识对应的存储路径,确定为目标服务器的日志存储路径;在预置脚本获得到日志处理权限的情况下,基于预置脚本,对日志存储路径下的系统日志进行处理。这样,根据预置脚本可以确定服务器对应的目标登录信息,以获取日志处理权限,从而可以对服务器的系统日志进行处理,无需人为手动远程登入服务器获取处理权限,因此可以避免人为手动操作造成的错误,进而一定程度上可以提高处理系统日志的准确性,同时,在满足用户对系统日志处理的需求的前提下,由于无需手动操作,因此,可以提高系统日志的处理效率。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1是本发明实施例提供的一种系统日志的处理方法的步骤流程图;
41.图2是本发明实施例提供的另一种系统日志的处理方法的步骤流程图;
42.图3是本发明实施例提供的一种具体示例的流程图;
43.图4是本发明实施例提供的一种系统日志的处理装置的结构图;
44.图5是本发明实施例提供的一种电子设备的结构图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.图1是本发明实施例提供的一种系统日志的处理方法的步骤流程图。
47.如图1所示,该方法应用于至少两个待处理服务器中的任一服务器。
48.本发明实施例中,至少两个待处理服务器可以是服务器集群中的至少两个服务器,相应的,本发明实施例应用于集群服务器中的任一服务器。服务器集群可以是linux服
务器集群,服务器的类型可以是linux服务器,即采用linux系统的服务器。
49.该方法可以包括以下步骤:
50.步骤101、运行预置脚本,以从所述预置脚本中定义的所述至少两个待处理服务器对应的至少两个登录信息中,选择目标服务器对应的登录信息,作为目标登录信息;所述目标服务器是当前运行所述预置脚本的服务器。
51.其中,待处理服务器可以是服务器集群中需要进行系统日志处理的服务器。目标服务器是执行该系统日志的处理方法的服务器。
52.本发明实施例中,预置脚本可以是经过用户预先配置的用于处理系统日志的可执行文件。预置脚本可以由系统日志处理系统在阈值脚本配置完成后将预置脚本发送至至少两个待处理服务器中的任一服务器,以使该服务器执行预置脚本。基于一个预置脚本,可以对至少两个服务器中的系统日志进行处理,进一步提高了系统日志的处理效率。
53.本发明实施例中,可以通过配置模块配置权限配置文件,以在预置脚本中定义有至少两个待处理服务器对应的至少两个权限信息,也即一个待处理服务器对应一个权限信息,阈值脚本中定义有所有待处理服务器的权限信息。本发明实施例可以基于服务器的服务器地址,从至少两个登录信息中确定与服务器地址相匹配的登录信息,该登录信息即服务器对应的目标登录信息。
54.步骤102、基于所述目标登录信息,为所述预置脚本获取所述目标服务器的日志处理权限。
55.其中,日志处理权限可以包括对系统日志进行处理的权限,例如日志访问权限、日志获取权限、日志清除权限等。
56.本发明实施例中,利用登录信息,可以登录服务器,并获取到服务器的日志处理权限,该日志处理权限用于表征用户获取对服务器中的系统日志进行处理的权利。可以理解的是,基于登录信息,还可以获取服务器的其它权限,包括修改其他系统设置的权限等。
57.步骤103、从所述目标服务器中的指定文件中获取所述目标服务器的系统类型标识。
58.其中,指定文件可以是存储有服务器的系统类型标识的文件,如os-release文件。
59.本发明实施例中,可以通过访问服务器中的指定文件获取服务器的系统类型标识,系统类型标识表征服务器的系统类型,系统类型可以包括ubuntu、centos、redhat、sles等。
60.步骤104、若所述预置脚本中定义的至少一个预设类型标识中,存在与所述系统类型标识一致的预设类型标识,则将与所述系统类型标识一致的预设类型标识对应的存储路径,确定为所述目标服务器的日志存储路径。
61.本发明实施例中,在服务器的系统类型标识与预设类型标识中的任一预设类型标识一致的情况下,表示预置脚本可以在服务器中对系统日志进行处理。预置脚本中还定义有预设类型标识对应的系统日志的存储路径,不同预设类型标识对应有相应的存储路径,如,系统日志在ubuntu系统下的日志存储路径为syslog,在red hat、centos、sles系统下的日志存储路径为messages、dmesg、mcelog。将与服务器的系统类型标识一致的预设类型标识对应的存储路径,确定为服务器的日志存储路径,即可确定服务器中系统日志的存储路径。
62.可选的,若不存在与所述系统类型标识一致的预设类型标识,表征预置脚本无法在服务器中对系统日志进行处理,则停止后续对服务器的系统日志进行处理操作。
63.在一种可能的实施方式中,如图2所示,服务器在接收到预置脚本的情况下,在服务器中运行预置脚本,并从预置脚本中定义的至少两个登录信息,选择目标服务器对应的目标登录信息。基于获取到的目标登录信息,远程登录该服务器,以获取服务器的日志处理权限。从服务器的指定文件中获取到服务器的系统类型标识,将该系统类型标识与预置脚本中包含的至少一个预设类型标识进行匹配,在该系统类型标识与其中一个预设类型标识匹配一致的情况下,将一致的预设类型标识对应的存储路径,确定为服务器的日志存储路径。在预置脚本获得到日志处理权限的情况下,基于预置脚本,对服务器的日志存储路径下的系统日志进行处理。
64.本发明实施例中,可以将所述系统类型标识与所述预置脚本中包含的至少一个预设类型标识进行匹配,以确定所述预置脚本中定义的至少一个预设类型标识中,是否存在与所述系统类型标识一致的预设类型标识。
65.本发明实施例中,预置脚本中包含至少一种预设类型标识,表示该预置脚本定义的支持进行系统日志处理的至少一种系统类型。其中,预设类型标识可以包括表征ubuntu、centos、redhat、sles等系统类型的标识,并且不局限于各个系统类型的具体版本。将服务器的系统类型标识与至少一种预设类型标识进行一一匹配,可以确定是否可以通过预置脚本在服务器中进行日志处理操作。
66.在一种可能的实施方式中,可以在sysname变量中保存预置脚本所支持的系统类型,如ubuntu、centos、redhat、sles。将获取到的服务器的系统类型赋值给ver1变量,通过judgesystype函数进行匹配,具体的,judgesystype函数可以通过服务器中的os-release文件中包含的系统类型标识,判断在预设类型标识中是否存在与系统类型标识一致的预设类型标识,若当前系统类型不是预置脚本sysname变量中支持的系统类型,则停止执行该预置脚本。具体实现时,可以通过sysname变量保存所支持的系统类型,具体的,可以设置:sysname=(ubuntu centos"red hat"sles),其中,ubuntu、centos、redhat、sles表示系统类型,进一步地,还可以设置ver1变量,ver1变量是通过os-release文件中包括的系统类型的内容得到的,基于judgesystype函数循环判断sysname变量中的系统类型是否当前的系统类型匹配,以实现系统类型判断。在一种实现方式中,judgesystype函数可以设置为:
67.judgesystype(){
68.ver1=$(cat/etc/os-release)
69.length=${#sysname[*]}#支持linux服务器类型的数量
[0070]
for((i=0;i《$length;i++))#循环判断是否支持当前类型的系统
[0071]
do
[0072]
result=$(echo$ver1|grep-i name|grep-i"${sysname[i]}")
[0073]
进一步地,可以基于if函数判断当前服务器的系统类型是否命中sysname中定义的系统类型,如果当前服务器的系统类型命中sysname变量中定义的系统类型,则输出命中的sysname变量中的系统类型,判断结束。在一种实现方式中,if函数可以设置为:
[0074][0075]
需要说明的是,上述方式仅作为一种可能的实现方式,本发明实施例对此不做限制。
[0076]
步骤105、在所述预置脚本获得到所述日志处理权限的情况下,基于所述预置脚本,对所述日志存储路径下的系统日志进行处理。
[0077]
本发明实施例中,预置脚本获得到日志处理权限,表征服务器可以通过运行预置脚本对服务器的日志存储路径下的系统日志进行处理,即进行对应的系统日志处理操作。其中,日志存储路径可以是服务器系统中用于存储系统日志的默认存储路径,服务器中不同的系统类型对应各自的日志存储路径。系统日志在ubuntu系统下的日志存储路径为syslog,在red hat、centos、sles系统下的日志存储路径为messages、dmesg、mcelog。示例性的,在服务器系统为linux的情况下,服务器对应的系统类型为ubuntu系统,则服务器对应的日志存储路径为syslog,对系统日志进行处理即是对syslog文件夹下存储的系统日志进行处理。
[0078]
综上所述,本发明实施例提供的系统日志的处理方法,通过运行预置脚本,以从预置脚本中定义的至少两个待处理服务器对应的至少两个登录信息中,选择目标服务器对应的登录信息,作为目标登录信息;目标服务器是当前运行所述预置脚本的服务器;基于目标登录信息,为预置脚本获取服务器的日志处理权限;从目标服务器中的指定文件中获取目标服务器的系统类型标识;若预置脚本中定义的至少一个预设类型标识中,存在与系统类型标识一致的预设类型标识,则将与系统类型标识一致的预设类型标识对应的存储路径,确定为目标服务器的日志存储路径;在预置脚本获得到日志处理权限的情况下,基于预置脚本,对服务器的日志存储路径下的系统日志进行处理。这样,根据脚本可以确定服务器对应的目标登录信息,以获取日志处理权限,从而可以对服务器的系统日志进行处理,无需人为手动远程登入服务器获取处理权限,因此可以避免人为手动操作造成的错误,进而一定程度上可以提高处理系统日志的准确性,同时,在满足用户对系统日志处理的需求的前提下,由于无需手动操作,因此,可以提高系统日志的处理效率,同时,本发明实施例通过预置脚本即可自动完成对系统日志的处理,提高了系统日志处理的实现效率,降低了实现成本。
[0079]
进一步地,本发明实施例中,由于服务器包括多种系统类型,不同的系统类型对应不同的系统日志存储路径,测试人员需要根据系统类型采取不同的处理方法,本发明实施例通过服务器的系统类型,可以自动判断系统类型是否符合当前预置脚本支持的系统类型以及系统类型对应的日志存储路径,这样,无需测试人员手动对不同系统类型采取不同的处理方法,节省了处理时间。
[0080]
图2是本发明实施例提供的另一种系统日志的处理方法的步骤流程图,该方法可以应用于至少两个待处理服务器中的任一服务器,如图2所示,该方法可以包括:
[0081]
步骤201、运行预置脚本,以从所述预置脚本中定义的所述至少两个待处理服务器对应的至少两个登录信息中,选择目标服务器对应的登录信息,作为目标登录信息;所述目标服务器是当前运行所述预置脚本的服务器。
[0082]
具体的,本步骤的实现方式可以参照前述相关描述,此处不再赘述。
[0083]
步骤202、基于所述目标登录信息,为所述预置脚本获取所述目标服务器的日志处理权限。
[0084]
具体的,本步骤的实现方式可以参照前述相关描述,此处不再赘述。
[0085]
步骤203、从所述目标服务器中的指定文件中获取所述目标服务器的系统类型标识。
[0086]
具体的,本步骤的实现方式可以参照前述相关描述,此处不再赘述。
[0087]
步骤204、若所述预置脚本中定义的至少一个预设类型标识中,存在与所述系统类型标识一致的预设类型标识,则将与所述系统类型标识一致的预设类型标识对应的存储路径,确定为所述目标服务器的日志存储路径。
[0088]
具体的,本步骤的实现方式可以参照前述相关描述,此处不再赘述。
[0089]
步骤205、在所述预置脚本获得到所述日志处理权限的情况下,若识别到所述预置脚本中包括第一预设参数,则获取所述目标服务器的系统日志。
[0090]
本发明实施例中,服务器在识别到预置脚本中包括第一预设参数的情况下,表征需要对系统日志进行存储操作。其中,第一预设参数用于指示对系统日志进行存储。基于日志访问权限以及日志获取权限,可以获取日志存储路径下的系统日志。
[0091]
步骤206、基于所述预置脚本中设置的目标存储路径,将所述系统日志保存至所述目标存储路径,得到目标日志文件。
[0092]
本发明实施例中,预置脚本可以设置有目标存储路径,目标存储路径用于指示将获取到的系统日志进行存储的存储路径。其中,目标存储路径可以是至少两个待处理服务器中的任一指定服务器中的存储路径,即可以是当前服务器中的存储路径,也可以是其它指定服务器的存储路径。
[0093]
预置脚本中也可以不设置目标存储路径,在预置脚本中未设置目标存储路径的情况下,可以将系统日志默认保存在预置脚本所在的存储路径。
[0094]
在预置脚本中设置有目标存储路径的情况下,将获取到的系统日志保存至目标存储路径,得到目标日志文件。在将系统日志保存至目标存储路径后,可以将收集到的全部系统日志进行打包并进行压缩,得到目标日志文件对应的压缩文件。
[0095]
可以理解的是,上述步骤可以通过日志保存模块对系统日志进行保存,通过日志收集模块将系统日志保存至目标存储路径。
[0096]
在一种可能的实施方式中,可以在预置脚本中定义通过-s指令定义对系统日志的具体处理方式,即对系统日志进行保存,将保存的目标存储路径定义为/home/。具体的,可以通过syslog函数定义目标存储路径。示例性地,在一种实现方式中,该指令可以表示为:./handlesyslog.sh-s/home/-fosfind。
[0097]
其中,-s为第一预设参数,/home/表示目标存储路径,即将获取到的系统日志保存在/home/中。需要说明的是,上述指令仅作为一种可能的实现方式,本发明实施例对此不做限制。
[0098]
本发明实施例中,通过识别预置脚本中的第一预设参数以及目标存储路径,可以自动将系统日志进行保存,以得到目标日志文件,提高了系统日志的存储效率。同时,由于基于预置脚本自动对系统日志进行存储,在存储过程中也不会出现人员误操作的现象,一定程度上提高了系统日志存储的准确性。
[0099]
可选的,所述目标存储路径包括指向第一文件夹的第一路径和指向第二文件夹的第一路径。
[0100]
本发明实施例中,第一文件夹和第二文件夹为用于将服务器的系统日志进行分类保存的文件夹。
[0101]
可选的,步骤204可以包括:
[0102]
步骤2041、在所述系统日志中包含第一指定类型的日志的情况下,基于所述第一路径将所述第一指定类型的日志保存至所述第一文件夹。
[0103]
本发明实施例中,系统日志中可以包括第一指定类型的系统日志和第二指定类型的系统日志,第一指定类型的系统日志可以是系统错误日志,第二指定类型的系统日志可以是表征系统处理失败的数据日志。对系统日志进行判断,在系统日志中包含第一指定类型的日志的情况下,将第一指定类型的系统日志保存在第一路径指向的第一文件夹中。示例性的,可以通过查询系统日志中的字段,确定系统日志中是否包含指定类型的日志。当查询到系统日志中存在包含error字段的日志的情况下,表明该系统日志为第一指定类型的日志,将所有含有该字段的日志保存至第一路径指向的第一文件夹中。
[0104]
步骤2042、在所述系统日志中包含第二指定类型的日志的情况下,基于所述第二路径将所述第二指定类型的日志保存至所述第二文件夹。
[0105]
本发明实施例中,在系统日志中包含第二指定类型的日志的情况下,将第二指定类型的系统日志保存在第二路径指向的第二文件夹中。将系统日志中包含的其它日志存储在目标存储路径中的其他文件夹中。示例性的,当查询到系统日志中存在包含failed字段的日志的情况下,表明该系统日志为第二指定类型的日志,将所有含有该字段的日志保存至第二路径指向的第二文件夹中。
[0106]
现有技术中,在分析系统日志的情况下,大多时候还是采用人为分析的方式,保存收集得到的系统日志里面存在着各类硬件、软件的信息或者报错,对于普通的运维人员或初级测试人员是非常不友好的。
[0107]
本技术实施例中,通过将不同指定类型的日志保存在不同的文件夹中,使系统日志的分类更加清晰,简化了收集系统日志的方式,确定了系统日志分析的优先级。并且通过将系统日志进行划分,可以在后续对系统日志进行分析时,测试人员可以根据系统日志的分类更快速的找到可能存在问题的系统日志,有利于系统问题的直观呈现,提高了系统日志的分析效率。
[0108]
可选的,所述登录信息中包括所述待处理服务器的服务器地址、用户名和密码。
[0109]
本发明实施例中,服务器地址与用户名和密码一一对应,即一个服务器地址对应唯一一个用户名和一个密码,用户名与密码一一对应。一组用户名和密码用于登录对应的服务器地址所代表的服务器。其中,为了保证权限获取的可靠性,由于根用户的用户名和密码无法被删除或篡改,用户名和密码可以是根用户的用户名和密码,基于根用户的用户名和密码登录服务器,可以获取系统底层及系统文件的所有权限,包括日志处理权限。
[0110]
在一种可能的实现方式中,预置脚本中用于定义登录信息的权限配置文件的格式可以为“服务器地址空格用户名空格密码”,权限配置文件可以是osfind文件。示例性的,在存在两个待处理服务器的情况下,可以将权限配置文件中的内容配置为两个待处理服务器的服务器地址100.2.3.1、100.2.3.2以及100.2.3.1对应的用户名和密码root1和111111、100.2.3.2对应的用户名和密码root2和222222。其中,两个待处理服务器的服务器地址分别为100.2.3.1、100.2.3.2,两个待处理服务器的用户名分别为root1、root2,两个待处理服务器的密码分分别为111111、222222。
[0111]
可选的,所述步骤101包括以下步骤:
[0112]
步骤1011、将所述目标服务器的服务器地址作为目标地址,将各所述登录信息中包括的服务器地址与所述目标地址进行匹配。
[0113]
本发明实施例中,服务器对应的服务器地址可以通过获取服务器内存储的默认系统地址数据得到。将各登录信息中包括的待处理服务器的服务器地址与所述目标地址进行一一匹配。
[0114]
步骤1012、将服务器地址与所述目标地址相匹配的登录信息中的用户名和密码,确定为目标用户名和目标密码;所述目标登录信息包括所述目标用户名和所述目标密码。
[0115]
本发明实施例中,通过目标地址与登录信息中的全部服务器地址进行匹配,可以确定登录信息中与目标地址一致的服务器地址,将该服务器地址对应的用户名和密码确定为目标用户名和目标密码,即用于登录服务器的用户名和密码。示例性的,在目标地址为100.2.3.1的情况下,通过将目标地址与登录信息中包括的服务器地址进行匹配。可以确定root1为目标用户名,111111为目标密码。
[0116]
相应的,步骤102可以包括以下步骤:
[0117]
步骤1021、基于所述目标用户名和所述目标密码,为所述预置脚本获取所述目标服务器的日志处理权限。
[0118]
本发明实施例中,预置脚本基于目标用户名和目标密码,可以登录服务器,以获取服务器的日志处理权限。其中,可以基于安全外壳协议(secure shell,ssh)远程登录服务器。
[0119]
在一种可能的实施方式中,上述步骤可以通过服务器类型判断模块实现。
[0120]
本发明实施例中,通过确定目标用户名和目标密码,可以使预置脚本基于目标用户名和目标密码获取服务器的日志处理权限,从而便于对系统日志进行处理,无需人为远程登录服务器,通过预置脚本自动登录服务器,登录过程更加简单且高效。
[0121]
可选的,本发明实施例还可以包括以下步骤:
[0122]
步骤301、在识别到所述预置脚本中包括第二预设参数的情况下,清除所述预置脚本指示的指定路径下的系统日志;所述指定路径为所述目标存储路径或所述日志存储路径。
[0123]
本发明实施例中,服务器在识别到预置脚本中包括第二预设参数的情况下,表征需要对系统日志进行清除操作。其中,第二预设参数用于指示对系统日志进行清除。基于日志访问权限以及日志清除权限,可以清除预置脚本指示的指定路径下的系统日志。指定路径可以是目标存储路径或日志存储路径,即指定路径可以是对服务器原有系统日志进行存储后得到的目标日志文件的存储路径,也可以是服务器原有系统日志的日志存储路径。
[0124]
可以理解的是,上述步骤可以通过日志清理模块对指定路径下的系统日志进行清除。
[0125]
在一种可能的实施方式中,可以在预置脚本中定义通过-cl指令定义对系统日志的具体处理方式,即对系统日志进行清除,将预置脚本指示的指定路径定义为/home/,或,不对预置脚本指示的指定路径进行定义。具体的,可以通过syslog函数定义指定路径,示例性地,在一种实现方式中,该指令可以表示为:
[0126]
./handlesyslog.sh-cl/home/
[0127]
或,./handlesyslog.sh-cl
[0128]
其中,-cl为第二预设参数,/home/表示目标存储路径,在预置脚本中不存在指定路径的情况下,表示指定路径为日志存储路径。需要说明的是,上述指令仅作为一种可能的实现方式,本发明实施例对此不做限制。
[0129]
本技术实施例中,通过识别预置脚本中的第二预设参数以及指定路径,可以自动将系统日志进行清除处理,以释放服务器的存储空间,实现了日志处理的智能化的同时,提高了服务器的存储能力。同时,由于基于预置脚本自动对系统日志进行清除,在清除过程中也不会出现人员误操作的现象,一定程度上提高了系统日志清除的准确性。
[0130]
可选的,步骤301可以包括以下步骤:
[0131]
步骤3011、在所述预置脚本指示的指定路径为所述目标存储路径的情况下,清除所述目标存储路径中保存的所述目标日志文件。
[0132]
本技术实施例中,在预置脚本指示的指定路径为目标存储路径的情况下,表示需要将目标存储路径中存储的目标日志文件进行清除。其中,可以将保存在目标存储路径下的全部日志进行清除,也可以将保存在部分文件夹中的日志进行清除。例如,清除第一文件夹下保存的第一指定类型的日志、清除第二文件夹下保存的第二指定类型的日志或清除目标存储路径下保存的目标日志文件中非第一指定类型的日志以及非第二指定类型的日志的其它系统日志,本技术实施例对此不做限制。
[0133]
步骤3012、在所述预置脚本指示的指定路径为所述日志存储路径的情况下,清除所述日志存储路径中保存的系统日志的文本内容。
[0134]
本技术实施例中,在预置脚本指示的指定路径为日志存储路径的情况下,表示需要将服务器中系统日志所在的日志存储路径中的系统日志的文本内容进行删除,即清除服务器中原始系统日志的文本内容。例如,可以清楚系统运行时日志文件,即保存在/var文件夹下的系统日志的文本内容,和/或清除系统或者软件产生的记录文件,即保存在/log文件夹下的系统日志的文本内容,本技术实施例对此不做限制。
[0135]
本技术实施例中,通过配置预置脚本的内容,可以满足用户不同的系统日志的清除需求,同时,通过对日志存储路径中的文本内容进行清除,释放了服务器的存储空间。
[0136]
可选的,所述至少两个待处理服务器中均预先存储有所述预置脚本。
[0137]
相应的,本技术实施例还包括以下步骤:
[0138]
步骤401、接受用户端发送的预置脚本,并将接收到的所述预置脚本存储至指定区域。
[0139]
本技术实施例中,用户在用户端对预置脚本配置完成后,用户端可以自动向至少两个待处理服务器发送该预置脚本,待处理服务器在接收到预置脚本的情况下,将预置脚
本存储在服务器的指定区域。其中,指定区域可以是服务器指定路径下的文件夹,也可以是用于存储的临时文件夹,本技术实施例对此不做限制。
[0140]
在一种可能的实现方式中,以服务器集群为例,本技术实施例中所述的预置脚本可以自动同时向服务器集群中所有待处理服务器发送,即向服务器集群中所有需要进行日志处理的服务器发送。所有服务器可以同时对服务器中的系统日志进行处理,每个服务器可以同时独立进行系统日志保存、系统日志分类、系统日志清除的步骤。具体实现时,以两个待处理服务器为例,可以在预置脚本定义两个待处理服务器的服务器地址100.2.3.1、100.2.3.2以及两个服务器地址分别对应的用户名和密码。并且通过-s指令定义对系统日志的具体处理方式,即对系统日志进行保存,将进行保存的目标存储路径定义为服务器地址为100.2.3.4的服务器的/home/文件夹下,将该预置脚本发送至上述两个待处理服务器。在一种实现方式中,该指令可以设置为:
[0141]
100.2.3.1 root1 111111
[0142]
100.2.3.2 root2 222222
[0143]
./handlesyslog.sh-s root@100.2.3.4:/home/-f osfind
[0144]
在服务器地址为100.2.3.1的服务器接收到预置脚本的情况下,该服务器在获取到日志处理权限的情况下,基于预置脚本,将服务器的日志存储路径下的系统日志保存至服务器地址为100.2.3.4的服务器的/home/文件夹下;在服务器地址为100.2.3.2的服务器接收到预置脚本的情况下,该服务器在获取到日志处理权限的情况下,基于预置脚本,将服务器的日志存储路径下的系统日志保存至服务器地址为100.2.3.4的服务器的/home/文件夹下。也就是说,本技术实施例中,可以将服务器集群中的所有待处理服务器的系统日志保存在一个指定服务器的目标存储路径下,这样,测试人员在对服务器集群中的系统日志进行分析时,只需登录一个服务器即可对服务器集群中的所有需要分析的系统日志进行分析,在满足测试人员收集、分析和清理系统日志的全部需求,提高了测试人员的工作效率,同时,满足了集群服务器管理人员同时操作多台服务器系统日志的需求,进而提高了对于服务器的运维、管理、测试效率。
[0145]
需要说明的是,本发明实施例可以应用到服务器的自动化领域,进而可以提高服务器的管理水平。
[0146]
示例性的,图3示出了本发明实施例提供的一种具体示例的流程图,如图3所示,在系统日志开始处理的情况下,针对服务器集群中的任一需要进行系统日志处理的服务器,预先在预置脚本中定义服务器对应的登录信息,包括服务器地址、用户名以及密码。将预置脚本发送至需要进行系统日志处理的服务器,并判断当前服务器的系统类型是否为预置脚本支持的预设系统类型,系统类型可以是ubuntu、centos、redhat、sles。在当前服务器的系统类型为预置脚本支持的预设系统类型的情况下,保存当前服务器的系统日志,将系统日志中符合指定类型的日志分解出来,保存在不同的文件夹中。将保存后的系统日志进行打包压缩,并将压缩包发送至预置脚本中设置的指定服务器;在当前服务器的系统类型不是预置脚本支持的预设系统类型的情况下,提示当前服务器的系统类型不是预置脚本支持的系统类型。
[0147]
服务器的作用和用途是为网络用户提供集中计算、信息发表及数据管理等服务。服务器是一种高性能计算机,它可以存储、处理网络上绝大多数的数据、信息。在一种可能
的实施方式中,本发明实施例的可以应用于linux服务器集群中对服务器的系统日志进行处理的场景,以实现对linux服务器集群的有效管理。
[0148]
在一种实现方式中,可以在预置脚本中定义至少两个方法处理服务器的登录信息,基于服务器对应的登录信息,为预置脚本获取服务器的日志处理权限。通过从服务器中的指定文件中获取服务器的系统类型标识,可以确定该系统类型对应的目标存储路径,并在获取到日志处理权限后,将目标存储路径下的系统日志按照指定类型分别保存至不同路径指向的文件夹。
[0149]
本发明实施例中,通过在预置脚本中定义至少两个方法处理服务器的登录信息,可以实现对多台服务器的自动远程登录,无需通过测试人员一个一个手动远程登入服务器,提高了系统日志处理效率,缩短了对多台服务器的系统日志的处理耗时。
[0150]
通过获取服务器的系统类型标识,可以自动确认系统类型对应的目标存储路径,对于不熟悉不同系统性能的测试人员来说,不会出现操作失误,避免出现系统日志被误删的情况。
[0151]
通过将系统日志进行分类保存,可以在测试人员分析日志时,直接按照优先级查看相关文件中的系统日志,无需查看全部系统日志,简化了系统日志的分析过程。
[0152]
图4是本发明实施例提供的一种系统日志的处理装置的结构图,应用于至少两个待处理服务器中的任一服务器,该装置50可以包括:
[0153]
第一确定模块501,用于运行预置脚本,以从所述预置脚本中定义的所述至少两个待处理服务器对应的至少两个登录信息中,选择目标服务器对应的登录信息,作为目标登录信息;所述目标服务器是当前运行所述预置脚本的服务器;
[0154]
第一获取模块502,用于基于所述目标登录信息,为所述预置脚本获取所述目标服务器的日志处理权限;
[0155]
第二获取模块503,用于从所述目标服务器中的指定文件中获取所述目标服务器的系统类型标识;
[0156]
第二确定模块504,用于若所述预置脚本中定义的至少一个预设类型标识中,存在与所述系统类型标识一致的预设类型标识,则将与所述系统类型标识一致的预设类型标识对应的存储路径,确定为所述目标服务器的日志存储路径;
[0157]
第一处理模块505,用于在所述预置脚本获得到所述日志处理权限的情况下,基于所述预置脚本,对所述日志存储路径下的系统日志进行处理。
[0158]
可选的,所述第一确定模块501包括:
[0159]
第一匹配模块,用于将所述目标服务器的服务器地址作为目标地址,将各所述登录信息中包括的服务器地址与所述目标地址进行匹配;
[0160]
第一确定子模块,用于将服务器地址与所述目标地址相匹配的目标登录信息中的用户名和密码,确定为目标用户名和目标密码;所述目标登录信息包括所述目标用户名和所述目标密码。
[0161]
所述第一获取模块502,包括:
[0162]
第一获取子模块,用于基于所述目标用户名和所述目标密码,为所述预置脚本获取所述目标服务器的日志处理权限。
[0163]
所述第一处理模块503,包括:
[0164]
第三获取模块,用于在识别到所述预置脚本中包括第一预设参数的情况下,获取所述目标服务器的系统日志;
[0165]
第一保存模块,用于基于所述预置脚本中设置的目标存储路径,将所述系统日志保存至所述目标存储路径,得到目标日志文件。
[0166]
所述第一保存模块包括:
[0167]
第一保存子模块,用于在所述系统日志中包含第一指定类型的日志的情况下,基于所述第一路径将所述第一指定类型的日志保存至所述第一文件夹;
[0168]
第二保存子模块,用于在所述系统日志中包含第二指定类型的日志的情况下,基于所述第二路径将所述第二指定类型的日志保存至所述第二文件夹。
[0169]
所述装置50还包括:
[0170]
第一清除模块,用于在识别到所述预置脚本中包括第二预设参数的情况下,清除所述预置脚本指示的指定路径下的系统日志;所述指定路径为所述目标存储路径或所述日志存储路径。
[0171]
所述第一清除模块包括:
[0172]
第一清除子模块,用于在所述预置脚本指示的指定路径为所述目标存储路径的情况下,清除所述目标存储路径中保存的所述目标日志文件;
[0173]
第二清除子模块,用于在所述预置脚本指示的指定路径为所述日志存储路径的情况下,清除所述日志存储路径中保存的系统日志的文本内容。
[0174]
可选的,所述装置50还包括:
[0175]
第一存储模块,用于接受用户端发送的预置脚本,并将接收到的所述预置脚本存储至指定区域。
[0176]
本发明还提供了一种电子设备,参见图5,包括:处理器601、存储器602以及存储在所述存储器上并可在所述处理器上运行的计算机程序6021,所述处理器执行所述程序时实现前述实施例的系统日志的处理方法。
[0177]
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的系统日志的处理方法。
[0178]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0179]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0180]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0181]
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保
护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0182]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0183]
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0184]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0185]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0186]
需要指出的是,本技术中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
[0187]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
[0188]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1