本节概要介绍 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.1 User’s Guide》中的第 3 章 “Manually Adding Objects to the Topology Database”。有关如何自动搜索主机的详细信息,请参见《Sun Management Center 3.6.1 User’s Guide》中的第 4 章 “Adding Objects to the Topology Database Using the Discovery Manager”。由于除端口 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 = public # } |
删除每行行首的注释符号 (#),使代码如下所示。
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 = public } |
按以下步骤修改代码:
将 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。