简单网络管理协议(SNMP:Simple Network Management Protocol)是由互联网工程任务组(IETF:Internet Engineering Task Force )定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP:Simple Gateway Monitor Protocol)。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。 在IP网络管理中,主要是针对网络设备(路由器、交换机、防火墙)进行性能故障监测管理。
SNMP 是管理和监控网络元素的广泛接受的网络协议之一,大多数专业级网元都附带捆绑的 SNMP 代理,必须启用和配置这些代理才能与网络监视工具或网络管理系统 (NMS) 通信。
使用 SNMP,您可以:
- 监控互联网协议网络中设备的运行状况和性能,例如笔记本电脑,服务器,扫描仪,路由器等。
- 实时监控网络设备的可用性状态。
- 收集有关关键性能指标(如内存使用情况、CPU 利用率、存储等)的信息,并在阈值违规时启用提示警报。
SNMP 基本组件及其功能
SNMP 基本组件包括:
SNMP 管理器
管理器或管理系统是负责与SNMP代理实现的网络设备通信的独立实体。这通常是用于运行一个或多个网络管理系统的计算机。
SNMP 管理器的主要功能
- 查询代理
- 获取代理的响应
- 在代理中设置变量
- 确认来自代理的异步事件
受管设备
受管设备或网元是网络的一部分,需要某种形式的监控和管理,例如路由器、交换机、服务器、工作站、打印机、UPS 等…
SNMP 代理
代理是打包在网元中的程序。启用代理允许它从本地设备收集管理信息数据库,并在查询时使其可供 SNMP 管理器使用。这些代理可以是标准的(例如Net-SNMP)或特定于供应商的代理(例如HP洞察代理)
SNMP 代理的主要功能
- 收集有关其本地环境的管理信息。
- 存储和检索 MIB 中定义的管理信息。
- 向管理器发出事件信号。
- 充当某些非 SNMP 可管理网络节点的代理。
管理信息数据库,也称为管理信息库(MIB)
每个 SNMP 代理都维护一个描述受管设备参数的信息数据库,SNMP 管理器使用此数据库向代理请求特定信息,并根据网络管理系统 (NMS) 的需要进一步转换信息,代理和管理中心之间通常共享的数据库称为管理信息库 (MIB)。
通常,这些 MIB 包含为网络上的硬件节点定义的一组标准统计和控制值,SNMP 还允许通过使用专用 MIB 将这些标准值扩展为特定于特定代理的值。
简而言之,MIB 文件是 SNMP 管理器可以向代理提出的一组问题,代理在本地收集这些数据并将其存储,如 MIB 中所定义,因此,SNMP 管理器应了解每种代理类型的这些标准和私人问题。
MIB 结构和对象标识符(对象 ID 或 OID)
管理信息库 (MIB) 是用于管理网元的信息集合,MIB 由名称对象标识符(对象 ID 或 OID)标识的托管对象组成。
- 每个标识符都是唯一的,表示受管设备的特定特征。查询时,每个标识符的返回值可能不同,例如文本、数字、计数器等…
- 有两种类型的托管对象或对象 ID:标量和表格。通过一个例子可以更好地理解它们
- 标量:设备的供应商名称,结果只能是一个。(如定义所说:“标量对象定义单个对象实例”)
- 表格:四处理器的 CPU 利用率,这将分别给我每个 CPU 的结果,这意味着该特定对象 ID 将有 4 个结果。 (如定义所述:“表格对象定义多个在 MIB 表中组合在一起的相关对象实例”)
- 每个对象 ID 都在 MIB 中按层次结构组织。MIB 层次结构可以用具有单个变量标识符的树结构表示。
- 典型的对象 ID 将是整数的虚线列表。例如,“sysDescr”RFC1213中的 OID 是 .1.3.6.1.2.1.1.1
SNMP 的基本命令
信息交换的简单性使SNMP成为被广泛接受的协议,主要原因是简洁的命令集,下面列出了它们:
- GET:GET 操作是管理器向受管设备发送的请求。执行它是为了从受管设备检索一个或多个值。
- 获取下一个:此操作类似于 GET。显著区别在于,GET NEXT 操作检索 MIB 树中下一个 OID 的值。
- 获取批量:GETBULK 操作用于从大型 MIB 表中检索大量数据。
- 设置:管理员使用此操作来修改或分配受管设备的值。
- 陷阱:与上述从SNMP管理器启动的命令不同,陷阱由代理启动。它是代理在事件发生时向 SNMP 管理器发出的信号。
- 通知:此命令类似于代理启动的陷阱,此外,通知还包括SNMP管理器在接收消息时的确认。
- 响应:它是用于带回SNMP管理器指示的操作的值或信号的命令。
SNMP 陷阱
SNMP 陷阱使代理能够通过未经请求的 SNMP 消息将重大事件通知 SNMP 管理器,SNMP 陷阱协议包括当前系统正常运行时间值、标识陷阱类型的 OID 和可选的变量绑定,SNMP 陷阱端口的目标寻址通常通过 MIB 中的陷阱配置变量以特定于应用程序的方式确定,陷阱消息的格式在 SNMPv2 中已更改,协议数据单元已重命名为 SNMPv2-Trap。
SNMP 陷阱监控
SNMP 陷阱是业界最常用的被动监控技术之一,它可以帮助网络管理系统(NMS)如OpManager了解任何性能偏差和设备健康相关的打嗝,如果它发生在两个轮询之间。
- 在 Varbind 级别对 SNMP 陷阱进行精细控制:浏览大量 SNMP 陷阱会给日常 IT 运营带来太大压力,使用OpManager SNMP陷阱监控工具,即使在Varbind级别,您也可以为特定的SNMP陷阱设置警报,并过滤掉不需要的基于SNMP陷阱的警报。
- 轻松创建 SNMP 陷阱处理器:SNMP陷阱监视器可让您轻松创建SNMP陷阱处理器,您可以直接从 SNMP MIB 文件导入 SNMP 陷阱,也可以从警报视图下的未经请求的陷阱创建处理器。当没有创建陷阱处理器时, OpManager 默认从托管设备中检测陷阱,并将其列在“未经请求的陷阱”下。
- 实时排除陷阱查询故障:SNMP 陷阱查看器充当功能强大的实用程序,可帮助解决所有与 SNMP 陷阱相关的监控问题。它使您可以实时查看所有传入的陷阱,无论设备是否在OpManager中进行管理。此外,它还使您能够加载 MIB 并执行与 SNMP 相关的操作,如 GET、GET-NEXT、GET-BULK 和 SET。
- 将陷阱转发到其他 NMS 平台:现在,通过SNMP陷阱转发,您可以将OpManager中收到的陷阱转发到任何其他网络管理系统(NMS),即HP OpenView,IBM Netcool等。只需提供必须将陷阱转发到的 NMS 的服务器名称或 IP 地址以及陷阱侦听端口号。
- 获取有关已处理 SNMP 陷阱的报告:可以从OpManager获取SNMP陷阱报告,为您提供有关所有已处理SNMP陷阱的综合报告,此 SNMP 陷阱报告可以自定义并计划定期或在一周中的任何特定日期接收。
OpManager 网络监控软件,采用异步SNMP 陷阱消息传递来获取网络设备的管理信息,可以使用 SNMP 性能监控功能监控网络设备的可用性、网络性能和管理网络故障。