APP下载

基于SNMP的远程设备监控模块的设计

2014-09-01权鹏

新媒体研究 2014年11期
关键词:远程监控

权鹏

摘要随着科技的迅猛发展,各个厂商在其工业生产线上都采用了自动化控制技术,某些生产线还会处在一些比较特殊的环境中,比如高温、极低温、粉尘比较大、震动的环境等。而当设备在生产线上运行的过程中,通过网络在远端对生产线上的设备进行管理就显得尤为重要。SNMP是当前最为流行的网络管理解决方案,文章采用Qt编程技术,同时采用开源软件开发包Net-SNMP,实现基于SNMP的远程设备监控模块,对远程设备的温度、CPU、内存、硬盘等信息进行实时的监控。

关键词设备监控;SNMP;远程监控;MIB

中图分类号:TP319 文献标识码:A 文章编号:1671-7597(2014)11-0019-02

SNMP协议是已经被广泛接受并投入使用的工业标准,它的作用是保证管理及监控信息在代理端和管理端之间进行传送[1],这样非常有利于网管人员对MIB(Management Information Base,管理信息库)[2]中的任何节点进行检索以便查找出所检索节点的信息状况,这样更有利于网络管理员检测设备上的故障;并实时的给出故障诊断,并及时修复故障。它采用的是轮询的机制,提供最基本的功能集。最适合小型,快速,低价格的环境使用。它底层采用的是无证实的传输层协议UDP,目前很多远程设备监控系统都是基于SNMP协议开发实现的。

1SNMP概述

SNMP简单网络管理协议是为网络管理而定义的应用层服务,SNMP协议实际上是网络管理的一系列标准。SNMP简单网络管理协议是基于TCP/IP协议的,SNMP简单网络管理协议工作在传输层之上,与底层的传输机制是完全分离的,SNMP简单网络管理协议采用的模型是“管理端——代理端”的模型来监控和管理各个与互联网连接设备,SNMP简单网络管理协议底层采用的是面向无连接的UDP协议在管理端和代理端之间进行数据的传递。SNMP简单网络管理协议包含一个应用层协议——application layer protocol、数据库模型——database schema和一组资料物件。SNMP简单网络管理协议是Internet工作任务组——IETF定义的internet协议簇的一部分。

2系统需求分析

2.1 功能需求

基于SNMP的远程设备监控系统共分两个部分:

1)代理端,即数据采集模块,通过数据采集部分获取到设备的CPU温度、CPU使用情况、内存使用情况、硬盘使用情况,并通过SNMP协议发送给管理端。

2)管理端,即面向用户的部分,通过Qt[4]设计的UI界面来显示代理端发送来的需要监控的设备的各项参数的状态数据。

2.2 系统性能需求

根据需求分析我们可以归纳系统所应要求的性能:

1)系统响应时间:实时,对远端需要监控的设备的各项参数的状态数据要实时的获取,实时的发送,实时的更新,保证用户可以实时的了解远端设备当前的状态,以便对远端的设备达到有效的监控。

2)系统对网络的要求:该系统在监控远端设备的过程中,必须保证网络一直处于连接状态。

3)系统获取数据的准确性:由于系统对远端的设备在进行实时的监控,那么获取到的远端的设备的各项参数的状态数据就是用户参考的唯一标准,这时保证获取到的数据的准确性就显得尤为重要。

2.3 功能模块需求

1)代理端功能模块需求。代理端在整个远程设备监控系统中担任着一个非常重要的角色,代理端主要完成的任务就是对远程的设备进行监控数据的采集,当管理端向代理端发起请求需要获取监控数据时,代理端便会将所有的数据发送给管理端。在代理端通过安装和配置基于C语言的SNMP协议的开发包Net-SNMP[3]以及硬件监控的开源软件lm_sensors,通过调用Net-SNMP的接口来配置MIB信息库并开启SNMP服务来获取被监控设备的各项参数的状态数据。

2)管理端功能模块需求。管理端是设备监控系统的管理者,主要负责对被监控设备的实时监控,向SNMP代理端发送请求获取设备的实时数据。如果管理端接受到异常的数据,便向管理人员发出报警信息。在管理端安装和配置基于C语言的SNMP协议的开发包Net-SNMP,通过调用接口开启SNMP服务。通过编写Qt程序来获取代理端设备的实时信息,并及时的呈现给管理员,这样管理员就可以对远程设备进行实时的监控了,同时当设备被监控的数据出现异常时就会向管理员报警。

2.4 非功能性需求

1)性能需求。监控系统获得监控数据的准确性以及监控系统的实时性和稳定性是系统的必要性能。

2)可扩展性。当前的监控系统只支持部分设备,并且只能运行于Linux操作系统环境下,未来可以完善该系统支持更多的设备以及可以运行于各种版本的操作系统环境。

3)可用性。对于监控系统的稳定要求是非常高的,所以必须保证监控系统长时间的处于正常的运行状态下。

4)易用性。监控系统界面友好,让用户在使用该监控系统的时候可以很容易熟悉里面每项操作,很容易上手操作。

3基于SNMP远程设备监控系统设计

3.1 系统开发软件环境

开发平台:Qt Creator;操作系统:Fedora 17;开源软件:Net-SNMP;lm_sensors。

3.2 系统设计目标

系统设计的主要目标是对远程网络上的设备的各项参数进行监控,以便网络管理人员可以有效的对远程的设备进行管理,及时的发现异常并做出迅速响应。

3.3 系统主要任务

1)对远程设备的各项参数的状态数据进行实时的采集。

2)对代理端获取到的数据进行处理、输出。

3)在程序中对需要监控的各项参数设置上限值,对采集的数据进行判断,当超过上限值时,会弹出Warning对话框报警。

4)提供有效的IP地址检查功能,检测IP地址格式是不是正确,网络是是不是处于连接状态。

3.4 系统功能模块的划分

该远程设备监控系统主要分为两个功能模块:代理端功能模块、管理端功能模块。

代理端主要就是实现数据采集模块。

管理端分为IP地址检测模块,设置阈值模块,监控模块。

远程设备监控系统总体功能结构如图1所示。

图1远程设备监控系统总体功能结构图

远程设备监控系统的总体设计如图1,首先要在被监控的设备上设置好SNMP代理端,然后由监控系统代理端的数据采集模块去负责采集监控数据,相应的参数在MIB信息库中都会有对应的OID值。当管理端发起请求获取代理端的数据的时候,代理端将数据通过SNMP协议发送给管理端,管理端对数据进行处理,最后将监控结果显示在Qt UI界面上,通过运行监控系统输入需要监控的设备的IP地址就可以迅速得到网络设备中不同设备的相关监控参数,采集到的数据梅5秒钟更新一次,系统中设置了各项参数的状态数据的阈值,超过阈值就会弹出一个Waring窗体报警。

4结论

本文设计实现了基于SNMP的远程设备监控系统,通过该系统来监控远程设备的CPU温度、利用率,内存的使用情况以及硬盘的各种参数及利用率,避免由于CPU温度过高,或者内存和硬盘的可使用空间不足而造成的设备无法工作的情况的发生。这样,网络管理人员就可以通过设备管理系统及时的发现问题,解决问题,提高了工作效率,同时也将企业的损失降到了最低。

参考文献

[1]孙志,赵宏强.基于SNMP的网络实时监控技术研究[J].电子世界,2013(10):151-152.

[2]区海平,寿国础.基于MIB定义的SNMP分析系统及实现[J].计算机应用,2009(01):38-41.

[3]葛化敏,杨利青,郑静.基于NET-SNMP的嵌入式网络管理代理的开发[J].通信技术,2009(11):138-140.

[4]朱吉佳,蔡家麟.基于Qt的业务监控系统界面设计与实现[J].计算机技术与发展,2008(03):236-239.

endprint

摘要随着科技的迅猛发展,各个厂商在其工业生产线上都采用了自动化控制技术,某些生产线还会处在一些比较特殊的环境中,比如高温、极低温、粉尘比较大、震动的环境等。而当设备在生产线上运行的过程中,通过网络在远端对生产线上的设备进行管理就显得尤为重要。SNMP是当前最为流行的网络管理解决方案,文章采用Qt编程技术,同时采用开源软件开发包Net-SNMP,实现基于SNMP的远程设备监控模块,对远程设备的温度、CPU、内存、硬盘等信息进行实时的监控。

关键词设备监控;SNMP;远程监控;MIB

中图分类号:TP319 文献标识码:A 文章编号:1671-7597(2014)11-0019-02

SNMP协议是已经被广泛接受并投入使用的工业标准,它的作用是保证管理及监控信息在代理端和管理端之间进行传送[1],这样非常有利于网管人员对MIB(Management Information Base,管理信息库)[2]中的任何节点进行检索以便查找出所检索节点的信息状况,这样更有利于网络管理员检测设备上的故障;并实时的给出故障诊断,并及时修复故障。它采用的是轮询的机制,提供最基本的功能集。最适合小型,快速,低价格的环境使用。它底层采用的是无证实的传输层协议UDP,目前很多远程设备监控系统都是基于SNMP协议开发实现的。

1SNMP概述

SNMP简单网络管理协议是为网络管理而定义的应用层服务,SNMP协议实际上是网络管理的一系列标准。SNMP简单网络管理协议是基于TCP/IP协议的,SNMP简单网络管理协议工作在传输层之上,与底层的传输机制是完全分离的,SNMP简单网络管理协议采用的模型是“管理端——代理端”的模型来监控和管理各个与互联网连接设备,SNMP简单网络管理协议底层采用的是面向无连接的UDP协议在管理端和代理端之间进行数据的传递。SNMP简单网络管理协议包含一个应用层协议——application layer protocol、数据库模型——database schema和一组资料物件。SNMP简单网络管理协议是Internet工作任务组——IETF定义的internet协议簇的一部分。

2系统需求分析

2.1 功能需求

基于SNMP的远程设备监控系统共分两个部分:

1)代理端,即数据采集模块,通过数据采集部分获取到设备的CPU温度、CPU使用情况、内存使用情况、硬盘使用情况,并通过SNMP协议发送给管理端。

2)管理端,即面向用户的部分,通过Qt[4]设计的UI界面来显示代理端发送来的需要监控的设备的各项参数的状态数据。

2.2 系统性能需求

根据需求分析我们可以归纳系统所应要求的性能:

1)系统响应时间:实时,对远端需要监控的设备的各项参数的状态数据要实时的获取,实时的发送,实时的更新,保证用户可以实时的了解远端设备当前的状态,以便对远端的设备达到有效的监控。

2)系统对网络的要求:该系统在监控远端设备的过程中,必须保证网络一直处于连接状态。

3)系统获取数据的准确性:由于系统对远端的设备在进行实时的监控,那么获取到的远端的设备的各项参数的状态数据就是用户参考的唯一标准,这时保证获取到的数据的准确性就显得尤为重要。

2.3 功能模块需求

1)代理端功能模块需求。代理端在整个远程设备监控系统中担任着一个非常重要的角色,代理端主要完成的任务就是对远程的设备进行监控数据的采集,当管理端向代理端发起请求需要获取监控数据时,代理端便会将所有的数据发送给管理端。在代理端通过安装和配置基于C语言的SNMP协议的开发包Net-SNMP[3]以及硬件监控的开源软件lm_sensors,通过调用Net-SNMP的接口来配置MIB信息库并开启SNMP服务来获取被监控设备的各项参数的状态数据。

2)管理端功能模块需求。管理端是设备监控系统的管理者,主要负责对被监控设备的实时监控,向SNMP代理端发送请求获取设备的实时数据。如果管理端接受到异常的数据,便向管理人员发出报警信息。在管理端安装和配置基于C语言的SNMP协议的开发包Net-SNMP,通过调用接口开启SNMP服务。通过编写Qt程序来获取代理端设备的实时信息,并及时的呈现给管理员,这样管理员就可以对远程设备进行实时的监控了,同时当设备被监控的数据出现异常时就会向管理员报警。

2.4 非功能性需求

1)性能需求。监控系统获得监控数据的准确性以及监控系统的实时性和稳定性是系统的必要性能。

2)可扩展性。当前的监控系统只支持部分设备,并且只能运行于Linux操作系统环境下,未来可以完善该系统支持更多的设备以及可以运行于各种版本的操作系统环境。

3)可用性。对于监控系统的稳定要求是非常高的,所以必须保证监控系统长时间的处于正常的运行状态下。

4)易用性。监控系统界面友好,让用户在使用该监控系统的时候可以很容易熟悉里面每项操作,很容易上手操作。

3基于SNMP远程设备监控系统设计

3.1 系统开发软件环境

开发平台:Qt Creator;操作系统:Fedora 17;开源软件:Net-SNMP;lm_sensors。

3.2 系统设计目标

系统设计的主要目标是对远程网络上的设备的各项参数进行监控,以便网络管理人员可以有效的对远程的设备进行管理,及时的发现异常并做出迅速响应。

3.3 系统主要任务

1)对远程设备的各项参数的状态数据进行实时的采集。

2)对代理端获取到的数据进行处理、输出。

3)在程序中对需要监控的各项参数设置上限值,对采集的数据进行判断,当超过上限值时,会弹出Warning对话框报警。

4)提供有效的IP地址检查功能,检测IP地址格式是不是正确,网络是是不是处于连接状态。

3.4 系统功能模块的划分

该远程设备监控系统主要分为两个功能模块:代理端功能模块、管理端功能模块。

代理端主要就是实现数据采集模块。

管理端分为IP地址检测模块,设置阈值模块,监控模块。

远程设备监控系统总体功能结构如图1所示。

图1远程设备监控系统总体功能结构图

远程设备监控系统的总体设计如图1,首先要在被监控的设备上设置好SNMP代理端,然后由监控系统代理端的数据采集模块去负责采集监控数据,相应的参数在MIB信息库中都会有对应的OID值。当管理端发起请求获取代理端的数据的时候,代理端将数据通过SNMP协议发送给管理端,管理端对数据进行处理,最后将监控结果显示在Qt UI界面上,通过运行监控系统输入需要监控的设备的IP地址就可以迅速得到网络设备中不同设备的相关监控参数,采集到的数据梅5秒钟更新一次,系统中设置了各项参数的状态数据的阈值,超过阈值就会弹出一个Waring窗体报警。

4结论

本文设计实现了基于SNMP的远程设备监控系统,通过该系统来监控远程设备的CPU温度、利用率,内存的使用情况以及硬盘的各种参数及利用率,避免由于CPU温度过高,或者内存和硬盘的可使用空间不足而造成的设备无法工作的情况的发生。这样,网络管理人员就可以通过设备管理系统及时的发现问题,解决问题,提高了工作效率,同时也将企业的损失降到了最低。

参考文献

[1]孙志,赵宏强.基于SNMP的网络实时监控技术研究[J].电子世界,2013(10):151-152.

[2]区海平,寿国础.基于MIB定义的SNMP分析系统及实现[J].计算机应用,2009(01):38-41.

[3]葛化敏,杨利青,郑静.基于NET-SNMP的嵌入式网络管理代理的开发[J].通信技术,2009(11):138-140.

[4]朱吉佳,蔡家麟.基于Qt的业务监控系统界面设计与实现[J].计算机技术与发展,2008(03):236-239.

endprint

摘要随着科技的迅猛发展,各个厂商在其工业生产线上都采用了自动化控制技术,某些生产线还会处在一些比较特殊的环境中,比如高温、极低温、粉尘比较大、震动的环境等。而当设备在生产线上运行的过程中,通过网络在远端对生产线上的设备进行管理就显得尤为重要。SNMP是当前最为流行的网络管理解决方案,文章采用Qt编程技术,同时采用开源软件开发包Net-SNMP,实现基于SNMP的远程设备监控模块,对远程设备的温度、CPU、内存、硬盘等信息进行实时的监控。

关键词设备监控;SNMP;远程监控;MIB

中图分类号:TP319 文献标识码:A 文章编号:1671-7597(2014)11-0019-02

SNMP协议是已经被广泛接受并投入使用的工业标准,它的作用是保证管理及监控信息在代理端和管理端之间进行传送[1],这样非常有利于网管人员对MIB(Management Information Base,管理信息库)[2]中的任何节点进行检索以便查找出所检索节点的信息状况,这样更有利于网络管理员检测设备上的故障;并实时的给出故障诊断,并及时修复故障。它采用的是轮询的机制,提供最基本的功能集。最适合小型,快速,低价格的环境使用。它底层采用的是无证实的传输层协议UDP,目前很多远程设备监控系统都是基于SNMP协议开发实现的。

1SNMP概述

SNMP简单网络管理协议是为网络管理而定义的应用层服务,SNMP协议实际上是网络管理的一系列标准。SNMP简单网络管理协议是基于TCP/IP协议的,SNMP简单网络管理协议工作在传输层之上,与底层的传输机制是完全分离的,SNMP简单网络管理协议采用的模型是“管理端——代理端”的模型来监控和管理各个与互联网连接设备,SNMP简单网络管理协议底层采用的是面向无连接的UDP协议在管理端和代理端之间进行数据的传递。SNMP简单网络管理协议包含一个应用层协议——application layer protocol、数据库模型——database schema和一组资料物件。SNMP简单网络管理协议是Internet工作任务组——IETF定义的internet协议簇的一部分。

2系统需求分析

2.1 功能需求

基于SNMP的远程设备监控系统共分两个部分:

1)代理端,即数据采集模块,通过数据采集部分获取到设备的CPU温度、CPU使用情况、内存使用情况、硬盘使用情况,并通过SNMP协议发送给管理端。

2)管理端,即面向用户的部分,通过Qt[4]设计的UI界面来显示代理端发送来的需要监控的设备的各项参数的状态数据。

2.2 系统性能需求

根据需求分析我们可以归纳系统所应要求的性能:

1)系统响应时间:实时,对远端需要监控的设备的各项参数的状态数据要实时的获取,实时的发送,实时的更新,保证用户可以实时的了解远端设备当前的状态,以便对远端的设备达到有效的监控。

2)系统对网络的要求:该系统在监控远端设备的过程中,必须保证网络一直处于连接状态。

3)系统获取数据的准确性:由于系统对远端的设备在进行实时的监控,那么获取到的远端的设备的各项参数的状态数据就是用户参考的唯一标准,这时保证获取到的数据的准确性就显得尤为重要。

2.3 功能模块需求

1)代理端功能模块需求。代理端在整个远程设备监控系统中担任着一个非常重要的角色,代理端主要完成的任务就是对远程的设备进行监控数据的采集,当管理端向代理端发起请求需要获取监控数据时,代理端便会将所有的数据发送给管理端。在代理端通过安装和配置基于C语言的SNMP协议的开发包Net-SNMP[3]以及硬件监控的开源软件lm_sensors,通过调用Net-SNMP的接口来配置MIB信息库并开启SNMP服务来获取被监控设备的各项参数的状态数据。

2)管理端功能模块需求。管理端是设备监控系统的管理者,主要负责对被监控设备的实时监控,向SNMP代理端发送请求获取设备的实时数据。如果管理端接受到异常的数据,便向管理人员发出报警信息。在管理端安装和配置基于C语言的SNMP协议的开发包Net-SNMP,通过调用接口开启SNMP服务。通过编写Qt程序来获取代理端设备的实时信息,并及时的呈现给管理员,这样管理员就可以对远程设备进行实时的监控了,同时当设备被监控的数据出现异常时就会向管理员报警。

2.4 非功能性需求

1)性能需求。监控系统获得监控数据的准确性以及监控系统的实时性和稳定性是系统的必要性能。

2)可扩展性。当前的监控系统只支持部分设备,并且只能运行于Linux操作系统环境下,未来可以完善该系统支持更多的设备以及可以运行于各种版本的操作系统环境。

3)可用性。对于监控系统的稳定要求是非常高的,所以必须保证监控系统长时间的处于正常的运行状态下。

4)易用性。监控系统界面友好,让用户在使用该监控系统的时候可以很容易熟悉里面每项操作,很容易上手操作。

3基于SNMP远程设备监控系统设计

3.1 系统开发软件环境

开发平台:Qt Creator;操作系统:Fedora 17;开源软件:Net-SNMP;lm_sensors。

3.2 系统设计目标

系统设计的主要目标是对远程网络上的设备的各项参数进行监控,以便网络管理人员可以有效的对远程的设备进行管理,及时的发现异常并做出迅速响应。

3.3 系统主要任务

1)对远程设备的各项参数的状态数据进行实时的采集。

2)对代理端获取到的数据进行处理、输出。

3)在程序中对需要监控的各项参数设置上限值,对采集的数据进行判断,当超过上限值时,会弹出Warning对话框报警。

4)提供有效的IP地址检查功能,检测IP地址格式是不是正确,网络是是不是处于连接状态。

3.4 系统功能模块的划分

该远程设备监控系统主要分为两个功能模块:代理端功能模块、管理端功能模块。

代理端主要就是实现数据采集模块。

管理端分为IP地址检测模块,设置阈值模块,监控模块。

远程设备监控系统总体功能结构如图1所示。

图1远程设备监控系统总体功能结构图

远程设备监控系统的总体设计如图1,首先要在被监控的设备上设置好SNMP代理端,然后由监控系统代理端的数据采集模块去负责采集监控数据,相应的参数在MIB信息库中都会有对应的OID值。当管理端发起请求获取代理端的数据的时候,代理端将数据通过SNMP协议发送给管理端,管理端对数据进行处理,最后将监控结果显示在Qt UI界面上,通过运行监控系统输入需要监控的设备的IP地址就可以迅速得到网络设备中不同设备的相关监控参数,采集到的数据梅5秒钟更新一次,系统中设置了各项参数的状态数据的阈值,超过阈值就会弹出一个Waring窗体报警。

4结论

本文设计实现了基于SNMP的远程设备监控系统,通过该系统来监控远程设备的CPU温度、利用率,内存的使用情况以及硬盘的各种参数及利用率,避免由于CPU温度过高,或者内存和硬盘的可使用空间不足而造成的设备无法工作的情况的发生。这样,网络管理人员就可以通过设备管理系统及时的发现问题,解决问题,提高了工作效率,同时也将企业的损失降到了最低。

参考文献

[1]孙志,赵宏强.基于SNMP的网络实时监控技术研究[J].电子世界,2013(10):151-152.

[2]区海平,寿国础.基于MIB定义的SNMP分析系统及实现[J].计算机应用,2009(01):38-41.

[3]葛化敏,杨利青,郑静.基于NET-SNMP的嵌入式网络管理代理的开发[J].通信技术,2009(11):138-140.

[4]朱吉佳,蔡家麟.基于Qt的业务监控系统界面设计与实现[J].计算机技术与发展,2008(03):236-239.

endprint

猜你喜欢

远程监控
远程监控在电力调度自动化系统中的应用研究
露天矿运输站场边坡稳态远程监控及工程对策
变电站直流电源智能化在线远程监测系统的实际应用
基于数据融合的家庭远程监护系统研究
保鲜库智能温度远程监控系统
数据中心服务器运行状态监控系统研究 
基于Android的青少年监护系统设计与实现 
一种远程裁断机健康监测系统
基于物联网的远程水产养殖控制研究