资源描述
SNMP告警研究与实现
目录
SNMP告警研究与实现 1
一、什么是SNMP 2
二、SNMP构造概述 2
三、SNMP支持网管操作 2
1.1 Get:读取网络设备状态信息。 3
1.2 Set:远程配备设备参数。 3
1.3 Trap:管理站及时获取设备重要信息。 3
四、SNMP实现构造 3
五、SNMP既有版本 6
1.1 SNMP共有v1,v2,v3这三个版本: 6
六、NET-SNMP 6
1.1 .net-snmp安装与配备 6
1.2 惯用配备选项 6
1.3 启动snmp 7
1.4 查看启动与否成功 7
七、SNMPMIB库文献 7
八、详细实现 9
1.1 定义MIB告警文献 9
1.2 MIB文献内容(HW-NAT-MIB.mib) 9
1.3 在监控软件中导入mib文献 10
1.4 用命令发送告警 10
1.5 查看告警内容 11
版本
日期
阐明
作者
V1.0
-3-4
创立
蔡海伟
一、 什么是SNMP
SNMP:“简朴网络管理合同”,用于网络管理合同。SNMP用于网络设备管理。SNMP工作方式:管理员需要向设备获取数据,因此SNMP提供了“读”操作;管理员需要向设备执行设立操作,因此SNMP提供了“写”操作;设备需要在重要状况变化时候,向管理员通报事件发生,因此SNMP提供了“Trap”操作。
二、 SNMP构造概述
SNMP被设计为工作在TCP/IP合同族上。SNMP基于TCP/IP合同工作,对网络中支持SNMP合同设备进行管理。所有支持SNMP合同设备都提供SNMP这个统一界面,使得管理员可以使用统一操作进行管理,而不必理睬设备是什么类型、是哪个厂家生产。如下图
三、 SNMP支持网管操作
对于网络管理,咱们面对数据是设备配备、参数、状态等信息,面对操作是读取和设立;同步,由于网络设备众多,为了能及时得到设备重要状态,还规定设备能积极地报告重要状态,这就是报警功能。如下图
1.1 Get:读取网络设备状态信息。
1.2 Set:远程配备设备参数。
1.3 Trap:管理站及时获取设备重要信息。
四、 SNMP实现构造
在详细实现上,SNMP为管理员提供了一种网管平台(NMS),又称为管理站,负责网管命令发出、数据存储、及数据分析。被监管设备上运营一种SNMP代理(Agent)),代理实现设备与管理站SNMP通信。如下图
管理站与代理端通过MIB进行接口统一,MIB定义了设备中被管理对象。管理站和代理都实现了相应MIB对象,使得双方可以辨认对方数据,实现通信。管理站向代理申请MIB中定义数据,代理辨认后,将管理设备提供有关状态或参数等数据转换为MIB定义格式,应答给管理站,完毕一次管理操作。
已有设备,只要新加一种SNMP模块就可以实现网络支持。旧带扩展槽设备,只要插入SNMP模块插卡即可支持网络管理。网络上许多设备,路由器、互换机等,都可以通过添加一种SNMP网管模块而增长网管功能。服务器可以通过运营一种网管进程实现。其她服务级产品也可以通过网管模块实现网络管理,如Oracle、WebLogic均有SNMP进程,运营后就可以通过管理站对这些系统级服务进行管理。
依照管理者和被管理设备在网络管理操作中不同职责,SNMP定义了3种角色。如下图
网络管理系统:又称管理站、NMS。是系统控制台,向管理员提供界面以获取与变化设备配备、信息、状态、操作等信息。管理站与Agent进行通信,执行相应Set和Get操作,并接受代理发过来警报(Trap)。
代理:Agent是网络管理代理人,负责管理站和设备SNMP操作传递。介于管理站和设备之间,与管理站通信并相应管理站祈求,从设备获取相应数据,或对设备进行相应设立,来响应管理站祈求。代理也需要具备依照设备相应状态使用MIB中定义Trap向管理站发送报告能力。
代理服务器:Proxy是一种特殊代理,在不能直接使用SNMP合同地方,如:异种网络、不同版本SNMP代理等状况,Proxy代替有关设备向管理站提供一种外观,为设备代理SNMP合同实现。Proxy做了异种网络或不同版本代理和相应SNMP数据祈求转换工作。如下图
五、 SNMP既有版本
1.1 SNMP共有v1,v2,v3这三个版本:
v1和v2都具备基本读、写MIB功能。
v2增长了警报、批量数据获取、管理站和管理站通信能力。
v3在v2基本上增长了USM,使用加密数据和顾客验证技术,提高了安全性。
六、 Net-SNMP
1.1 .net-snmp安装与配备
操作系统,CentOS 6.4 X86_64
软件版本,net-snmp 5.5
有两个重要安装,net-snmp.x86_64 、net-snmp-utils.x86_64 一种是net-snmp软件包,另一种是snmp工具包。安装命令如下
yum install -y net-snmp net-snmp-utils
1.2 惯用配备选项
主配备文献:/etc/snmp/snmpd.conf
惯用定义项:
1) 首选是定义一种共同体名(community),这里是public(多数SNMP设备或服务默认都是是用public),及可以访问这个public顾客名(sec name),这里是notConfigUser。Public相称于顾客notConfigUser密码:) ,source 在net-snmp中用来对来源IP加以控制,即哪些可以获取SNMP信息
# sec.name source community
com2sec notConfigUser default public
2) 定义一种组名(groupName)这里是notConfigGroup,及组安全级别,把notConfigGroup这个顾客加到这个组中。
sec.model:安全模式,可选值为v1/v2c/usm。
# groupName securityModel securityName
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
3) 定义一种可操作范畴(view)名, 这里是all,范畴是 .1
# name incl/excl subtree mask(optional)
view all included .1 #表达可以查看.1节点下所有设备信息
注:
incl/excl:对下面MIB子树是涉及还是排除。
subtree:视图中涉及MIB子树。
mask:掩码
4) 定义notConfigUser这个组在all这个view范畴内可做操作(即权限),这时定义了notConfigUser构成员可对.1这个范畴做只读操作。
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact all none none
注:
context:上下文,v1、v2c中始终为空。
sec.model:安全模式,可选值为v1/v2c/usm。
sec.level:安全级别,可选值为auth/noauth/priv,v1、v2c中只能为noauth。
prefix:前缀,指定context如何与PDU中context匹配,v3使用。
read:授权读视图。
write:授权写视图。
notif:授权trap视图。
5) 端口: 原则SNMP服务使用161和162端口,厂商私有实现普通使用199、391、705和1993端口,net-snmp用udp 161。
1.3 启动snmp
service snmpd start
1.4 查看启动与否成功
[root@node1 ~]# snmpget -v 2c -c public localhost sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING:Linux 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26
浮现以上信息表达启动成功
七、 SNMPMIB库文献
IETF规定管理信息库MIB(由中定义了可访问网络设备及其属性,由对象辨认符(OID:Object Identifier)唯一指定。MIB是一种树形构造,SNMP合同消息通过遍历MIB树形目录中节点来访问网络中设备。下图给出了NMS系统中SNMP可访问网络设备对象辨认树(OID:Object Identifier)构造。
公司OID节点都是从1.3.6.1.4.1开始申请分派。
八、 详细实现
1.1 定义MIB告警文献
本用例重要实现CPU,内存,硬盘,网络状态告警
1.2 MIB文献内容(HW-NAT-MIB.mib)
HW-NAT-MIB DEFINITIONS ::= BEGIN
-- Design notes:
--
-- .ID.1 :cpu
-- .ID.2 :mem
-- .ID.3 :disk
-- .ID.4 :flow
IMPORTS
OBJECT-TYPE,NOTIFICATION-TYPE,MODULE-IDENTITY,
Integer32,Opaque,enterprises,Counter32
FROM SNMPv2-SMI
TEXTUAL-CONVENTION,DisplayString,TruthValue
FROM SNMPv2-TC;
-- natinfo MODULE-IDENTITY
natinfo MODULE-IDENTITY
LAST-UPDATED "03030000Z"
ORGANIZATION "Peking of China"
CONTACT-INFO
"This mib is only for fujian NAT server
postal: Haiwei Cai
email: "
DESCRIPTION
"trap for nat server info"
::= { enterprises }
natTraps OBJECT IDENTIFIER ::= { natinfo 1 }
natCpu NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"This trap is sent when the cpu use > 70%"
::= { natTraps 1 }
natMem NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"This trap is sent when the mem use > 80%"
::= { natTraps 2 }
natDisk NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"This trap is sent when the disk use > 80%"
::= { natTraps 3 }
natFlow NOTIFICATION-TYPE
STATUS current
DESCRIPTION
"This trap is sent when the net flow = 0"
::= { natTraps 4 }
END
1.3 在监控软件中导入mib文献
1.4 用命令发送告警
snmptrap -v 2c -c public 192.168.192.1 "" .1.3.6.1.4.1..1.1 1.3.6.1.4.1..1.1 s "80%"
其中:192.168.192.1监控程序接受地址
""为代理主机名,可为空
1.3.6.1.4.1..1.1表达CPU告警
s表达字符串
或者指定mib库发送告警:
snmptrap -m ./mibs/HW-NAT-MIB.mib -v 2c -c public 192.168.192.1 "" HW-NAT-MIB:natTraps HW-NAT-MIB:natTraps.1 s "80%"
1.5 查看告警内容
本软件为第三方软件:
展开阅读全文