文章
· 一月 31, 2023 阅读大约需 4 分钟

第六十二章 使用 SNMP 监控 IRIS

第六十二章 使用 SNMP 监控 IRIS

本附录描述了 IRIS 数据平台和 SNMP(简单网络管理协议)之间的接口。 SNMP 是一种通信协议,作为一种管理 TCP/IP 网络(包括单个网络设备和一般计算机设备)的方法已获得广泛接受。它的流行扩大了它作为许多企业管理工具的底层结构和协议的用途。这是它对 IRIS 的主要重要性:一种向各种管理工具提供管理和监控信息的标准方法。

SNMP 既是一种标准消息格式,也是管理对象的一组标准定义。它还提供用于添加自定义管理对象的标准结构,这是 IRIS 用来定义其管理信息以供其他应用程序使用的功能。

SNMPIRIS 结合使用

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 标准代理例外,它不支持 AgentXNet-SNMP 版本可能不适合。对于这个例外,提供了一个 Windows 扩展代理 DLLiscsnmp.dll,它处理标准 Windows SNMP 服务扩展 APIIRIS 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 子树。

接下来,使用以下步骤启用监控服务:
1. 导航到管理门户中的服务页面(系统管理 > 安全 > 服务)。
2. 单击 %Service_Monitor 服务。
3. 选中启用服务复选框并单击保存。
4. 返回到服务列表页面并确保启用了 %Service_Monitor 服务。

最后,使用以下步骤将 IRIS SNMP 子代理配置为在 IRIS 启动时自动启动:

  1. 导航到管理门户中的监控设置页面(系统管理 > 配置 > 其他设置 > 监控)。
  2. 为系统启动时启动 SNMP 代理设置选择是,然后单击保存。
  3. 当编辑此设置时,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 子代理,如前所述。

讨论 (0)1
登录或注册以继续