一种服务器通用监控方法及装置与流程

文档序号:13520952阅读:165来源:国知局

本发明涉及服务器监控技术领域,更具体地,涉及一种服务器通用监控方法及装置。



背景技术:

在服务器运行过程中,通常需要对服务器的硬件信息进行采集,并通过对服务器硬件信息的故障分析,来确定服务器中各硬件的故障。但目前比较流行的网络,比如,私有云网络或者公有云网络中,存在很多不同厂商的服务器。

针对于不同厂商服务器中硬件的监控,各个厂商都有自己对应的工具,例如,戴尔的openmanage工具,惠普的systemmanagementhomepage工具等,各家厂商的工具只能处理自家的硬件产品,而无法处理其它厂商的硬件产品。因此,对于私有云网络或者公有云网络中的各个不同厂商的服务器中硬件的处理,无法通过一套方法来实现。

另外,对于不同厂商,其支持的数据格式是不同的,即通过各个厂商对应的工具对自家服务器的硬件资源信息的数据格式也是不同的,在对硬件资源信息进行输出展示的过程中,是无法通过同一个展示平台进行展示的。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的服务器通用监控方法及装置。

根据本发明的一个方面,提供一种服务器通用监控方法,包括:

s1,针对不同厂商服务器的不同硬件,使用各个硬件对应的原生编程接口获取该硬件的资源信息,其中,不同厂商服务器的硬件资源信息的数据格式不同;

s2,对获取的每一个厂商服务器的硬件资源信息进行故障分析,生成不同厂商服务器的故障报警信息;

s3,将生成的每一个厂商服务器的故障报警信息转换为统一数据格式,并输出展示。

本发明的有益效果为:通过原生编程接口收集不同厂商服务器的不同硬件资源信息,并对每一个厂商服务器的硬件资源信息进行故障分析,将生成的每一个厂商服务器的硬件的故障报警信息转换为统一数据格式,进行输出展示。通过本发明提供的方法能够对各个不同厂商服务器中的硬件进行监控,而不会由于不同厂商提供的不同监控工具,而无法对所有不同厂商服务器的硬件资源信息进行采集,以及由于不同厂商服务器的数据格式的不同,而导致无法通过一套监控程序就能实现,比如私有云或者公有云中的各种不同厂商服务器的监控。

在上述技术方案的基础上,本发明还可以作如下改进。

进一步的,所述硬件包括主机host、中央处理器cpu、双列直插式内存组件dimm、硬盘驱动器hdd和磁盘阵列raid。

进一步的,所述步骤s1中使用各个硬件对应的原生编程接口获取该硬件的资源信息进一步包括:

基于smbios标准采集cpu资源信息以及采用ata/scsi协议采集hdd资源信息,并分别通过各自对应的接口将资源信息输出。

进一步的,所述基于smbios标准采集cpu资源信息进一步包括:

基于smbios标准,采用内存映射的方式,获取服务器整机的硬件信息;

对所述服务器整机的硬件信息进行解析,获取cpu硬件资源信息。

进一步的,所述步骤s2之前还包括:

对获取的不同厂商服务器的硬件资源信息按照信息类别进行分类,其中,所述信息类别包括基本配置信息、功耗信息和硬件使用情况;

相应地,所述步骤s2包括:

对不同厂商服务器分类后的硬件资源信息进行故障分析,并生成每一个厂商的故障报警信息。

进一步的,所述步骤s3进一步包括:

通过自定义通用的api接口将每一个厂商服务器的故障报警信息转换为统一数据格式。

进一步的,所述通用的api接口为restful接口,其支持的统一数据格式为json格式。

根据本发明的另一个方面,提供了一种服务器通用监控装置,包括:

获取模块,用于针对不同厂商服务器的不同硬件,使用各个硬件对应的原生编程接口获取该硬件的资源信息,其中,不同厂商服务器的硬件资源信息的数据格式不同;

故障分析模块,用于对获取的每一个厂商服务器的硬件资源信息进行故障分析,生成不同厂商服务器的故障报警信息;

转换模块,用于将生成的每一个厂商服务器的故障报警信息转换为统一数据格式,并输出展示。

进一步的,还包括分类模块;

所述分类模块,用于对所述获取模块获取的不同厂商服务器的硬件资源信息按照信息类别进行分类,其中,所述信息类别包括基本配置信息、功耗信息和硬件使用情况;

相应地,所述故障分析模块进一步用于:

对不同厂商服务器分类后的硬件资源信息进行故障分析,并生成每一个厂商的故障报警信息。

进一步的,所述转换模块进一步用于:

通过自定义通用的api接口将每一个厂商服务器的故障报警信息转换为统一数据格式;

其中,所述通用的api接口为restful接口,其支持的统一数据格式为json格式。

附图说明

图1为本发明一个实施例的服务器通用监控方法流程图;

图2为本发明另一个实施例的服务器通用监控装置连接框图;

图3为本发明再一个实施例的服务器通用监控装置整体连接框图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

参见图1,提供了本发明一个实施例的服务器通用监控方法,包括:s1,针对不同厂商服务器的不同硬件,使用各硬件对应的原生编程接口获取该硬件的资源信息,其中,不同厂商服务器的硬件资源信息的数据格式不同;s2,对获取的每一个厂商服务器的硬件资源信息进行故障分析,生成不同厂商服务器的故障报警信息;s3,将生成的每一个厂商服务器的故障报警信息转换为统一数据格式,并输出展示。

不同厂商服务器都有一套针对硬件监控的方法,由于不同厂商对硬件监控的方法不同,因此,一个厂商提供的服务器硬件监控的方法无法用于另一个厂商服务器的硬件监控,各个不同厂商提供的数据格式也不同,比如在公有云或私有云中,由于会涉及到不同厂商的服务器,无法做到对公有云或私有云中的所有不同厂商服务器的硬件监控的展示。

因此,本实施例提供一种服务器通用监控方法,能够对所有不同厂商服务器的硬件资源信息进行输出展示,实现了私有云或公有云中不同厂商服务器的硬件监控。具体实现过程为,针对于不同厂商的不同硬件,采用与服务器中为不同硬件配置的原生编程接口来获取该硬件的资源信息,而不是采用各自厂商提供的专门工具来获取硬件的资源信息,由于这些原生编程接口时本身存在的,因此通过原生编程接口获取服务器的各个硬件的资源信息,不需要提供额外的工具即可实现。其中,不同厂商服务器的硬件资源信息的数据格式是不一致的。然后,针对每一个厂商服务器的硬件资源信息,对其进行故障分析,不同厂商对服务器中硬件资源信息的故障分析策略是不完全相同的。根据对应的故障分析策略,对每一个厂商服务器的硬件资源信息进行故障分析,生成对应的故障报警信息,其中,每一个厂商服务器的故障报警信息的数据格式不相同。最后将生成的每一个厂商服务器的故障报警信息转化为统一数据格式,并进行输出展示。这样,对于不同厂商服务器的硬件资源信息,可以通过一套监控程序来实现,最后输出展示的硬件资源信息时统一格式的,便于查看。

本实施例通过原生编程接口收集不同厂商服务的不同硬件资源信息,并对每一个厂商服务器的应用资源信息进行故障分析,将生成的每一个厂商服务器的硬件的故障报警信息转换为统一数据格式,进行输出展示。通过本发明提供的方法能够对各种不同厂商服务器中的硬件进行监控,而不会由于不同厂商服务器的数据格式的不同,而导致无法通过一套监控程序就能实现,比如私有云或者公有云中的各种不同厂商服务器的监控。

在上述实施例的基础上,本发明的一个实施例中,所述硬件包括主机host、中央处理器cpu、双列直插式内存组件dimm、硬盘驱动器hdd和磁盘阵列raid。

不同厂商服务器中的硬件类型基本上是相同的,每一个厂商服务器中的硬件均包括主机host、中央处理器cpu(centralprocessingunit)列直插式内存组件dimm(dual-inline-memory-modules)磁盘驱动器hdd(harddiskdrive)阵列raid(redundantarraysofindependentdisks)等。

在上述各个实施例的基础上,本发明的另一个实施例中,所述步骤s1中使用该硬件对应的原生编程接口获取该硬件的资源信息进一步包括:基于smbios标准采集cpu资源信息以及采用ata/scsi协议采集hdd资源信息,并分别通过各自对应的接口将资源信息输出。

针对于不同厂商服务器的不同硬件,采用每一个硬件对应的原生编程接口来获取该硬件的资源信息的过程中,比如,对于每一个厂商服务器中的cpu,采用该厂商为cpu配置的原生编程接口来采集cpu的资源信息,对于磁盘驱动器hdd,采用该厂商为hdd配置的原生编程接口来采集hdd的资源信息。其中,在各个厂商服务器采集cpu资源信息时,是基于smbios标准来采集cpu资源信息的,对采集磁盘驱动器hdd的资源信息时,是采用ata/scsi协议来实现的,每一个厂商服务器采用带内的设备采集到各个硬件的监控后,通过各自的原生编程接口将资源信息进行输出。

在上述各个实施例的基础上,本发明的另一个实施例中,所述基于smbios标准采集cpu资源信息进一步包括:基于smbios标准,采用内存映射的方式,获取服务器整机的硬件信息;对服务器整机的硬件信息进行解析,获取cpu硬件资源信息。

在基于smbios标准获取cpu资源信息时,基于smbios标准,采用内存映射的方式,获取服务器整机的硬件信息,然后对获取的服务器的整机信息进行解析,获取cpu硬件资源信息。

其中,以checkcpu为例,获取cpu资源信息的过程具体如下:

<1>定义smbios对象,获取smbios信息。

<2>传入machinfo对象至smbios对象的getmachinfo方法。

<3>采用内存映射的方式,结合smbios标准,获取整机硬件信息,获取cpu部分硬件信息。

<4>解析smbios中cpu部分,填充hdoccpu,解析输出相关信息。

在上述各实施例的基础上,本发明的另一个实施例中,所述步骤s2之前还包括:对获取的不同厂商服务器的硬件资源信息按照信息类别进行分类,其中,所述信息类别包括基本配置信息、功耗信息和硬件使用情况;相应地,所述步骤s2包括:对不同厂商服务器分类后的硬件资源信息进行故障分析,并生成每一个厂商服务器的故障报警信息。

在对不同厂商服务器的硬件资源信息进行故障分析之前,先对获取的不同厂商服务器的硬件资源信息按照信息类别进行分类,比如,按照基本配置信息、功耗信息以及硬件的使用情况对各个厂商服务的硬件资源信息进行不同类别信息的分类。然后,对于不同厂商服务器分类后的硬件资源信息进行故障分析,并生成每一个厂商服务器的故障报警信息。其中,对于不同厂商,对硬件资源信息进行故障分析的策略也会有所差别,比如说判断某一款硬件的故障时,当该硬件的资源信息中的某个值大于预设阈值时,表明该硬件存储故障,对于不同厂商,这个预设阈值会有差异。另外,对于不同的厂商,生成的故障报警信息的格式也是不同的。

在上述各个实施例的基础上,本发明的另一个实施例中,所述步骤s3进一步包括:通过自定义通用的api接口将每一个厂商服务器的故障报警信息转换为统一数据格式。

当通过对不同厂商服务器的硬件资源信息进行故障分析并生成了数据格式不同的故障报警信息后,通过自定义通用的api接口将每一个厂商服务器的故障报警信息从各种不同的数据格式转换为统一数据格式,并进行输出展示。其中,本实施例中,通用的api接口为restful接口,其支持的统一数据格式为json格式,即将采集的不同厂商服务器的不同数据格式的硬件资源信息都转换为json格式进行输出展示或者将生成的不同厂商服务器的不同数据格式的故障报警信息均转换成json格式,进行输出展示。

参见图2,提供了本发明另一个实施例的服务器通用监控装置,包括获取模块21、故障分析模块22和转换模块23。

获取模块21,用于针对不同厂商服务器的不同硬件,使用各个硬件对应的原生编程接口获取该硬件的资源信息,其中,不同厂商服务器的硬件资源信息的数据格式不同。

故障分析模块22,用于对获取的每一个厂商服务器的硬件资源信息进行故障分析,生成不同厂商服务器的故障报警信息。

转换模块23,用于将生成的每一个厂商服务器的故障报警信息转换为统一数据格式,并输出展示。

具体的,获取模块21,进一步用于:基于smbios标准采集cpu资源信息以及采用ata/scsi协议采集hdd资源信息,并分别通过各自对应的原生编程接口将硬件资源信息输出。

其中,获取模块21,用于基于smbios标准采集cpu资源信息进一步包括:基于smbios标准,采用内存映射的方式,获取服务器整机的硬件信息,以及对所述服务器整机的硬件信息进行解析,获取cpu硬件资源信息。

参见图3,在上述实施例的基础上,提供的服务器通用监控装置还包括分类模块24,用于对获取模块21获取的不同厂商服务器的硬件资源信息按照信息类别进行分类,其中,所述信息类别包括基本配置信息、功耗信息和硬件使用情况。

相应地,故障分析模块22进一步用于:对不同厂商服务器分类后的硬件资源信息进行故障分析,并生成每一个厂商的故障报警信息。

另外,转换模块23进一步用于通过自定义通用的api接口将每一个厂商服务器的故障报警信息转换为统一数据格式;其中,所述通用的api接口为restful接口,其支持的统一数据格式为json格式。

本发明提供的一种服务器通用方法及装置,通过原生编程接口收集不同厂商服务器的不同硬件资源信息,并对每一个厂商服务器的硬件资源信息进行故障分析,将生成的每一个厂商服务器的硬件的故障报警信息转换为统一数据格式,进行输出展示。通过本发明提供的方法能够对各个不同厂商服务器中的硬件进行监控,而不会由于不同厂商提供的不同监控工具,而无法对所有不同厂商服务器的硬件资源信息进行采集,以及由于不同厂商服务器的数据格式的不同,而导致无法通过一套监控程序就能实现,比如私有云或者公有云中的各种不同厂商服务器的监控。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1