APP下载

NMP 协议在系统监控方面的应用

2015-12-23

科技视界 2015年31期
关键词:网络流量网卡流量

黄 腾

(民航中南空管局,广东 广州 510405)

1 SNMP 简介

简单网络管理协议(Simple Network Management Protocol)是一种应用层协议,是TCP/IP 协议族的一部分,它使网络设备间能方便地交换管理信息。SNMP 能够让网络管理员管理网络的性能,发现和解决网络问题及进行网络的扩充。

SNMP 是如何工作的?

1)SNMP 代理程序把从设备读到的各种数据(比如网卡数据包的进出情况)以SMI 规定的格式(这种格式要求MIB 变量必须以1.3.6.1.2.1 开头)写到MIB 库中(MIB 库就像抽屉一样,有很多变量,每一个变量存储着设备的信息。比如1.3.6.1.2.1.7.1,这个变量里存储了收到了多少UDP 协议包)。

2)SNMP 管理器程序通过SNMP 协议与SNMP 代理程序联系,以便间接读取MIB 库中的数据。

流程如下图所示(图1):

图1 SNMP 信息采集流程

2 SNMP 应用

应用举例:

在trace 上运行以下指令:

snmpwalk-c public-V 1 192.168.140.73.1.3.6.1.2.1.2.2.1.10

结果显示:

ifInOctets.1=0

ifInOctets.2=0

ifInOctets.3=1234567

ifInOctets.4=0

ifInOctets.5=0

ifInOctets.6=4567890

ifInOctets.7=0

ifInOctets.8=8901234

其中以上单位流量为 单位为bytes

-c 名为共同体,默认为public

-v1 意为使用的是snmp V1 的协议

192.168.140.73 是某台机器的IP 的地址

.1.3.4.1.2.1.2.2.1.10 是网络的SNMP 的OID,即统计该台机器所有网卡的总的流入流量。

该网卡的实时流量,可以通过以下公式求得:

下面,我们以开源软件Cacti 为例来说明SNMP 在日常监控中的其他一些应用。

3 Cacti 实现原理

Cacti 是用PHP 语言实现的一个开源软件,它的主要功能是通过SNMP 协议获取数据,然后储存并更新数据,当用户需要查看数据的时候生成图表呈现给用户。SNMP 关系着数据的收集,因此,SNMP 是Cacti 的关键。由于Cacti 对历史数据进行了存储,我们可以通过历史数据对系统的故障进行分析。

Cacti 的工作流程如图2 所示:

图2 Cacti 工作流程

Cacti 每隔一段时间(例如:5 分钟)进行一次数据采集,通过SNMP协议采集监控设备的信息。

Cacti 通过RRDtool 模块将采集到的数据按主机以及数据类别保存到硬盘文件。RRDtool 是一个用于存储数据和绘制图象的程序。

当用户要查看某台设备的信息,Cacti 查询数据库查找该设备对应的存储文件。Cacti 读取文件并通过RRDtool 进行绘图,然后用http的方式返回给用户。

4 Cacti 的应用

Cacti 具有非常广泛的应用网络流量,CPU 负载,磁盘剩余空间,内存使用,进程占用资源,TCP/UDP 信息等等都可以监控。只要OID存在于设备的MIB 中,我们都可以通过Cacti 对其进行操作,甚至OID 不存在于设备MIB 中,我们也可以构造自定义的OID 采集需要的信息。下面以我们在欧洲猫测试平台所做的相关测试来说明Cacti的应用。

1)设备监控

Cacti 可以对设备进行监控,如图3 所示,Cacti 最大的优点是可以定制需要监控的设备信息。

图3 Cacti 设备监控

2)网口流量分析

图4 是我们用Cacti 采集到某台机器的网口流量数据。通过图形,我们可以非常直观的分析网口在一天的流量情况。

图4 网口流量

3)CPU 负载分析

图5 是通过Cacti 采集到的某台机器的CPU 负载情况。

图5 CPU 负载分析

4)历史数据分析

通过Cacti 我们可以分析过去2 年内任何时间的数据,可以以日、月、年等不同的事件跨度来做数据分析,图6 是CDP 在一个月内的网络统计情况。对历史数据的分析可以直观的看清楚设备在过去一段时间的运行情况,以及设备负载的变化趋势,技术维护人员依据这些信息,可以预判故障的潜在情况还有设备是否需要进行更新来适应变化。

图6 一个月网口流量

5)交换机网络流量监控

Cacti 除了可以监控节点外,还可以监控交换机的所有网口。

Cacti 还具有良好的扩展性,我们可以针对不同类型的设备,定义不同的主机模版,数据模板,图形显示模版等。

5 结束语

综上所述,我们可以知道SNMP 可以非常方便的获取节点的网络流量、cpu 使用率、内存使用情况等信息。获取SNMP 信息,有利于我们对设备故障的判断,解决MMI 屏幕冻结就是一个很好的例子。开源软件Cacti 在数据分析方面做了很多的工作,让我们在数据分析方面节省了很多编写代码的工作。当需要对上千个节点进行监控时,SNMP的轮询方式会产生很大的网络流量,可能导致网络阻塞;在这种情况下,我们可以采用snmptrap 的方式,让节点在某些参数在超过阀值时,通过snmptrap 向监控系统发送信息。

[1]Thales ATM Pty Ltd.Eurocat-x system/segment specification[Z].

[2]Thales ATM Pty Ltd.Eurocat-x DPR offline data specification[Z].

猜你喜欢

网络流量网卡流量
在DDS 中间件上实现双冗余网卡切换的方法
基于多元高斯分布的网络流量异常识别方法
冰墩墩背后的流量密码
张晓明:流量决定胜负!三大流量高地裂变无限可能!
基于神经网络的P2P流量识别方法
Server 2016网卡组合模式
AVB网络流量整形帧模型端到端延迟计算
读编往来
五位一体流量平稳控制系统
网络流量监控对网络安全治理的重要性