SNMP 技术背景
随着设备数量的增加, 网络管理的复杂性也相应提高, 这就意味着需要更多的维护支撑人员, 增加了设备维护成本, 所以就需要一个支持大规模, 便捷管理的网管平台.
每引入一家厂商的网络设备, 就需要引入配套的厂商网管, 而目前的厂商网管仅能管理自己厂商的设备, 且每个厂商网管的操作界面, 管理内容等均不相同, 所以要实现对全网进行高效地统一管理, 就需要使用一种标准, 通用的网络管理协议 (SNMP 协议)
SNMP 技术原理
SNMP 的结构包括网管站 NMS(Network Management Station) 和 Agent 两部分. SNMP 协议就是规定 NMS 和 Agent 之间如何传递管理信息的应用层协议 (UDP 162)
SNMP 的版本
SNMPv1: 方便实现, 安全性弱
SNMPv2c: 有一定的安全性, 现在应用最为广泛
SNMPv3: 定义了一种管理框架, 引入了 USM( User Security Model 用户的安全模型), 为用户提供了安全的访问机制
Agent: 运行在被管理设备上的代理进程. 被管理设备在接收到网管设备侧 NMS 发出的请求后, 由 Agent 作出响应操作. 主要功能包括: 收集设备状态信息, 实现 NMS 对设备的远程操作, 向网管端发出告警消息.
MIB: 是一个虚拟的数据库, 是在被管理设备端维护的设备状态信息集. Agent 通过查找 MIB 来收集设备状态信息. MIB 按照层次式树形结构组织被管理对象, 并使用 ASN.1 格式进行描述. 网管中被管资源, 而网络管理中的资源是以对象来表示, 每一个对象表示被管资源某一方面的属性, 这些对象的集合形成管理信息库
MIB 给出了一个网络中所有可能的被管理对象的集合的数据结构. SNMP 的管理信息库采用和域名系统 DNS 相似的树型结构, 它的根在最上面, 根没有名字. 下图画的是管理信息库的一部分, 它又称为对象命名 (objectnamingtree)
SNMP 报文交互过程
SNMPV1
SNMPv1 定义了五种协议操作:
Get-Request:NMS 从代理进程的 MIB 中提取一个或多个参数值.
Get-Next-Request:NMS 从代理进程的 MIB 中按照字典式排序提取下一个参数值.
Set-Request:NMS 设置代理进程 MIB 中的一个或多个参数值.
Response: 代理进程返回一个或多个参数值. 它是前三种操作的响应操作.
Trap: 代理进程主动向 NMS 发送报文, 告知设备上发生的紧急或重要事件.
SNMPV2
SNMPv2c 新增了 2 种协议操作:
GetBulk: 相当于连续执行多次 GetNext 操作. 在 NMS 上可以设置被管理设备在一次 GetBulk 报文交互时, 执行 GetNext 操作的次数.
Inform: 被管理设备向 NMS 主动发送告警. 与 trap 告警不同的是, 被管理设备发送 Inform 告警后, 需要 NMS 进行接收确认. 如果被管设备没有收到确认信息则会将告警暂时保存在 Inform 缓存中, 并且会重复发送该告警, 直到 NMS 确认收到了该告警或者发送次数已经达到了最大重传次数.
SNMPV3
SNMPv3 的实现原理和 SNMPv1/SNMPv2c 基本一致, 主要的区别是 SNMPv3 增加了身份验证和加密处理.
NMS 向 Agent 发送不带安全参数的 Get 请求报文, 向 Agent 获取安全参数等信息.
Agent 响应 NMS 的请求, 向 NMS 反馈所请求的参数.
NMS 向 Agent 发送带安全参数的 Get 请求报文.
Agent 对 NMS 发送的请求消息进行认证, 认证通过后对消息进行解密, 解密成功后, 向 NMS 发送加密的响应.
SNMP 配置命令
- [Router]snmp-agent // 启动 SNMP Agent 服务 缺省情况下, 未使能 SNMP Agent 功能
- [Router]snmp-agent sys-info version v2c // 配置 SNMP 的版本信息为 SNMPv2c
- [Router]snmp-agent sys-info contact // 如果设备发生故障, 设备维护人员可以利用系统维护联系信息, 及时与设备生产厂商取得联系
- [Router]snmp-agent sys-info location // 配置管理节点的物理位置
- snmp-agent community // 命令用来配置 SNMPv1,SNMPv2c 的读写团体名
- snmp-agent community {
- read | write
- } {
- community-name | cipher community-name
- } [ mib-view view-name | acl {
- acl-number | acl-name
- } | alias alias-name ]
使用 read 参数 希望网管在指定视图下具有只读权限 (比如级别比较低的管理员)
使用 write 参数 希望网管在指定视图下具有读写权限时 (比如级别比较高的管理员)
如果希望使用该团体名的某些网管, 都能拥有视图 Viewdefault 的权限, 参数 mib-view view-name 可以省略
- [Router] snmp-agent community read public mib-view iso-view // 配置设备的读写团体名, 并通过选择是否配置 mib-view view-name 或 acl acl-number, 限制网管对设备的访问权限
- [Router] snmp-agent community write private mib-view iso-view
- [Router] snmp-agent mib-view iso-view include iso // 用来创建 MIB 视图 表示该 MIB 视图包括该 MIB 子树
- [Router] snmp-agent target-host trap-paramsname trapnms v2c securityname adminnms // 用于配置 trap 报文的发送参数信息 当需要配置发送 trap 报文的协议版本 对发送的 trap 报文是否进行加密参数时
- [Router] snmp-agent target-host trap-hostname nms address 172.16.50.253 trap-paramsname Trapnms // 用于设置 trap 报文目的主机的 IP 地址 那么设备的 trap 报文将发送到此 IP 地址对应的主机上
- [Router] snmp-agent trap enable // 当用户希望一次性打开所有模块的告警开关
- [Router] snmp-agent trap source GigabitEthernet0/0/0 // 用来指定发送 Trap 的源接口 最好配置为本地的 loopback 地址
eSight 软件
eSight 系统是华为公司研制的新一代面向企业网络园区, 企业分支的运维管理系统, 实现对企业资源, 业务, 用户的统一管理等功能.
轻量级系统, 向导式安装; 免客户端, 通过浏览器随时随地管理网络
面向不同客户提供相应的解决方案
多厂商统一管理, 采用被广泛使用的标准网络管理协议 SNMP
eSight 安装
体验 eSight 软件:
第一步: 下载 ESIGHT 软件
软件获取方法:
华为企业网网站: http://enterprise.huawei.com/cn/
安装软件: 选择技术支持 > 文档与软件下载 > 企业网络 > 网管与控制器 > 产品分类 > eSight> eSight Network> 软件下载
第二步: 运行 SETUP.BAT
第三步: 安装参数
IP 地址: 当前服务器默认的 IP 地址. 如果服务器存在多个 IP 地址, 请在下拉列表中选择对外可用的 IP 地址.
端口: 默认为 8080, 如果该端口被占用, 可修改成其他端口号.
安装路径: eSight 软件的安装路径, 用户可手工修改.
第四步: 选择安装组件
第五步: 数据库服务器参数
当数据库类型为 MySQL 时, 系统会默认输入数据库的用户名为 root, 密码为 Changeme123.root 是 MySQL 数据库默认用户帐户, 即数据库系统管理员, 具有数据库的最高权限.
当数据库类型为 SQLServer 时, 并且第一次安装 eSight 时, 需手工输入用户名为 sa, 密码为 Changme123.sa 是 SQL Server 数据库默认用户帐户, 即数据库系统管理员, 具有数据库的最高权限.
如果是增量安装, 密码项为灰化, 无需再次输入.
第六步: 显示安装过程进度
第七步: 安装完成
第八步: 启动服务
第九步: IE9 首次登录
地址栏中输入: http:// 服务器 IP 地址: 端口号 (8080), 按 Enter
如果是第一次登录, 页面显示网站安全证书有问题, 继续浏览此网站 (不推荐)
eSight 实验演示
组网拓扑图
1. 交换机和路由器 SNMP 配置如下
2. 创建 SNMP 模板 自动发现我们网络设备
自动发现功能
成功添加四台网络设备
3. 我们可以通过 ACL 来限制被管理的设备
用 acl 限制一个网络设备被 eSight 发现
4. 我们可以通过图形化界面监控网络设备
以图形的方式显示拓扑结构
5. 在网络设备上面使能 LLDP 功能 就可以在监控平台上看到设备之间的连线
6. 监控软件可以定位我们网络故障 也可以恢复我们网络故障
出现故障信息
定位故障信息
定位故障拓扑信息
定位故障拓扑面板信息
定位故障拓扑面板接口信息
恢复故障后
故障告警信息清除
7. 查看实时性能监控功能
8. 查看大屏功能和敏捷报表功能
来源: http://blog.51cto.com/13817711/2459555