技术领域
[0001] 本
发明属于
服务器信息收集技术领域,具体涉及一种信息收集系统、方法及存储介质。
背景技术
[0002] 不论是
操作系统还是其上运行的重要
软件业务系统,管理员都需要一种简单易操作的方法来收集系统的关键配置信息和日志诊断信息。
[0003] 目前一般靠管理员根据自身经验和业务需求,自行编写shell脚本来收集这些信息。这种方法除对管理员能
力和经验有一定要求外,也不能保证收集到的信息是全面完整有针对性的。
[0004] 虽然有些操作系统提供了自己独有的信息收集工具,比如红帽、CentOS上使用的sosreport,SUSe系统上使用的supportconfig,VMware系统上使用的vm-support等,但这些工具不统一,需要各自记忆,收集到的信息内容和结构也是不同的,而且无法由用户选择收集哪些关键信息,另外这些工具只是针对操作系统自身,无法收集软件系统、业务系统的信息。此为
现有技术中存在的
缺陷。
[0005] 有鉴于此,本
申请提供一种信息收集系统、方法及存储介质;以解决现有技术中存在的上述缺陷,是非常有必要的。
发明内容
[0006] 针对现有技术中存在的上述不足,本发明提供一种信息收集系统、方法及存储介质,以解决上述技术问题。
[0007] 为实现上述目的,本发明给出以下技术方案:
[0008] 第一方面,本发明提供一种信息收集系统,包括:
[0009] 登录模
块,通过该模块登录服务器;支持用户名、密码的登录方式;
[0010] 设置及结果展示模块,该模块提供设置及结果展示界面,在该界面中,提供IP地址输入端口;通过该端口输入IP地址或者IP地址段;
[0011] 服务器连接模块,该模块根据输入的IP地址启动线程连接被收集信息的服务器;
[0012] 检测模块,获取被收集信息服务器的系统运行环境信息;
[0013] 适配模块,接受来自检测模块检测到的系统运行环境信息,并根据接收到的信息,从模块库中提取对应的符合信息收集条件的全部模块名称和系统默认收集信息的模块名称,按照模块类的继承关系将模块名以树状结构在用户设置及结果展示界面展示,根据具体需要制定符合实际需求的信息收集设置;
[0014] 模块库,存储所有可以需要收集信息的模块名称及模块继承关系,[0015] 信息收集模块,根据适配模块传递的需要收集信息的模块信息,启动线程并发调用模块收集对应的配置信息和日志信息;在模块日志信息收集完毕后,调用setstate()函数将该模块的state置为1(1表示该模块所有信息收集完毕)。当对所有模块执行statecheck()得到state值都为1后,代表日志信息收集完毕。信息收集模块调用信息存储模块进行磁盘存储。
[0016] 信息存储模块,根据收集信息的配置存放路径,将模块类之间的继承关系转换成文件夹之间的父子关系,建立以模块名对应的文件存放结构,然后将信息收集模块收集到的信息分别存放到对应的文件夹下,最后进行打包压缩。
[0017] 作为优选,该系统还包括:
[0018] 监控模块,对信息收集和存储的整个过程进行监控,并在用户设置与结果展示界面以
进度条的方式展示信息收集的进度。信息收集和存储的整个过程中的任何error、warning信息就将存放在单独的日志文件中,供用户查看分析。
[0019] 作为优选,检测模块中,获取到的系统运行环境信息包括但不限于:运行的操作系统类型及版本、
系统软件类型及版本、业务系统类型及版本;尽可能详细的获取运行系统的环境参数,为用户的个性化定制提供充足的选择。
[0020] 作为优选,信息收集模块中,启动多个线程并发调用模块的colectinfo()函数收集模块对应的配置信息和日志信息;获取的配置信息和日志信息准确、全面,降低信息收集出现遗漏的可能性。
[0021] 第二方面,本发明提供一种信息收集方法,包括以下步骤:
[0022] S1:登录系统的步骤,登录服务器;
[0023] S2:向IP地址输入端口输入IP地址或者IP地址段;
[0024] S3:根据输入的IP地址启动线程连接至被收集信息的服务器;
[0025] S4:获取被收集信息服务器的系统运行环境信息;
[0026] S5:收集信息适配的步骤,具体包括:
[0027] 根据步骤S4中获取的系统运行环境信息,提取对应的符合信息收集条件的全部模块名称和系统默认收集信息的模块名称,按照模块类的继承关系将模块名以树状结构进行展示,根据具体需要制定符合实际需求的信息收集设置;
[0028] S6:信息收集的步骤,具体包括:
[0029] 根据步骤S5中制定的信息收集设置,启动线程并发调用模块收集对应的配置信息和日志信息;在模块日志信息收集完毕后,调用setstate()函数将该模块的state置为1(1表示该模块所有信息收集完毕)。当对所有模块执行statecheck()得到state值都为1后,代表日志信息收集完毕。信息收集模块调用信息存储模块进行磁盘存储。
[0030] S7:信息存储的步骤,根据收集信息的配置存放路径,将模块类之间的继承关系转换成文件夹之间的父子关系,建立以模块名对应的文件存放结构,然后将信息收集模块收集到的信息分别存放到对应的文件夹下,最后进行打包压缩。
[0031] 作为优选,该方法还包括监控的步骤,对信息收集和存储的整个过程进行监控,并在以进度条的方式展示信息收集的进度。
[0032] 作为优选,所述步骤S4中,获取到的系统运行环境信息包括但不限于:运行的操作系统类型及版本、系统软件类型及版本、业务系统类型及版本;尽可能详细的获取运行系统的环境参数,为用户的个性化定制提供充足的选择。
[0033] 作为优选,所述步骤S6中,启动多个线程并发调用模块的collectinfo()函数收集模块对应的配置信息和日志信息;获取的配置信息和日志信息准确、全面,降低信息收集出现遗漏的可能性。
[0034] 第三方面,提供一种计算机存储介质,所述计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。
[0035] 第四方面,提供一种终端,包括:
[0038] 该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述第二方面所述的方法。
[0039] 第五方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。
[0040] 本发明的有益效果在于,适用于所有操作系统上软
硬件配置信息和日志信息的收集,管理员无需自行编写Shell脚本,也无需记忆不同的命令,通过这个系统只需输入系统IP地址,就可自动得到多台服务器任何类型系统相关的配置信息,简化了管理员的工作,提高了工作效率和信息的准确度、完整度。
[0041] 系统除了给出对应的操作系统、系统软件、业务软件默认收集的信息模块外,同时支持用户自定义设置收集哪些信息,这种方式使得信息收集在简单的同时更加符合客户的实际需求。
[0042] 此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
[0043] 为了更清楚地说明本发明
实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1是本发明提供的一种信息收集系统的原理
框图。
[0045] 图2是本发明提供的一种信息收集方法的
流程图。
[0046] 其中,1-登录模块,2-服务器连接模块,3-检测模块,4-服务器,5-适配模块,6-模块库,7-信息收集模块,8-信息存储模块,9-监控模块,10-设置及结果展示模块。
具体实施方式
[0047] 为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0048] 实施例1:
[0049] 如图1所示,本实施例提供的一种信息收集系统,包括:
[0050] 登录模块1,通过该模块登录服务器;支持用户名、密码的登录方式;
[0051] 设置及结果展示模块10,该模块提供设置及结果展示界面,在该界面中,提供IP地址输入端口;通过该端口输入IP地址或者IP地址段;
[0052] 服务器连接模块2,该模块根据输入的IP地址启动线程连接被收集信息的服务器;
[0053] 检测模块3,获取被收集信息服务器4的系统运行环境信息;获取到的系统运行环境信息包括但不限于:运行的操作系统类型及版本、系统软件类型及版本、业务系统类型及版本;尽可能详细的获取运行系统的环境参数,为用户的个性化定制提供充足的选择。
[0054] 适配模块5,接受来自检测模块检测到的系统运行环境信息,并根据接收到的信息,从模块库中提取对应的符合信息收集条件的全部模块名称和系统默认收集信息的模块名称,按照模块类的继承关系将模块名以树状结构在用户设置及结果展示界面展示,根据具体需要制定符合实际需求的信息收集设置;
[0055] 模块库6,存储所有可以需要收集信息的模块名称及模块继承关系,[0056] 信息收集模块7,根据适配模块传递的需要收集信息的模块信息,启动线程并发调用模块收集对应的配置信息和日志信息;在模块日志信息收集完毕后,调用setstate()函数将该模块的state置为1(1表示该模块所有信息收集完毕)。当对所有模块执行statecheck()得到state值都为1后,代表日志信息收集完毕。信息收集模块调用信息存储模块进行磁盘存储。启动多个线程并发调用模块的collectinfo()函数收集模块对应的配置信息和日志信息;获取的配置信息和日志信息准确、全面,降低信息收集出现遗漏的可能性。
[0057] 信息存储模块8,根据收集信息的配置存放路径,将模块类之间的继承关系转换成文件夹之间的父子关系,建立以模块名对应的文件存放结构,然后将信息收集模块收集到的信息分别存放到对应的文件夹下,最后进行打包压缩。
[0058] 监控模块9,对信息收集和存储的整个过程进行监控,并在用户设置与结果展示界面以进度条的方式展示信息收集的进度。信息收集和存储的整个过程中的任何error、warning信息就将存放在单独的日志文件中,供用户查看分析。
[0059] 实施例2:
[0060] 如图2所示,本实施例提供的一种信息收集方法,包括以下步骤:
[0061] S1:登录系统的步骤,登录服务器;
[0062] S2:向IP地址输入端口输入IP地址或者IP地址段;
[0063] S3:根据输入的IP地址启动线程连接至被收集信息的服务器;
[0064] S4:获取被收集信息服务器的系统运行环境信息;
[0065] S5:收集信息适配的步骤,具体包括:
[0066] 根据步骤S4中获取的系统运行环境信息,提取对应的符合信息收集条件的全部模块名称和系统默认收集信息的模块名称,按照模块类的继承关系将模块名以树状结构进行展示,根据具体需要制定符合实际需求的信息收集设置;
[0067] S6:信息收集的步骤,具体包括:
[0068] 根据步骤S5中制定的信息收集设置,启动线程并发调用模块收集对应的配置信息和日志信息;在模块日志信息收集完毕后,调用setstate()函数将该模块的state置为1(1表示该模块所有信息收集完毕)。当对所有模块执行statecheck()得到state值都为1后,代表日志信息收集完毕。信息收集模块调用信息存储模块进行磁盘存储。启动多个线程并发调用模块的collectinfo()函数收集模块对应的配置信息和日志信息;获取的配置信息和日志信息准确、全面,降低信息收集出现遗漏的可能性。
[0069] S7:信息存储的步骤,根据收集信息的配置存放路径,将模块类之间的继承关系转换成文件夹之间的父子关系,建立以模块名对应的文件存放结构,然后将信息收集模块收集到的信息分别存放到对应的文件夹下,最后进行打包压缩。
[0070] 监控的步骤,对信息收集和存储的整个过程进行监控,并在以进度条的方式展示信息收集的进度。
[0071] 实施例3:
[0072] 本实施例提供一种计算机存储介质,所述计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例2所述的方法。
[0073] 实施例4:
[0074] 本实施例提供一种终端,包括:
[0075] 处理器、存储器,其中,
[0076] 该存储器用于存储计算机程序,
[0077] 该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述实施例2所述的方法。
[0078] 实施例5:
[0079] 本实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例2所述的方法。
[0080] 尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的
修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉
本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以
权利要求的保护范围为准。