基于SNMP的服务器监控方法和装置制造方法及图纸

技术编号:12405280 阅读:67 留言:0更新日期:2015-11-28 19:49
本发明专利技术公开了一种基于SNMP的服务器监控方法,该服务器监控方法包括:根据服务器的管理信息库MIB文件预先生成对应服务器的不同监控对象的多个数据表,其中,每个数据表中包括所对应的监控对象的对象标识符OID和监控数据;根据接收的需要访问的多个目标OID在预先生成的多个数据表中确定每个目标OID所对应的目标数据表;在存在多个目标OID对应相同的目标数据表的情况下,在目标数据表中分别读取多个目标OID所分别对应的监控数据。本发明专利技术通过将OID以数据表的方式进行组织,从而实现了对多个OID的监控数据的同时访问,并避免了访问多个OID所带来的对SNMP配置文件的复杂配置问题,简化了OID的监控数据的处理步骤,提高了snmp代理能力。

【技术实现步骤摘要】

本专利技术涉及服务器领域,具体来说,涉及一种基于SNMP的服务器监控方法和装置
技术介绍
目前,在对服务器的监控上,主要有采用私有协议和简单网络管理协议(SNMP)协议的两种方式,而采用SNMP协议来监控服务器的软硬件资源在业界则更为普遍。其中,现有的利用SNMP协议来实现服务器监控的方案中主要是利用net-snmp这个实现了 SNMP的软件来对服务器进行监控,而根据监控需求的不同,可对net-snmp进行功能扩展而无需重新开发实现SNMP协议。在现有技术中,在Iinux系统上进行服务器系统的监测主要有以下两种方式:一种方式为通过SNMP协议结合数据采集软件来实现;另一种方式为通过编写脚本调用系统状态监测的命令,并结合数据采集软件来实现。在具体应用中可通过配置snmpd.conf (net-snmp的代理配置文件,用于配置代理和管理端通信时的参数)来调用外部脚本获取服务器的信息,但是这种调用脚本来获取服务器的信息的方式存在着每个脚本只能处理一个对象标识符(OID)的问题,那么为了解决该问题,该方案可采用一个变量型的指标来实现多个OID的处理,但是变量型的指标又不利于扩展;而利于扩展的指标则需要采用数据表类型,但是采用数据表类型的指标如果通过配置snmpd.conf来处理每个指标又会很繁琐和复杂。针对相关技术中无法实现对多个OID进行处理,即无法通过调用一次脚本来监控服务器的多个指标的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述问题,本专利技术提出一种基于SNMP的服务器监控方法和装置,能够通过访问数据表的方式获得多个OID的监控数据,又不会增加访问OID的监控数据时所带来的繁琐性和复杂性问题,从而提高snmp代理性能。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种基于SNMP的服务器监控方法。该服务器监控方法包括:根据服务器的管理信息库(MIB)文件预先生成对应服务器的不同监控对象的多个数据表,其中,每个数据表中包括所对应的监控对象的OID和监控数据;根据接收的需要访问的多个目标OID在预先生成的多个数据表中确定每个目标OID所对应的目标数据表;在存在多个目标OID对应相同的目标数据表的情况下,在目标数据表中分别读取多个目标OID所分别对应的监控数据。其中,在根据接收的需要访问的多个目标OID在预先生成的多个数据表中确定每个目标OID所对应的目标数据表时,可根据接收的需要访问的目标OID确定目标监控对象;然后,再在预先生成的多个数据表中确定目标监控对象所对应的目标数据表。可选的,该服务器监控方法进一步包括:在目标数据表在预定时间内被首次读取监控数据的情况下,可获取目标服务器的动态指标的状态信息;并根据服务器的动态指标的状态信息对目标数据表中的动态指标的监控数据进行更新。另外,在目标数据表中读取每个目标OID所对应的监控数据之前,该服务器监控方法进一步包括:对每个目标OID所对应的指标的类型进行判断,在判断该指标为服务器的动态指标的情况下,实时获取服务器当前该动态指标的状态信息;基于当前该动态指标的状态信息对目标数据表中的该动态指标的监控数据进行实时更新。此外,在目标数据表中读取目标OID所对应的监控数据时,可通过遍历目标数据表,来确定目标OID所对应的子监控对象在目标数据表中所对应的数据行;再根据目标OID所对应的目标数据表的列号,在数据行中确定该目标OID所对应的监控数据。可选的,该服务器监控方法进一步包括:根据服务器的MIB文件预先生成服务器的动态库文件;其中,动态库文件中包括对应服务器的不同监控对象的多个数据表。根据本专利技术的另一方面,提供了一种基于SNMP的服务器监控装置。该服务器监控装置包括:预先生成模块,用于根据服务器的MIB文件预先生成对应服务器的不同监控对象的多个数据表,其中,每个数据表中包括所对应的监控对象的OID和监控数据;确定模块,用于根据接收的需要访问的多个目标OID在预先生成的多个数据表中确定每个目标OID所对应的目标数据表;读取模块,用于在存在多个目标OID对应相同的目标数据表的情况下,在目标数据表中分别读取多个目标OID所分别对应的监控数据。其中,确定模块包括:第一确定子模块,用于根据接收的需要访问的目标OID确定目标监控对象;第二确定子模块,用于在预先生成的多个数据表中确定目标监控对象所对应的目标数据表。此外,该服务器监控装置进一步包括:获取模块,用于在目标数据表在预定时间内被首次读取监控数据的情况下,获取目标服务器的动态指标的状态信息;更新模块,用于根据服务器的动态指标的状态信息对目标数据表中的动态指标的监控数据进行更新。另外,该服务器监控装置进一步包括:判断获取模块,用于在目标数据表中读取每个目标OID所对应的监控数据之前,对每个目标OID所对应的指标的类型进行判断,在判断该指标为服务器的动态指标的情况下,实时获取服务器当前该动态指标的状态信息;实时更新模块,用于基于当前该动态指标的状态信息对目标数据表中的该动态指标的监控数据进行实时更新。本专利技术通过将OID以数据表的方式进行组织,从而实现了对多个OID的监控数据的同时访问,并避免了访问多个OID所带来的对SNMP配置文件的复杂配置问题,简化了 OID的监控数据的处理步骤,提高了 snmp代理能力。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的服务器监控方法的流程图;图2是根据本专利技术实施例的服务器监控方法的通过so库扩展snmp代理的示意性流程图;图3是根据本专利技术实施例的服务器监控方法的数据表的记录形式的示意图。图4是根据本专利技术一具体实施例的服务器监控方法的流程图;图5是根据本专利技术实施例的服务器监控装置的框图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种基于SNMP的服务器监控方法。如图1所示,根据本专利技术实施例的服务器监控方法包括:步骤S101,根据服务器的MIB文件预先生成对应服务器的不同监控对象的当前第1页1 2 3 本文档来自技高网...
基于SNMP的服务器监控方法和装置

【技术保护点】
一种基于简单网络管理协议SNMP的服务器监控方法,其特征在于,包括:根据服务器的管理信息库MIB文件预先生成对应所述服务器的不同监控对象的多个数据表,其中,每个数据表中包括所对应的监控对象的对象标识符OID和监控数据;根据接收的需要访问的多个目标OID在预先生成的所述多个数据表中确定每个目标OID所对应的目标数据表;在存在多个目标OID对应相同的目标数据表的情况下,在所述目标数据表中分别读取所述多个目标OID所分别对应的监控数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:周军赵欢郑谦张晋锋解文龙
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1