服务器信息获取方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 11:05:16
技术领域
本发明涉及信息处理技术领域,尤其涉及一种服务器信息获取方法、装置、电子设备及存储介质。
背景技术
目前对于服务器进行信息采集及资源监控的方法主要有两种:一种方法是使用Linux Shell命令,另一种方法是在程序中调用动态库;
这两种方式都存在一定的弊端,第一种虽然操作起来方便,但是只能简单的采集,不能整合处理复杂的数据,无法直接集成到Java程序中使用;第二种虽然可以集成到Java程序中使用,但需要配置文件区分不同的系统类别调用不同的动态库,操作起来较为复杂。
发明内容
针对现有技术存在的问题,本发明提供一种服务器信息获取方法、装置、电子设备及存储介质。
本发明提供的一种服务器信息获取方法,包括:
执行目标程序,调用jar工具包,其中,所述jar工具包用于根据操作系统类型调用对应的Sigar动态库,所述目标程序为收集服务器信息的启动程序;
执行所述jar工具包获取对应的Sigar动态库,执行获取到的Sigar动态库收集服务器信息。
根据本发明提供的一种服务器信息获取方法,所述执行目标程序,调用jar工具包,包括:
执行目标程序,根据目标程序中的jar指令,获得jar工具包的调用地址;根据所述调用地址调用jar工具包。
根据本发明提供的一种服务器信息获取方法,所述执行所述jar工具包获取对应的Sigar动态库,执行获取到的Sigar动态库收集服务器信息,包括:
执行所述jar工具包采集服务器使用的操作系统类型,根据所述操作系统类型调用对应的Sigar动态库;
执行Sigar动态库,基于所述jar工具包中的全文检索目录文件收集服务器信息,其中,所述全文检索目录文件中包含服务器信息的收集项。
根据本发明提供的一种服务器信息获取方法,所述jar工具包采用Java语言编码获得。
本发明还提供一种服务器信息获取装置,包括:
调用模块,用于执行目标程序,调用jar工具包,其中,所述jar工具包用于根据操作系统类型调用对应的Sigar动态库,所述目标程序为收集服务器信息的启动程序;
采集模块,用于执行所述jar工具包获取对应的Sigar动态库,执行获取到的Sigar动态库收集服务器信息。
本发明还提供一种服务器信息获取装置,所述调用模块具体用于:
执行目标程序,根据目标程序中的jar指令,获得jar工具包的调用地址;根据所述调用地址调用jar工具包。
本发明还提供一种服务器信息获取装置,所述采集模块具体用于:
执行所述jar工具包采集服务器使用的操作系统类型,根据所述操作系统类型调用对应的Sigar动态库;
执行Sigar动态库,基于所述jar工具包中的全文检索目录文件收集服务器信息,其中,所述全文检索目录文件中包含服务器信息的收集项。
本发明还提供一种服务器信息获取装置,所述jar工具包采用Java语言编码获得。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述服务器信息获取方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述服务器信息获取方法的步骤。
本发明提供的服务器信息获取方法、装置、电子设备及存储介质,通过执行程序调用jar工具包,确定对用于服务器操作系统的Sigar动态库,基于Sigar动态库收集服务器信息,实现简捷、高效的对服务器进行信息采集及资源监控的目的,且能够实现对于不同的操作系统可统一进行收集服务器信息的目的。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的服务器信息获取方法的流程示意图;
图2是本发明提供的服务器信息获取装置的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为此,下面结合图1-图3描述本发明提供的服务器信息获取方法、装置、电子设备及存储介质。
图1示出了本发明提供的服务器信息获取方法的流程示意图,应用于服务器侧,包括以下步骤:
11、执行目标程序,调用jar工具包,其中,jar工具包用于根据操作系统类型调用对应的Sigar动态库,目标程序为收集服务器信息的启动程序;
12、执行jar工具包获取对应的Sigar动态库,执行获取到的Sigar动态库收集服务器信息。
针对步骤11-步骤12,需要说明的是,在本发明中,服务器上配置用于收集服务器信息的启动程序,即提及的目标程序。服务器计划收集服务器信息。服务器会在用户的操作的指令下,启动目标程序。目标程序启动之后,会去调用jar工具包。该jar工具包用于根据操作系统类型调用对应的Sigar动态库。对于不同的操作系统,例如针对Windows和Linux操作系统分别提供了sigar-amd64-winnt.dll或sigar-x86-winnt.dll和libsigar-amd64-linux.so或libsigar-x86-linux.so动态库。Sigar动态库是收集系统和处理信息的工具,它可以收集操作系统、CPU、内存、进程、文件系统、网络等计算机主机信息,在此不详细介绍。
服务器执行jar工具包获取对应的Sigar动态库,也就是说,执行该jar工具包能够根据当前服务器的操作系统调用对应的Sigar动态库。然后执行获取到的Sigar动态库收集服务器信息。
本发明提供的服务器信息获取方法,通过执行程序调用jar工具包,确定对用于服务器操作系统的Sigar动态库,基于Sigar动态库收集服务器信息,实现简捷、高效的对服务器进行信息采集及资源监控的目的,且能够实现对于不同的操作系统可统一进行收集服务器信息的目的。
在上述方法的进一步说明中,主要是对执行目标程序,调用jar工具包的处理过程进行解释说明,具体如下:
执行目标程序,根据目标程序中的jar指令,获得jar工具包的调用地址;根据调用地址调用jar工具包。
对此,需要说明的是,在本发明中,目标程序中会编写有jar指令,执行目标程序的过程中,会执行程序中的jar指令,基于该jar指令能够确定jar工具包的调用地址,然后基于调用地址能够调用jar工具包。
在本发明中,该jar工具包采用Java语言编码获得。相应地,jar指令也采用采用Java语言编码获得。当执行到jar指令,可以相应地去启动确定jar工具包的步骤,便于快速调用jar工具包。
在上述方法的进一步说明中,主要是对执行jar工具包获取对应的Sigar动态库,执行获取到的Sigar动态库收集服务器信息的处理过程的解释说明,具体如下:
执行jar工具包采集服务器使用的操作系统类型,根据操作系统类型调用对应的Sigar动态库;
执行Sigar动态库,基于jar工具包中的全文检索目录文件收集服务器信息,其中,全文检索目录文件中包含服务器信息的收集项。
对此,需要说明的是,在本发明中,在jar工具包中包含有编写的采集监控操作系统、CPU、内存、进程、文件系统、网络等计算机主机信息的全文检索目录文件。该全文检索目标文件中包含服务器信息的采集项。该采集项如CPU信息、内存信息、进程信息、网络接口信息、网络路由和衔接表信息等,在此不一一举出。
在本发明中,执行jar工具包后,首先采集服务器使用的操作系统类型,然后根据操作系统类型调用对应的Sigar动态库。例如操作系统类型是Linux操作系统(x86),则调用libsigar-x86-linux.so动态库。
然后基于jar工具包中的全文检索目录文件中的收集项,执行Sigar动态库收集对应的服务器信息。
本发明进一步的方法,通过在jar工具包上编写全文检索目录文件,在执行Sigar动态库采集服务器信息时,能够提供预设的收集项,便于对服务器信息的精准收集。
下面对本发明提供的服务器信息获取装置进行描述,下文描述的服务器信息获取装置与上文描述的服务器信息获取方法可相互对应参照。
图2示出了本发明提供的服务器信息获取装置的结构示意图,参见图2,所述装置包括调用模块21和采集模块22,其中:
调用模块21,用于执行目标程序,调用jar工具包,其中,所述jar工具包用于根据操作系统类型调用对应的Sigar动态库,所述目标程序为收集服务器信息的启动程序;
采集模块22,用于执行所述jar工具包获取对应的Sigar动态库,执行获取到的Sigar动态库收集服务器信息。
在上述装置的进一步说明中,所述调用模块具体用于:
执行目标程序,根据目标程序中的jar指令,获得jar工具包的调用地址;根据所述调用地址调用jar工具包。
在上述装置的进一步说明中,所述采集模块具体用于:
执行所述jar工具包采集服务器使用的操作系统类型,根据所述操作系统类型调用对应的Sigar动态库;
执行Sigar动态库,基于所述jar工具包中的全文检索目录文件收集服务器信息,其中,所述全文检索目录文件中包含服务器信息的收集项。
在上述装置的进一步说明中,所述jar工具包采用Java语言编码获得。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
本发明提供的服务器信息获取装置,通过执行程序调用jar工具包,确定对用于服务器操作系统的Sigar动态库,基于Sigar动态库收集服务器信息,实现简捷、高效的对服务器进行信息采集及资源监控的目的,且能够实现对于不同的操作系统可统一进行收集服务器信息的目的。
图3示出了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)31、通信接口(Communications Interface)32、存储器(memory)33和通信总线34,其中,处理器31,通信接口32,存储器33通过通信总线34完成相互间的通信。处理器31可以调用存储器33中的逻辑指令,以执行服务器信息获取方法,该方法包括:执行目标程序,调用jar工具包,其中,所述jar工具包用于根据操作系统类型调用对应的Sigar动态库,所述目标程序为收集服务器信息的启动程序;执行所述jar工具包获取对应的Sigar动态库,执行获取到的Sigar动态库收集服务器信息。
此外,上述的存储器33中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的服务器信息获取方法,该方法包括:执行目标程序,调用jar工具包,其中,所述jar工具包用于根据操作系统类型调用对应的Sigar动态库,所述目标程序为收集服务器信息的启动程序;执行所述jar工具包获取对应的Sigar动态库,执行获取到的Sigar动态库收集服务器信息。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的服务器信息获取方法,该方法包括:执行目标程序,调用jar工具包,其中,所述jar工具包用于根据操作系统类型调用对应的Sigar动态库,所述目标程序为收集服务器信息的启动程序;执行所述jar工具包获取对应的Sigar动态库,执行获取到的Sigar动态库收集服务器信息。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 出装信息获取方法、装置、电子设备、服务器及存储介质
- 信息提供方法、信息获取方法、装置、服务器及存储介质