CN115442201B - 一种基于snmp代理动态采集ems数据的方法及设备 - Google Patents
一种基于snmp代理动态采集ems数据的方法及设备 Download PDFInfo
- Publication number
- CN115442201B CN115442201B CN202210947041.6A CN202210947041A CN115442201B CN 115442201 B CN115442201 B CN 115442201B CN 202210947041 A CN202210947041 A CN 202210947041A CN 115442201 B CN115442201 B CN 115442201B
- Authority
- CN
- China
- Prior art keywords
- mib
- data
- ems
- node
- management object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于SNMP代理动态采集EMS数据的方法及设备,其包括步骤:对EMS数据进行逻辑分层并将不同层级的逻辑对象划分为不同级别MIB节点的管理对象;设置配置文件使其包含各MIB节点的管理对象的索引信息以及用于使EMS识别所述逻辑对象采集的数据集合的特征项;SNMP代理根据所述配置文件的特征项从EMS查询数据集合并根据查询到的数据集合和对应的索引信息更新MIB库。以解决MIB库修改导致SNMP代理程序重新开发的问题。
Description
技术领域
本发明涉及数据通信网管技术领域,具体涉及一种基于SNMP代理动态采集EMS数据的方法及设备。
背景技术
在IP网络设备上运行代理程序,通过MIB(Management Information Base,管理信息库)收集并存储设备信息。NMS(Network Management System,网络管理系统)与代理程序之间以SNMP(Simple Network Management Protocol,简单网络管理协议)进行通信,通过查询或者修改代理程序中MIB的数据,可以实现对网络设备的监管和控制功能。MIB是一种树状数据库,MIB管理的对象,对应树的端节点,每个节点都有唯一的OID(ObjectIdentifier,对象识别符)唯一指定,其命名规则就是父节点的名字作为子节点名字的前缀。各网络设备厂商都申请有MIB中私有的节点,各厂商在MIB私有节点下扩展新的子节点管理不同的设备不同的对象,所有设备都运行各自的代理程序,网络管理系统通过这些MIB库就可以同时管理多厂商设备网络。由于各设备厂商MIB库管理的设备信息存在差异,可能存在一些未支持SNMP协议或者支持不全的设备产品。各设备厂商也都会以私有协议的方式实现EMS(Element Management System,网络管理子系统),实现更加丰富的配置管理功能。这种情况下,适合使用远程代理系统。
将代理程序运行在网络设备管理子系统上,通过查询MIB和修改私有网络管理子系统数据,以标准SNMP通信协议向更上层网络管理系统提供北向接口服务,为上层网络管理系统提供SNMP北向接口的系统,就是一种远程代理系统。该系统可以将被代理的子系统上维护的数据传递到更上层网络管理系统,也可以将上层网络管理系统下发的查询配置命令通过子系统下发到各设备。
然而,在设备特性不断更新的情况下,不管是将SNMP代理程序运行在设备上,还是采用远程代理模式,都需不断的更新MIB库来支持设备新的特性。远程代理模式下,针对不同客户端的不同需求,也需要制定不同的MIB库来满足用户需求。每次更新MIB库,需要重新在代理程序源代码基础上编码实现、编译、部署、再运行。
发明内容
本发明实施例提供一种基于SNMP代理动态采集EMS数据的方法及设备,以解决MIB库修改导致SNMP代理程序重新开发的问题。
一方面,本发明实施例提供了一种基于SNMP代理动态采集EMS数据的方法,其特征在于,其包括步骤:
对EMS数据进行逻辑分层并将不同层级的逻辑对象划分为不同级别MIB节点的管理对象;
设置配置文件使其包含各MIB节点的管理对象的索引信息以及用于使EMS识别所述逻辑对象采集的数据集合的特征项;
SNMP代理根据所述配置文件的特征项从EMS查询数据集合并根据查询到的数据集合和对应的索引信息更新MIB库。
一些实施例中,在所述对EMS数据进行逻辑分层之前,对EMS数据进行数据分类,且所述对EMS数据进行逻辑分层并将不同层级的逻辑对象划分为不同级别MIB节点的管理对象,包括步骤:
将数据分类后的EMS数据类型划分为一级MIB管理对象;
针对每个EMS数据类型,其包含的资源对象划分为对应的二级MIB管理对象,并将对应资源对象能采集的数据集合划分为对应的三级MIB管理对象。
一些实施例中,所述设置配置文件使其包含各MIB节点的管理对象的索引信息以及用于使EMS识别所述逻辑对象采集的数据集合的特征项,包括步骤:
根据所述逻辑分层的情况在配置文件中添加对应的条目,其中,
添加一级MIB管理对象条目时,将MIB起始节点下的子节点作为一级MIB节点,且根据所述一级MIB节点的序号以及其父节点的名称确定一级MIB管理对象的OID,并结合对应EMS数据类型的名称配置所述一级MIB管理对象条目;
添加二级MIB管理对象条目时,将所述一级MIB节点下的子节点作为二级MIB节点,且根据所述二级MIB节点的序号以及其父节点的OID确定二级MIB管理对象的OID,并结合对应的资源对象名称配置所述二级MIB管理对象条目;
添加三级MIB管理对象条目时,将所述二级MIB节点的子节点作为三级MIB节点,且根据所述二级MIB节点的序号以及其父节点的OID确定三级MIB管理对象的OID,并结合对应的资源对象所能采集的不同数据集合的名词以及各数据集合对应的特征项配置所述三级MIB管理对象条目。
一些实施例中,所述SNMP代理根据所述配置文件的特征项从EMS查询数据集合并根据查询到的数据集合和对应的索引信息更新MIB库,包括步骤:
启动SNMP代理并加载所述配置文件,解析并缓存所述一级MIB管理对象结构、二级MIB管理对象结构以及三级MIB库管理对象结构;
根据一级MIB管理对象数量动态构建数据查询器,所述数据查询器用于从EMS提供的RPC接口同步全网数据;
根据二级MIB管理对象数量动态创建数据处理器,基于MibTable类实现所述数据处理器的数据更新方式,且所述数据更新方式用于根据配置文件中的条目信息将所述同步的全网数据更新到对应的MIB节点。
一些实施例中,所述启动SNMP代理后,还包括步骤:
启动客户端监听并根据客户端需求从EMS查询网络数据;
基于从EMS查询到的网络数据动态更新所述数据处理器并基于更新后的数据处理器实现MIB库更新。
一些实施例中,在启动客户端监听前,还包括:
对所述配置文件进行编译和解析,并基于其中的MIB节点信息生成MIB协议文件;
所述MIB协议文件用于满足客户端与SNMP代理之间的交互。
一些实施例中,所述根据客户端需求从EMS查询网络数据之后,具体包括:
根据所述客户端需求,若需要查询新的资源对象下的数据集合,则在配置文件中增加与所述新的资源对象对应的二级MIB管理对象条目;
将所述新的资源对象下的数据集合作为所述对应的二级MIB管理对象下的三级MIB管理对象在配置文件中添加对应条目。
一些实施例中,所述根据客户端需求从EMS查询网络数据之后,还包括:
根据所述客户端需求,若需要查询一种资源对象下新的数据集合,则在配置文件中对所述一种资源对象的二级MIB管理对象条目下增加与所述新的数据集合对应的三级MIB管理对象条目。
一些实施例中,所述根据客户端需求从EMS查询网络数据之后,还包括:
根据所述客户端需求,若需要查询一种新的数据类型下任一资源对象的数据集合,则根据新的数据类型在配置文件中添加对应的一级MIB管理对象条目、二级MIB管理对象条目和三级MIB管理对象条目,并根据新的数据类型对应的数据属性确定对应的特征项。
另一方面,本发明实施例还提供一种设备,其特征在于,所述设备包括:至少一个处理器;以及与所述至少一个处理器耦合的存储器,所述存储器包含有存储于其中的指令,所述指令在被所述处理器加载并执行,以实现如前述方法实施例中任一项所述的方法。
本发明提供的技术方案带来的有益效果包括:
本发明实施例提供一种基于SNMP代理动态采集EMS数据的方法及设备,考虑到传统SNMP代理运行于设备侧,采集数据后提供给管理站。由于传输设备种类繁多,SNMP支持不全,部分设备不支持。本发明实施例中,将SNMP代理运行在EMS侧,通过EMS提供的RPC接口采集全网设备数据,将设备数据汇总后以SNMP协议提供给上层客户端应用。根据配置文件动态的生成和管理MIB节点的管理对象,无需重复开发快速满足不同用户的需求。同时,还可支持灵活的数据分表策略,为SNMP北向接口查询大配置告警性能数据超时问题提供解决方案。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于SNMP代理动态采集EMS数据的方法流程示意图;
图2为本发明实施例提供的一级扩展的MIB表结构示意图;
图3为本发明实施例提供的二级扩展的MIB表结构示意图;
图4为本发明实施例提供的三级扩展的MIB表结构示意图;
图5为本发明实施例提供的四级扩展的MIB表结构示意图;
图6为本发明实施例提供的支持多级扩展的MIB表结构示意图;
图7为本发明实施例提供的动态加载SNMP远程代理示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于SNMP代理动态采集EMS数据的方法,包括步骤:
S100:对EMS数据进行逻辑分层并将不同层级的逻辑对象划分为不同级别MIB节点的管理对象;
S200:设置配置文件使其包含各MIB节点的管理对象的索引信息以及用于使EMS识别所述逻辑对象采集的数据集合的特征项;
S300:SNMP代理根据所述配置文件的特征项从EMS查询数据集合并根据查询到的数据集合和对应的索引信息更新MIB库。
本发明实施例考虑到传统SNMP代理运行于设备侧,采集数据后提供给管理站。由于传输设备种类繁多,SNMP支持不全,部分设备不支持。本发明实施例中,将SNMP代理运行在EMS侧,通过EMS提供的RPC接口采集全网设备数据,将设备数据汇总后以SNMP协议提供给上层客户端应用。根据配置文件动态的生成和管理MIB节点的管理对象,无需重复开发快速满足不同用户的需求。同时,还可支持灵活的数据分表策略,为SNMP北向接口查询大配置告警性能数据超时问题提供解决方案。
一些实施例中,S100中对EMS数据进行逻辑分层之前还可先对EMS数据进行数据分类,进行数据分类后,S100包括步骤:
S110:将数据分类后的EMS数据类型划分为一级MIB管理对象;
S120:针对每个EMS数据类型,其包含的资源对象划分为对应的二级MIB管理对象,并将对应资源对象能采集的数据集合划分为对应的三级MIB管理对象。
进一步地,S200根据逻辑分层的情况在配置文件中添加对应的条目,其中,
添加一级MIB管理对象条目时,将MIB起始节点下的子节点作为一级MIB节点,且根据所述一级MIB节点的序号以及其父节点的名称确定一级MIB管理对象的OID,并结合对应EMS数据类型的名称配置所述一级MIB管理对象条目;
添加二级MIB管理对象条目时,将所述一级MIB节点下的子节点作为二级MIB节点,且根据所述二级MIB节点的序号以及其父节点的OID确定二级MIB管理对象的OID,并结合对应的资源对象名称配置所述二级MIB管理对象条目;
添加三级MIB管理对象条目时,将所述二级MIB节点的子节点作为三级MIB节点,且根据所述二级MIB节点的序号以及其父节点的OID确定三级MIB管理对象的OID,并结合对应的资源对象所能采集的不同数据集合的名词以及各数据集合对应的特征项配置所述三级MIB管理对象条目。
一些实施例中,S300包括步骤:
S310:加载所述配置文件,解析并缓存所述一级MIB管理对象结构、二级MIB管理对象结构以及三级MIB库管理对象结构;
S320:根据一级MIB管理对象数量动态构建数据查询器,所述数据查询器用于从EMS提供的RPC接口同步全网数据;
S330:根据二级MIB管理对象数量动态创建数据处理器,基于MIBTable类实现所述数据处理器的数据更新方式,所述数据更新方式用于根据配置文件中的条目信息将所述同步的全网数据更新到对应的MIB节点。
需要说明的是,S310中解析配置文件时,各级MIB管理对象结构是指各配置条目的程序模型结构。S330中所有这些处理器类都是继承自Agent++提供的MIBTable类,需要重载update方法,并且持有一个私有的OID成员变量,该OID成员变量的值来自于二级MIB配置条目,update方法需要响应该OID及其叶子结点OID的操作。
进一步地,启动所述SNMP代理后,启动客户端监听并根据客户端需求从EMS查询网络数据;并基于所述查询的网络数据动态更新所述数据处理器并基于更新后的数据处理器实现MIB库更新。
可以理解的是,根据配置文件中二级条目配置数量实例化同等数量的数据处理器,每个数据处理器处理的OID不同。通过客户端需求(请求报文)的OID,分派到处理该OID的数据处理器,数据处理器将查询到的数据加工处理后存入MIB库,达到MIB库存储数据更新的效果。
一些实施例中,在启动客户端监听前,还包括:
对所述配置文件进行编译和解析,并基于其中的MIB节点信息生成MIB协议文件;
所述MIB协议文件用于满足客户端与SNMP代理之间的交互。
需要说明的是,MIB协议文件是客户端与SNMP代理服务之间交互的协议,客户端根据代理服务提供的MIB协议文件对其中的管理节点OID来进行请求。
本发明实施例中,编写工具编译该配置文件,解析MIB关键信息,生成标准MIB协议文件,提供给用户,用于测试或者客户端编码实现参考,替代人工编写MIB过程,简化根据客户端需求进行配置的过程。
一些实施例中,根据所述客户端需求,若需要查询新的资源对象下的数据集合,则在配置文件中增加与所述新的资源对象对应的二级MIB管理对象条目,并将所述新的资源对象下的数据集合作为所述对应的二级MIB管理对象下的三级MIB管理对象在配置文件中添加对应条目。
本发明实施例中,对于资源对象或其对应的数据集合的增减需求,只需修改配置文件,重新生成MIB,无需开发编码实现。
一些实施例中,根据所述客户端需求,若需要查询一种资源对象下新的数据集合,则在配置文件中对所述一种资源对象的二级MIB管理对象条目下增加与所述新的数据集合对应的三级MIB管理对象条目。
一些实施例中,根据所述客户端需求,若需要查询一种新的数据类型下任一资源对象的数据集合,则根据新的数据类型在配置文件中添加对应的一级MIB管理对象条目、二级MIB管理对象条目和三级MIB管理对象条目,并根据新的数据类型对应的数据属性确定对应的特征项。
一个具体的实施例中,本发明实施例提供的基于SNMP代理动态采集EMS数据的方法应用于采集EMS中的设备性能数据,涉及EMS系统、北向接口SNMP代理系统,EMS系统设备性能服务模块向代理系统提供RPC数据查询服务。EMS系统用网元、机架、机框、槽位使单板具有唯一标识。
首先,采用如图2所示的MIB表结构,从节点X的子节点1开始进行一级MIB管理对象配置:
首先,生成一级MIB管理对象的OID,其由父节点X与当前子节点1组合得到X.1;
然后,在配置文件中增加一级MIB管理对象条目,<MIBOID=“X.1”name=“PM”></MIB>;
需要说明的是,MIB是配置文件一级配置的xml标签项,说明此项配置是用于一级数据分类,PM是对分类的数据描述说明,此处表示该一级配置项对应的OID及子节点管理的都是EMS系统的设备性能数据。
在一个具体的实施例中,EMS系统采集所有管理设备的板卡的性能数据,将所有单盘所共有的性能数据进行编码为数字类型(后简称为性能码)并归类统一管理,且性能码文件由EMS提供给SNMP代理系统。
参照如图3所示的MIB表结构,从节点X.1的子节点1进行二级MIB管理对象配置:
首先,生成二级MIB管理对象的OID,其由父节点X.1与当前子节点组合得到X.1.1;
在配置文件中增加二级MIB管理对象条目,<MIBTableOID=“X.1.1”name=“CardPmEntry”></MIBTable>,且该二级条目应该被嵌套在一级条目中。
参照如图4所示的MIB表结构进行三级MIB管理对象配置,将EMS管理单板标识的网元、机架、机框、槽位都做为三级MIB管理对象的索引列,参照如图4所示的三级MIB表结构依次在二级MIB管理对象条目中嵌入三级MIB管理对象条目:
<colid=“1”name=“ne”syntax=“OCTETSTRING”max_access=“read-only”keyindex=“true”>
<colid=“2”name=“rack”syntax=“INTEGER”max_access=“read-only”keyindex=“true”>
<colid=“3”name=“shelf”syntax=“INTEGER”max_access=“read-only”keyindex=“true”>
<colid=“4”name=“slot”syntax=“INTEGER”max_access=“read-only”keyindex=“true”>;
继续配置三级MIB管理对象中的待采集数据集合的特征项:
<colid=“5”name=“temperature”syntax=“OCTETSTRING”max_access=“read-only”keyindex=“false”code=“456,789,122”unit=“℃”>,其中,code为特征项,其可对应多个数据源编码,前面一个未取到数据则取下一个,可以兼容不同性能数据实现。可以理解的是,本实施例中的特征项为EMS系统上所有可以表示板卡温度性能的性能码,通过这些性能码可以从EMS系统上查询到具体的温度性能数据。
需要说明的是三级MIB管理对象条目包括用于管理信息结构(SMI)的配置项,syntax表示管理节点对应数据的类型,OCTETSTRING表示字符串类型的数据,max_access配置管理节点的操作权限,read-only表示数据只读权限。keyindex配置三级MIB管理对象条目是否是数据表索引列,true表示是索引列,用于生成表的索引。
在一个具体的实施例中,要采集单板的内存使用率和CPU使用率,在资源对象CardPmEntry对应的二级MIB管理对象条目中依次添加三级MIB管理对象条目:
<colid=“6”name=“memUtilization”syntax=“OCTETSTRING”max_access=“read-only”keyindex=“false”code=“3208”unit=“%”>
<colid=”7”name=“cpuUtilization”syntax=“OCTETSTRING”max_access=“read-only”keyindex=“false”code=“3206”unit=“%”>。
在一个具体的实施例中,EMS系统采集所有管理设备的物理光口的一些性能数据,将所有单盘所共有的性能数据进行编码为数字类型(性能码)归类统一管理,此性能码文件由EMS提供给代理系统。参照如图3所示MIB表结构进行二级MIB管理对象配置,在配置文件增加二级MIB管理对象条目:
<MIBTableOID=“X.1.2”name=“TpPmEntry”></MIBTable>,该二级MIB管理对象条目应该被嵌套在一级MIB管理对象条目中。
参照如图4所示MIB表结构进行三级MIB管理对象配置,此处将EMS管理物理端口标识的网元、机架、机框、槽位、端口名(号)都做为三级MIB管理对象的索引列,依次在二级条目中嵌入三级条目:
<colid=“1”name=“ne”syntax=“OCTETSTRING”max_access=“read-only”keyindex=“true”>
<colid=“2”name=“rack”syntax=“INTEGER”max_access=“read-only”keyindex=“true”>
<colid=“3”name=“shelf”syntax=“INTEGER”max_access=“read-only”keyindex=“true”>
<colid=“4”name=“slot”syntax=“INTEGER”max_access=“read-only”keyindex=“true”>;
下一步配置三级MIB管理对象中待采集数据的特征项,如物理端口发光功率和接收光功率
<colid=“6”name=“txpower”syntax=“OCTETSTRING”max_access=“read-only”keyindex=“false”code=“8018”unit=“dB”>
<colid=“7”name=“txpower”syntax=“OCTETSTRING”max_access=“read-only”keyindex=“false”code=“8019”unit=“dB”>
在完成MIB管理对象分类及配置后,启动SNMP代理服务程序,包括:
加载配置文件,解析并缓存一级MIB管理对象结构、二级MIB管理对象结构、三级MIB管理对象结构;
根据一级MIB管理对象数量动态构建数据查询器,其负责通过RPC从EMS同步网络数据;
根据二级MIB管理对象数量动态创建数据处理器,所有这些处理器类都是继承自Agent++提供的MIBTable类,需要重载update方法,并且持有一个私有的OID成员变量,该OID成员变量的值来自于二级MIB配置条目,update方法需要响应该OID及其叶子结点OID的操作;
将数据处理器注册到Agent++后完成服务启动。
另一方面,代理进程通过Agent++开启对客户端的监听,包括:
代理进程收到上层SNMP客户端的请求;
代理根据请求的OID分发到对应的数据处理器进行数据更新;
数据处理器启动update过程,且update过程包括:
数据处理器查找持有的OID包含的三级MIB管理对象;
数据处理地查找持有的OID的父OID的数据查询器;
数据处理器将三级MIB管理对象的特征项(code信息)传递给数据查询器;
数据查询器根据code信息通过RPC向EMS网管系统请求数据;
数据处理器接收数据查询器查到的数据集合;
数据处理器将数据集合按照二级MIB管理对象的颗粒进行分组管理,并以<管理对象,数据集合>格式排序后存入容器中,而数据集合本身也是一个放着该对象所有数据的容器。
数据处理器遍历<管理对象,数据集合>二维容器,记录管理对象在容器中的顺序index,将管理对象展开到三级管理对象的索引列,并在对应列添加叶子结点,该叶子结点的OID由三级管理对象的索引列OID与index组合得到,将对应索引的数据存入该OID。以code为线索将该对象的数据集合展开到三级MIB管理对象的特征数据列,并在对应的列添加叶子结点,该叶子节点的OID由三级管理对象的特征数据列的OID与index组合得到,将对应采集的特征数据存入该OID。容器遍历完成即所有的数据缓存到了MIB库。
可以理解的是,容器中的管理对象指的是EMS系统中的管理资源对象(如网元/板卡/端口/光口/业务等,通常是端口),从该管理对象可以展开得到索引列需要的数据(如网元名称,机架编号,端口编号等)。二级条目包含多个三级条目,三级条目都是<col>标签,col配置中keyindex="true"的表示索引列,keyindex="false"的表示特征数据列。
本实施例中,在数据处理器中完成了四级MIB库管理的动态扩展,每个三级MIB库管理对象的叶子结点数量取决于数据查询器从EMS查到的数据的数量。
可以理解的是,SNMP客户端对代理提供的三级MIB管理对象的OID进行snmpbulkget等标准SNMP查询命令就可以得到所有采集到的EMS数据,然后把各三级MIB库管理对象的OID都查询完,可以还原成<管理对象,数据集合>分组后的数据,客户端可以在此基础上进行数据应用。
在上述实施例中,如果要采集一种端口对象的一个新的性能项,只需要在对应的二级MIB管理对象条目下添加对应一条与此性能项对应的三级MIB管理对象条目,重启代理程序就可以快速支持。如果要采集一种不同的逻辑端口对象的所特有的性能项,只需要增加对应的二级MIB管理对象,并将该类对象所特有的性能项作为该二级MIB管理对象的三级MIB库管理对象,重启代理程序就可以快速支持。
在另一个实施例中,本发明实施例提供的基于SNMP代理动态采集EMS数据的方法具体应用于采集EMS中的告警数据。涉及EMS系统、北向接口SNMP代理系统,EMS系统设备性能服务模块向代理系统提供RPC数据查询服务。又通常情况下,EMS都会用网元、机架、机框、槽位来使单板具有唯一标识。
首先参照图1所示MIB表结构进行一级MIB管理对象配置:
首先,生成一级MIB管理对象的OID,由父节点X与当前子节点组合得到X.2;
在配置文件增加一级MIB管理对象条目:<MIBOID=“X.2”name=“AM”></MIB>,其中,OID基于上一步分类得到,AM则表示管理的都是EMS系统的设备告警数据。
后面的步骤在该一级MIB管理对象条目下进行设置,具体每一级MIB管理对象条目的对应的设置方法相同,例如二级MIB管理对象可以按照网元、单盘、端口的粒度进行划分。与前述实施例的不同之处在于特征项需要根据EMS网管系统管理的告警码进行配置。进行数据查询时查询器负责查询EMS网管系统告警数据。
需要说明的是,上述实施例中二级MIB管理对象划分只是示例,并不是全部。也可以按照逻辑层次划分,比如端口也可以划分到ODUk逻辑端口、OTUk逻辑端口、以太网逻辑端口等,一般在EMS上管理的具备唯一索引的对象都可以配置为不同二级MIB管理对象,而EMS系统管理的一种对象的数据全集可以划分为不同的子集并配置为不同的三级MIB管理对象的特征项。
另外需要说明的是,上述实施例中所列的性能码、告警码或者其他的数据码都应该来自于EMS,本发明实施例中未列出全部,只列举了一种将EMS数据类型进行数字编码分类的方法,各厂商EMS可以有自己的编码分类管理方法,只要将该规则映射到配置文件中,本发明实施例提供的方法同样适用。
在上述实施例中,如果要采集一种端口对象的一个新的告警项,只需要在对应的二级MIB管理对象下添加对应一条与此告警项对应的三级MIB管理对象条目,重启代理程序就可以快速支持。如果要采集一种不同的逻辑端口对象的所特有的告警项,只需要增加对应的二级MIB管理对象,并将该类对象所特有的告警项作为该二级MIB管理对象的三级MIB管理对象,重启代理程序就可以快速支持。
另外需要说明的是,厂商EMS网管系统可按资源对象进行分类管理的数据集合,同样通过扩展一级MIB管理对象条目(如图6中i节点),接着按资源对象类型配置二级MIB管理对象(如图6中j节点),进一步将资源管理对象的索引信息配置到三级MIB管理对象的索引列,进一步将数据集合配置到三级MIB管理对象的特征数据列(如图6中k节点),由代理程序提供一个该类数据查询器从EMS系统查询数据集合,接着由该二级MIB管理对象动态构建的数据处理器进行分组后按顺序动态生成四级MIB管理对象(如图6中n节点),并将数据加载到MIB库中。如图6所示,一级MIB库管理对象节点、二级MIB库管理对象节点、三级MIB库管理对象节点都可以动态配置,可以只配置其中的一级管理对象节点,也可以同时配置多级管理对象节点,应根据具体的应用场景,将各级配置灵活的组合运用。
还需要说明的是,上述灵活的分表策略对处理大配置网络的数据时,分表的颗粒越小,可并行的二级MIB库管理对象数据处理器就越多,将EMS网管的大量数据分开查询,支持客户端利用并发技术查询不同管理对象的数据以提高数据的查询和传输效率。另外,在数据处理器中加入定时器控制,可以灵活的控制各种数据在MIB库中的更新频率。对不改变的数据不刷新或少刷新也因分表管理而变得容易控制。
如图7所示,本发明着重提供一个方便扩展的SNMP远程代理技术方案,其中表1,表2,表n对应多个二级配置条目,各自的OID分别对应为OID1、OID2、OIDn,各表都可有1至n个索引列和1至n个指标数据列,分别对应配置文件中三级配置中的索引列和特征数据列。通过网管系统向SNMP远程代理提供RPC服务,把设备告警、性能数据、MIB协议信息提取成配置项,采用不同配置,动态的生成和管理MIB,无需重复开发快速满足不同用户的需求。支持灵活的数据分表策略,为SNMP北向接口查询大配置数据超时问题提供解决方案。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机可读存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
需要说明的是,在本发明中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基于SNMP代理动态采集EMS数据的方法,其特征在于,其包括步骤:
对EMS数据进行数据分类;
对EMS数据进行逻辑分层并将不同层级的逻辑对象划分为不同级别MIB节点的管理对象;
设置配置文件使其包含各MIB节点的管理对象的索引信息以及用于使EMS识别所述逻辑对象采集的数据集合的特征项;
SNMP代理根据所述配置文件的特征项从EMS查询数据集合并根据查询到的数据集合和对应的索引信息更新MIB库;
所述对EMS数据进行逻辑分层并将不同层级的逻辑对象划分为不同级别MIB节点的管理对象,包括步骤:
将数据分类后的EMS数据类型划分为一级MIB管理对象;
针对每个EMS数据类型,其包含的资源对象划分为对应的二级MIB管理对象,并将对应资源对象能采集的数据集合划分为对应的三级MIB管理对象;
所述设置配置文件使其包含各MIB节点的管理对象的索引信息以及用于使EMS识别所述逻辑对象采集的数据集合的特征项,包括步骤:
根据所述逻辑分层的情况在配置文件中添加对应的条目,其中,
添加一级MIB管理对象条目时,将MIB起始节点下的子节点作为一级MIB节点,且根据所述一级MIB节点的序号以及其父节点的名称确定一级MIB管理对象的OID,并结合对应EMS数据类型的名称配置所述一级MIB管理对象条目;
添加二级MIB管理对象条目时,将所述一级MIB节点下的子节点作为二级MIB节点,且根据所述二级MIB节点的序号以及其父节点的OID确定二级MIB管理对象的OID,并结合对应的资源对象名称配置所述二级MIB管理对象条目;
添加三级MIB管理对象条目时,将所述二级MIB节点的子节点作为三级MIB节点,且根据所述二级MIB节点的序号以及其父节点的OID确定三级MIB管理对象的OID,并结合对应的资源对象所能采集的不同数据集合的名词以及各数据集合对应的特征项配置所述三级MIB管理对象条目。
2.如权利要求1所述的基于SNMP代理动态采集EMS数据的方法,其特征在于,所述SNMP代理根据所述配置文件的特征项从EMS查询数据集合并根据查询到的数据集合和对应的索引信息更新MIB库,包括步骤:
启动SNMP代理并加载所述配置文件,解析并缓存所述一级MIB管理对象结构、二级MIB管理对象结构以及三级MIB库管理对象结构;
根据一级MIB管理对象数量动态构建数据查询器,所述数据查询器用于从EMS提供的RPC接口同步全网数据;
根据二级MIB管理对象数量动态创建数据处理器,基于MibTable类实现所述数据处理器的数据更新方式,且所述数据更新方式用于根据配置文件中的条目信息将所述同步的全网数据更新到对应的MIB节点。
3.如权利要求2所述的基于SNMP代理动态采集EMS数据的方法,其特征在于,所述启动SNMP代理后,还包括步骤:
启动客户端监听并根据客户端需求从EMS查询网络数据;
基于从EMS查询到的网络数据动态更新所述数据处理器并基于更新后的数据处理器实现MIB库更新。
4.如权利要求3所述的基于SNMP代理动态采集EMS数据的方法,其特征在于,在启动客户端监听前,还包括:
对所述配置文件进行编译和解析,并基于其中的MIB节点信息生成MIB协议文件;
所述MIB协议文件用于满足客户端与SNMP代理之间的交互。
5.如权利要求3所述的基于SNMP代理动态采集EMS数据的方法,其特征在于,所述根据客户端需求从EMS查询网络数据之后,具体包括:
根据所述客户端需求,若需要查询新的资源对象下的数据集合,则在配置文件中增加与所述新的资源对象对应的二级MIB管理对象条目;
将所述新的资源对象下的数据集合作为所述对应的二级MIB管理对象下的三级MIB管理对象在配置文件中添加对应条目。
6.如权利要求3所述的基于SNMP代理动态采集EMS数据的方法,其特征在于,所述根据客户端需求从EMS查询网络数据之后,还包括:
根据所述客户端需求,若需要查询一种资源对象下新的数据集合,则
在配置文件中对所述一种资源对象的二级MIB管理对象条目下增加与所述新的数据集合对应的三级MIB管理对象条目。
7.如权利要求3所述的基于SNMP代理动态采集EMS数据的方法,其特征在于,所述根据客户端需求从EMS查询网络数据之后,还包括:
根据所述客户端需求,若需要查询一种新的数据类型下任一资源对象的数据集合,则
根据新的数据类型在配置文件中添加对应的一级MIB管理对象条目、二级MIB管理对象条目和三级MIB管理对象条目,并根据新的数据类型对应的数据属性确定对应的特征项。
8.一种设备,其特征在于,所述设备包括:至少一个处理器;以及与所述至少一个处理器耦合的存储器,所述存储器包含有存储于其中的指令,所述指令在被所述处理器加载并执行,以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210947041.6A CN115442201B (zh) | 2022-08-09 | 2022-08-09 | 一种基于snmp代理动态采集ems数据的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210947041.6A CN115442201B (zh) | 2022-08-09 | 2022-08-09 | 一种基于snmp代理动态采集ems数据的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115442201A CN115442201A (zh) | 2022-12-06 |
CN115442201B true CN115442201B (zh) | 2023-06-23 |
Family
ID=84242179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210947041.6A Active CN115442201B (zh) | 2022-08-09 | 2022-08-09 | 一种基于snmp代理动态采集ems数据的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442201B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118245139B (zh) * | 2024-05-30 | 2024-08-09 | 北京基调网络股份有限公司 | 探针处理方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5913037A (en) * | 1996-07-03 | 1999-06-15 | Compaq Computer Corporation | Dynamic management information base manager |
CN101112047A (zh) * | 2005-02-03 | 2008-01-23 | 英特尔公司 | 用于移动宽带无线网络的网络管理软件体系结构的方法和系统 |
CN108616385A (zh) * | 2018-03-29 | 2018-10-02 | 烽火通信科技股份有限公司 | 简单网管协议代理的查询方法、mib树的遍历方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7099931B2 (en) * | 2002-12-19 | 2006-08-29 | International Business Machines Corporation | Method of automatically generating an SNMP management information base from extension-enabled management agents |
KR100748701B1 (ko) * | 2006-09-05 | 2007-08-13 | 삼성전자주식회사 | Snmp를 사용하는 네트워크 장비 관리 시스템 및 그방법 |
CN100499498C (zh) * | 2006-09-30 | 2009-06-10 | 华为技术有限公司 | 一种实现mib适配的装置、系统及方法 |
CN101035133B (zh) * | 2007-04-09 | 2010-04-21 | 华为技术有限公司 | 网络管理的方法、系统及设备 |
US8495169B2 (en) * | 2008-09-22 | 2013-07-23 | Hewlett-Packard Development Company, L.P. | Method and system for managing a hierarchical information base with an application layer protocol |
CN101815012B (zh) * | 2009-02-20 | 2012-04-04 | 中兴通讯股份有限公司 | 一种性能数据的采集方法及装置 |
CN107508713B (zh) * | 2017-09-21 | 2020-07-14 | 烽火通信科技股份有限公司 | Nms mib与网元私有mib映射实现网元管理的系统及方法 |
CN112436964B (zh) * | 2020-11-12 | 2022-08-26 | 中国联合网络通信集团有限公司 | 一种设备适配方法及网络管理装置 |
CN114244677B (zh) * | 2021-11-29 | 2023-08-04 | 广东九博科技股份有限公司 | Snmp报文解析方法、可读存储介质及计算机设备 |
-
2022
- 2022-08-09 CN CN202210947041.6A patent/CN115442201B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5913037A (en) * | 1996-07-03 | 1999-06-15 | Compaq Computer Corporation | Dynamic management information base manager |
CN101112047A (zh) * | 2005-02-03 | 2008-01-23 | 英特尔公司 | 用于移动宽带无线网络的网络管理软件体系结构的方法和系统 |
CN108616385A (zh) * | 2018-03-29 | 2018-10-02 | 烽火通信科技股份有限公司 | 简单网管协议代理的查询方法、mib树的遍历方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115442201A (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228817B (zh) | 数据处理方法、装置和系统 | |
US9747362B2 (en) | Data center capability summarization | |
CN110636093B (zh) | 微服务注册和发现方法、设备、存储介质以及微服务系统 | |
CN100544282C (zh) | 一种故障关联分析系统以及方法 | |
CN107784044B (zh) | 表数据查询方法及装置 | |
US20030101240A1 (en) | System and method for generating a representation of a configuration schema | |
US20070130192A1 (en) | Method and system for configuring network devices through an operations support system interface | |
EP1589691B1 (en) | Method, system and apparatus for managing computer identity | |
US8589589B2 (en) | Method and system for creating an overlay structure for management information bases | |
JP2009545072A (ja) | 階層に編成され、ネットワークを介してリンクされた複数のノードに保管された複製データを更新するための方法およびコンピュータ可読媒体(分散アプリケーションにおいて複製オーバヘッドと整合性レベルを最適にトレードオフするためのシステムおよび装置) | |
US9281992B2 (en) | Method and system for identifying storage device | |
CN105786950A (zh) | 一种处理数据的方法及装置 | |
CN115442201B (zh) | 一种基于snmp代理动态采集ems数据的方法及设备 | |
CN113037771B (zh) | 设备影子的控制方法及装置、存储介质、电子设备 | |
CN111107450A (zh) | 一种实现olt切片的方法及装置 | |
US9501548B2 (en) | Data updating method, system and device | |
CN113572630B (zh) | 网络配置信息的生成方法、装置、电子设备、介质和产品 | |
US8954445B2 (en) | System and method for efficiently representing and managing a computer facility | |
US20060041578A1 (en) | Set based data store | |
Suganya et al. | Efficient fragmentation and allocation in distributed databases | |
CN111064643A (zh) | 一种节点服务器及其数据交互方法和相关装置 | |
WO2021218503A1 (zh) | 更新站点配置数据的方法及装置、电子设备 | |
CN109391489B (zh) | 一种网元配置数据的存储处理方法及装置 | |
CN109586974B (zh) | 一种自动适配管理不同局端设备olt的方法 | |
CN111858956A (zh) | 知识图谱构建方法、装置、网络设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |