一种动态监控网络设备性能指标的方法与流程

文档序号:25811689发布日期:2021-07-09 13:35阅读:204来源:国知局
一种动态监控网络设备性能指标的方法与流程

1.本发明涉及网络管理技术领域,具体而言,涉及一种动态监控网络设备性能指标的方法。


背景技术:

2.一台网络设备的通信必然经过网卡,一台机器上通常拥有很多网卡。其中,内存利用率、cpu利用率这类指标,是基于网络设备的网络通信类指标;而针对累计发送字节数这样的网络通信类指标,由于通信经过网卡,所以每个网卡接口的累计发送字节数就不会一样,因此这类指标是基于接口的。在网络通信领域,有很多种方式可以监控一台设备的这些参数,比如通过抓包分析,可以分析流量、比特率、重传率等指标。但是如果需要的指标较为简单,且精度不那么高,snmp也是一个选择。
3.snmp(simple network management protocol)为简单网络管理协议,当被管理设备上运行着snmp服务时,用户可以通过snmp协议获取被管理设备的一些网络参数。snmp协议通过mib管理网络设备,而根据ietf的定义,又将mib分为公有mib和私有mib。
4.(1)公有mib:一般由rfc定义,主要用来对各种公有协议进行结构化设计和接口标准化处理。例如:ospf

mib(rfc1850)/bgp4

mib(rfc1657)都是典型的公有mib。大多数的设备制造商都需要按照rfc的定义来提供snmp接口。
5.(2)私有mib:是公有mib的必要补充,当公司自行开发私有协议或者特有功能时,可以利用私有mib来完善snmp接口的管理功能,同时对第三方网管软件管理存在私有协议或特有功能的设备提供支持。
6.mib树结构如图1所示,以“1.3.6.1.4.1”开头的就表示企业定制的oid。企业自定义oid的方式为,在snmpd.conf(snmpd.conf是snmp的核心文件)里加入一行如图2所示方框内的代码,就可以将自定义oid绑定上一个脚本文件,达到自定义的目的。这种方式本身是ietf推崇的,“1.3.6.1.4.1”后面oid树本就是为了留给企业自己扩展用的,但是还是有如下缺点:
7.(1)涉及到对配置文件的修改,侵入性较强;
8.(2)要求配置人员会编写.sh脚本文件,提高了配置的难度;
9.(3)集群下,每台设备都需要这么修改一遍,除非是厂商集成的;
10.如果想要扩展的oid完全不基于已有指标,这种方式虽然有些弊端,但是也能接受。而如果只是想简单地基于已有的oid指标,实现一些自定义的oid。比如比特率指标,表示每秒的比特数,而snmp的基础指标提供了累计发送字节数,我们不难发现,可以经过多次运算,由累计发送字节数计算出比特率的值。这种情况下,就没必要编写sh脚本了。所以,需要找到一种方式,通过一台中心(web平台),基于已有oid指标,快速配置一些oid指标,用于监控网络设备,以达到监控各种自定义指标的效果。


技术实现要素:

11.本发明旨在提供一种动态监控网络设备性能指标的方法,以达到监控各种自定义指标的效果。
12.本发明提供的一种动态监控网络设备性能指标的方法,包括如下步骤:
13.步骤s1,配置被监控的snmp网络设备,以及关联到所述snmp网络设备的snmp查询指标和计算指标;所述snmp查询指标的关键属性包括用于snmp协议查询的oid以及值位数;所述计算指标的关键属性包括计算函数和关联指标,所述关联指标为snmp查询指标或其他计算指标;
14.步骤s2,获取snmp查询指标的值,并根据计算指标的计算函数和关联指标对获取的snmp查询指标的值进行运算得到计算指标的值。
15.进一步的,所述计算指标的计算函数包括差值计算函数、相乘计算函数和相除计算函数。
16.进一步的,所述snmp网络设备设置有轮询时间,在步骤s2中获取snmp查询指标的累计值的方法为:配置定时轮询任务,以所述snmp网络设备设置的轮询时间定时获取snmp查询指标的累计值。
17.进一步的,步骤s2包括如下子步骤:
18.步骤s21,本次轮询获取的snmp查询指标的值存入集合map

a;
19.步骤s22,上次轮询获取的snmp查询指标的值存入集合map

b;
20.步骤s23,遍历所述snmp网络设备关联的计算指标的集合c;
21.步骤s24,对遍历到的单个计算指标,识别其关联指标x;
22.步骤s25,判断集合map

a中是否包含关联指标x的值:
23.(1)若集合map

a中包含关联指标x的值,则直接返回对应的值;
24.(2)若集合map

a中不包含关联指标x的值,则执行步骤s26;
25.步骤s26,判断该关联指标x的类型:
26.(1)若该关联指标x为snmp查询指标,则直接返回0;
27.(2)若该关联指标x为计算指标,则对该关联指标x递归执行步骤s24~s36;
28.步骤s27,判断遍历到的单个计算指标的计算函数:
29.(1)若为差值计算函数,则对所述snmp网络设备关联的snmp查询指标分别从集合map

a和集合map

b中取出本次轮询的值n和上次轮询的值m,并按照差值计算函数的流程进行差值运算;
30.(2)若为相乘计算函数或相除计算函数,则对所述snmp网络设备关联的snmp查询指标从集合map

a中取出本次轮询的值并进行相乘或相除;
31.步骤s28,经单个计算指标的计算函数的运算结果存入集合map

a。
32.进一步的,步骤s27中所述差值计算函数的流程如下:
33.步骤s271,判断从map

b中取出上次轮询的值m是否为0或空:
34.(1)若从map

b中取出上次轮询的值m为0或空,表示刚开始定时轮询任务,则返回差值结果为0;
35.(2)若从map

b中取出上次轮询的值m不为0或空,则执行步骤s272;
36.步骤s272,判断本次轮询的值n是否大于上次轮询的值m:
37.(1)若本次轮询的值n大于上次轮询的值m,则返回差值结果为n

m;
38.(2)若本次轮询的值不大于上次轮询的值,读取所述snmp网络设备关联的snmp查询指标的oid值位数k,则返回差值结果为2<<k
‑1‑
m+n。
39.进一步的,步骤s23中遍历所述snmp网络设备关联的计算指标的集合c的方法为:
40.步骤s231,准备一个集合d,用于存储遍历过的计算指标;
41.步骤s232,每个计算指标都具有唯一id,当遍历集合c时,判断拿到的单个计算指标的id是否在集合d中:
42.(1)如果拿到的单个计算指标的id在集合d中,表示该计算指标已遍历过,则继续遍历下一个计算指标;
43.(2)如果拿到的单个计算指标的id不在集合d中,将拿到的计算指标的id加入集合d,并对该计算指标执行步骤s24。
44.进一步的,每个计算指标的关联指标不超过2个。
45.综上所述,由于采用了上述技术方案,本发明的有益效果是,本发明可监控各种自定义指标,并且具有如下特点:
46.(1)可扩展性:如果需要增加自定义计算指标,只需要配置它的计算函数和关联指标,系统就会自动算出自定义计算指标的值并入库。全程都是配置形式,不需要去被监控的网络设备上修改配置文件。
47.(2)跨平台:只要被监控的网络设备支持snmp协议,本发明就可以动态扩展很多计算指标,不用考虑该网络设备是交换机还是路由器,配置文件在哪儿,脚本怎么编写的问题。
48.(3)交互友好:相比于自定义脚本的方式,本发明全程计算过程透明,用户自己可配置,不需要依赖专业人员编写脚本,交互很友好。
附图说明
49.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
50.图1为mib树结构示意图。
51.图2为在snmpd.conf文件中绑定自定义脚本的示例展示图。
52.图3为本发明实施例的动态监控网络设备性能指标的方法的流程图。
53.图4为本发明实施例的snmp查询指标和计算指标的关键属性示意图。
54.图5为本发明实施例的动态监控网络设备性能指标的方法中步骤s2的流程图。
55.图6为本发明实施例的差值计算函数流程图。
具体实施方式
56.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施
例的组件可以以各种不同的配置来布置和设计。
57.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
58.实施例
59.本实施例的实现思路为:基于已有的snmp查询指标,定义带有计算函数的计算指标,以便根据snmp查询指标取到的值运算出计算指标的值,通过snmp查询指标和计算指标的多次组合,就可以达到动态监控网络设备性能指标的目的。由此参见图3,本实施例提出一种动态监控网络设备性能指标的方法,包括如下步骤:
60.步骤s1,配置被监控的snmp网络设备(配置其snmp必须的属性,如snmp版本、community等信息),以及关联到所述snmp网络设备的snmp查询指标和计算指标;所述snmp查询指标的关键属性包括用于snmp协议查询的oid以及值位数;所述计算指标的关键属性包括计算函数和关联指标,所述关联指标为snmp查询指标或其他计算指标;
61.具体参见图4,所述snmp查询指标的关键属性包括:
62.(1)指标id;
63.(2)指标名称;
64.(3)oid;
65.(4)snmp协议中的请求方式(get/walk);
66.(5)值位数;
67.(6)保留小数位;
68.(7)单位。
69.所述计算指标的关键属性包括:
70.(1)指标id;
71.(2)指标名称;
72.(3)计算函数;
73.(4)snmp协议中的请求方式(get/walk);
74.(5)关联指标;
75.(6)保留小数位;
76.(7)单位。
77.需要说明的是:
78.(1)snmp查询指标的oid是用于snmp协议查询的oid,snmp协议需要;
79.(2)snmp查询指标的值位数是指oid分为32位和64位的oid,该值位数的关键属性用于区分两者,用于后续差值计算函数流程;
80.(3)计算指标的计算函数包括差值计算函数、相乘计算函数和相除计算函数;
81.(4)计算指标的关联指标为snmp查询指标或其他计算指标;也即是说,计算指标可以关联snmp查询指标,也可以关联其他计算指标(即计算指标的结果可以再次参与其他计算指标的计算);
82.(5)为了计算指标的结果都可以被二次利用,本实施例规定不支持多元运算,即每
个计算指标的关联指标不超过2个,如果有需要多次运算的,可与通过多配置几个计算指标实现;
83.(6)snmp查询指标和计算指标要保留小数位,如相乘计算函数和相除计算函数的结果小数点后位数很多,通过统一保留小数位,便于存储入库。
84.(7)snmp查询指标和计算指标的单位是为了显示使用,如配置“比特率”的计算指标,其单位可以配置为“位/秒”。
85.步骤s2,获取snmp查询指标的值,并根据计算指标的计算函数和关联指标对获取的snmp查询指标的值进行运算得到计算指标的值。
86.本实施例中,所述snmp网络设备设置有轮询时间,在步骤s2中获取snmp查询指标的累计值的方法为:配置定时轮询任务,以所述snmp网络设备设置的轮询时间定时获取snmp查询指标的累计值。由此参见图5,步骤s2包括如下子步骤:
87.步骤s21,本次轮询获取的snmp查询指标的值存入集合map

a;
88.步骤s22,上次轮询获取的snmp查询指标的值存入集合map

b;集合map

a和集合map

b中均以key

value形式的数据结构进行存储,即snmp查询指标以及对应的值成对存储;
89.步骤s23,遍历所述snmp网络设备关联的计算指标的集合c;在本实施例中,该步骤s23的方法为:
90.步骤s231,准备一个集合d,用于存储遍历过的计算指标;
91.步骤s232,每个计算指标都具有唯一id,当遍历集合c时,判断拿到的单个计算指标的id是否在集合d中:
92.(1)如果拿到的单个计算指标的id在集合d中,表示该计算指标已遍历过,则继续遍历下一个计算指标;
93.(2)如果拿到的单个计算指标的id不在集合d中,将拿到的计算指标的id加入集合d,并对该计算指标执行步骤s24;
94.步骤s24,对遍历到的单个计算指标,识别其关联指标x;
95.步骤s25,判断集合map

a中是否包含关联指标x的值:
96.(1)若集合map

a中包含关联指标x的值,则直接返回对应的值;
97.(2)若集合map

a中不包含关联指标x的值,则执行步骤s26;
98.步骤s26,判断该关联指标x的类型:
99.(1)若该关联指标x为snmp查询指标,说明该snmp查询指标的值本该存在,则直接返回0;
100.(2)若该关联指标x为计算指标,则对该关联指标x递归执行步骤s24~s36,即把为计算指标的关联指标x再识别其关联指标并做步骤s25和s26的判断;
101.步骤s27,判断遍历到的单个计算指标的计算函数:
102.(1)若为差值计算函数,则对所述snmp网络设备关联的snmp查询指标分别从集合map

a和集合map

b中取出本次轮询的值n和上次轮询的值m,并按照差值计算函数的流程进行差值运算;
103.(2)若为相乘计算函数或相除计算函数,则对所述snmp网络设备关联的snmp查询指标从集合map

a中取出本次轮询的值并进行相乘或相除;
104.步骤s28,经单个计算指标的计算函数的运算结果存入集合map

a。
105.参见图6,所述差值计算函数的流程如下:
106.步骤s271,判断从map

b中取出上次轮询的值m是否为0或空:
107.(1)若从map

b中取出上次轮询的值m为0或空,表示刚开始定时轮询任务,则返回差值结果为0;
108.(2)若从map

b中取出上次轮询的值m不为0或空,则执行步骤s272;
109.步骤s272,判断本次轮询的值n是否大于上次轮询的值m:
110.(1)若本次轮询的值n大于上次轮询的值m,则返回差值结果为n

m;
111.(2)若本次轮询的值不大于上次轮询的值,读取所述snmp网络设备关联的snmp查询指标的oid值位数k,则返回差值结果为2<<k
‑1‑
m+n。其中,2<<k表示数字2向左位移k位,等价于2的k次方,但是前者效率更高。
112.通过上述您内容可知,本发明的动态监控网络设备性能指标的方法可以达到监控各种自定义指标的效果,相比现有通过修改配置文件和自定义脚本的方式,本发明具有如下特点:
113.(1)可扩展性:如果需要增加自定义计算指标,只需要配置它的计算函数和关联指标,系统就会自动算出自定义计算指标的值并入库。全程都是配置形式,不需要去被监控的网络设备上修改配置文件。
114.(2)跨平台:只要被监控的网络设备支持snmp协议,本发明就可以动态扩展很多计算指标,不用考虑该网络设备是交换机还是路由器,配置文件在哪儿,脚本怎么编写的问题。
115.(3)交互友好:相比于自定义脚本的方式,本发明全程计算过程透明,用户自己可配置,不需要依赖专业人员编写脚本,交互很友好。
116.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1