本节概要介绍 SNMP,以及将传统 SNMP 代理配置为 Sun Management Center 代理的子代理的过程。
Sun Management Center 服务器使用 SNMP 与 Sun Management Center 代理通信。SNMP 也与其他服务器组件(如拓扑管理器、配置管理器、事件管理器和陷阱处理程序)进行通信。但 Sun Management Center 服务器使用远程方法调用 (RMI) 与 Sun Management Center 控制台进行通信。
Sun Management Center 组件的 SNMP 端口定义在以下两个文件中:
/var/opt/SUNWsymon/cfg/domain-config.x 文件,存在于运行任何 Sun Management Center 组件的所有计算机中
/var/opt/SUNWsymon/cfg/server-config.x 文件,存在于已安装了 Sun Management Center 服务器组件的计算机中
对于每个基于 SNMP 的 Sun Management Center 代理,domain-config.x 文件中都包含一个相应的配置块。每个配置块中至少有一行定义了对应代理的端口地址。server-config.x 文件中定义了 Sun Management Center 服务器的默认端口。
对于使用除 161 以外的端口地址的 Sun Management Center 代理,可以通过“创建拓扑对象”窗口将其主机手动添加到管理域。另外,您可以通过在搜索参数中指定端口号,自动搜索这些主机。有关“创建拓扑对象”窗口的更多信息,请参见《Sun Management Center 3.6 用户指南》中的第 3 章 “手动向拓扑数据库添加对象”。有关如何自动搜索主机的更多信息,请参见《Sun Management Center 3.6 用户指南》中的第 4 章 “使用搜索管理器将对象添加到拓扑数据库”。由于除端口 161 以外,您只能指定一个端口号,因此应该选择一个替代端口号并使用该端口号安装所有代理。
传统 SNMP 代理是指不属于 Sun Management Center 代理框架的 SNMP 代理。如果要在 Sun Management Center 中使用传统代理,则需要将一个或多个传统代理配置为 Sun Management Center 代理的子代理。
如果符合以下标准,任一传统 SNMP 代理都可以配置为 Sun Management Center 代理的子代理:
该传统代理可在除 161 以外的其他端口上运行
该传统代理配置支持将该代理作为非守护进程运行
拥有传统代理 MIB 定义文件
以下过程适用于安装了 Sun Management Center 服务器或/和代理的计算机。
以超级用户身份登录。
如果 /var/opt/SUNWsymon/cfg/subagent-registry-d.x 文件不存在,请从 /opt/SUNWsymon/base/cfg 目录中复制该文件:
# cp /opt/SUNWsymon/base/cfg/subagent-registry-d.x /var/opt/SUNWsymon/cfg/ |
在文件 /var/opt/SUNWsymon/cfg/subagent-registry-d.x 中,查找类似于如下内容的块:
# sa2 = { # type = legacy # persist = false # snmpPort = "20001" # errorAction = restart # startCommand = "/usr/lib/snmp/mibiisa -p %port" # stopCommand = "kill -9 %pid" # pollInterval = 60 # pollHoldoff = 60 # oidTrees = 1.3.6.1.2.1 # snmpVersion = SNMPv1 # securityLevel = noauth # securityName = espublic # } |
删除行首的注释符号 (#),使代码如下所示。
sa2 = { type = legacy persist = false snmpPort = "20001" errorAction = restart startCommand = "/usr/lib/snmp/mibiisa -p %port" stopCommand = "kill -9 %pid" pollInterval = 60 pollHoldoff = 60 managedTrees = "mib-2 sun" oidTrees = 1.3.6.1.2.1 snmpVersion = SNMPv1 securityLevel = noauth securityName = espublic } |
按以下步骤修改代码行:
将 sa2 改为该代理的唯一子代理名。
将 type 设为 legacy。
如果要使子代理在 Sun Management Center 代理退出时停止,请将 persist 设置为 false。如果该值为 true,则 Sun Management Center 代理退出时子代理不会停止。
将 snmpPort 设为要用来运行子代理的 UDP 端口号。
将 errorAction 设为 restart、ignore 或 kill。如果使用了 restart 选项,则 Sun Management Center 代理在与子代理的通信出错时将试图重新启动。
将 startCommand 设为用于启动子代理的强制命令。此命令应包含 %port,后者将被 snmpPort 中给出的值替代。
将 stopCommand 设为用于停止进程的命令。%pid 可以代表子代理进程的进程 ID (PID)。
将 pollInterval 设为 Sun Management Center 代理轮询子代理所用的时间(以秒为单位)。
将 pollHoldoff 设为从 Sun Management Center 代理启动子代理开始到第一次轮询该子代理为止的时间(以秒为单位)。
将 oidTrees 设为子代理管理的 SNMP OID 列表(以空格分隔)。
将 snmpVersion 设为 SNMPv1、SNMPv2 或 SNMPv3。
将 securityLevel 设为 priv、auth 或 noauth。
将 securityName 设为要使用的 SNMPv1 团体名称或 SNMPv2 安全性名称。
有关详细信息,请参见 subagent-registry-d.x 文件中的说明。
停止并重新启动 Sun Management Center 使更改生效。
键入 /opt/SUNWsymon/sbin/es-stop -A 停止 Sun Management Center。
等待所有进程成功停止。
键入 /opt/SUNWsymon/sbin/es-start -A 启动 Sun Management Center。
等待所有进程成功启动。
有关详细信息,请参见第 8 章,启动和停止 Sun Management Center。