第六十二章 使用 SNMP 监控 IRIS
本附录描述了 IRIS
数据平台和 SNMP
(简单网络管理协议)之间的接口。 SNMP
是一种通信协议,作为一种管理 TCP/IP
网络(包括单个网络设备和一般计算机设备)的方法已获得广泛接受。它的流行扩大了它作为许多企业管理工具的底层结构和协议的用途。这是它对 IRIS
的主要重要性:一种向各种管理工具提供管理和监控信息的标准方法。
SNMP
既是一种标准消息格式,也是管理对象的一组标准定义。它还提供用于添加自定义管理对象的标准结构,这是 IRIS
用来定义其管理信息以供其他应用程序使用的功能。
将 SNMP
与 IRIS
结合使用
SNMP
定义了客户端-服务器关系,其中客户端(网络管理应用程序)连接到在远程网络设备或计算机系统上执行的服务器程序(称为 SNMP
代理)。客户端请求并从该代理接收信息。有四种基本类型的 SNMP
消息:
GET
– 获取特定托管对象的数据GETNEXT
– 获取分层树中下一个管理对象的数据,允许系统管理员遍历设备的所有数据SET
——为特定的管理对象设置值TRAP
——被管理设备或系统发送的异步警报
SNMP MIB
(管理信息库)包含管理对象的定义。每个设备都会发布一个文件,也称为其 MIB
,该文件定义了它支持的标准 MIB
的哪一部分,以及托管对象的任何自定义定义。对于 IRIS
,这是位于 install-dir\SNMP
目录中的 ISC-IRIS.mib 文件。
IRIS
作为子代理
SNMP
客户端连接到 SNMP
代理,该代理正在侦听众所周知的地址端口 161
。由于客户端希望连接到该特定端口,因此计算机系统上只能有一个 SNMP
代理。为了允许访问系统上的多个应用程序,开发人员可以实现主代理,它可以扩展或连接到多个子代理。 已将 IRIS SNMP
接口实施为子代理,旨在通过 SNMP
主代理进行通信。
IRIS
支持的大多数操作系统都提供一个 SNMP
主代理,它可以通过某种方式扩展以支持多个子代理。然而,这些代理中的许多都以专有且不兼容的方式实现了它们的可扩展性。 IRIS
使用代理扩展性 (AgentX
) 协议实现其子代理,该协议是 IETF
提议的标准,如 RFC 2741
中所述。
一些标准的 SNMP
主代理支持 AgentX
。如果操作系统提供的 SNMP
主代理与 AgentX
不兼容,可以将其替换为公共域 Net-SNMP
代理。
注意:Windows
标准代理例外,它不支持 AgentX
,Net-SNMP
版本可能不适合。对于这个例外,提供了一个 Windows
扩展代理 DLL
,iscsnmp.dll
,它处理标准 Windows SNMP
服务扩展 API
和 IRIS AgentX
服务器之间的连接。
在 IRIS
中管理 SNMP
。
由于 SNMP
是标准协议, IRIS
子代理的管理是最少的。最重要的任务是验证系统上的 SNMP
主代理是否与代理扩展性 (AgentX
) 协议兼容(请参阅 IRIS
作为子代理)并且它处于活动状态并正在侦听标准 AgentX TCP
端口 705
上的连接。 Windows
系统,系统自动安装一个DLL
来连接标准的Windows SNMP
服务。验证 Windows SNMP
服务是否已自动或手动安装和启动。
重要提示:一些 SNMP
主代理,特别是 Linux
上的 Net-SNMP
,默认情况下不启用 AgentX
,并且一旦启用,默认情况下不使用 TCP
端口 705
。对于 Net-SNMP
,必须修改 snmpd.conf
文件以启用与 IRIS
子代理的通信。最新版本的 Net-SNMP
还实现了 VACM
(基于视图的访问控制模型)安全性,默认情况下,只允许访问 mib-2.system
子树; IRIS
子代理启动并正常运行,但没有 SNMP
请求转发到 IRIS
。必须扩展 snmpd.conf
中定义的“视图”以包括 IRIS MIB
子树。
接下来,使用以下步骤启用监控服务:
- 导航到管理门户中的服务页面(系统管理 > 安全 > 服务)。
- 单击
%Service_Monitor
服务。 - 选中启用服务复选框并单击保存。
- 返回到服务列表页面并确保启用了
%Service_Monitor
服务。
最后,使用以下步骤将 IRIS SNMP
子代理配置为在 IRIS
启动时自动启动:
- 导航到管理门户中的监控设置页面(系统管理 > 配置 > 其他设置 > 监控)。
- 为系统启动时启动
SNMP
代理设置选择是,然后单击保存。 - 当编辑此设置时,
SNMP
接口的IRIS
端会立即停止和启动。
还可以使用 ^SNMP
例程手动或以编程方式启动和停止 IRIS SNMP
子代理:
Do start^SNMP(<port>,<timeout>)
Do stop^SNMP
其中 <port>
是连接的 TCP
端口(默认为 705
),<timeout>
是 TCP
端口读取超时值(默认为 20
秒)。在达到 <timeout>
值之前, IRIS
会在 install-dir\mgr
目录下的 SNMP.LOG
文件中记录在建立连接或应答请求时遇到的任何问题。
注意:当 SNMP
主代理重新启动时,可能需要使用 ^SNMP
例程手动重新启动 IRIS SNMP
子代理,如前所述。