本节概要介绍 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 代理,可以通过“创建拓扑对象”窗口将其主机手动添加到管理域。另外,您可以通过在搜索参数中指定端口号,自动搜索这些主机。有关“创建拓扑对象”窗口的详细信息,请参见“手动在拓扑数据库中添加对象” in Sun Management Center 3.5。有关如何自动搜索主机的详细信息,请参见“使用搜索管理器将对象添加到拓扑数据库中” in Sun Management Center 3.5。由于除端口 161 以外,您只能指定一个端口号,因此应该选择一个替代端口号并使用该端口号安装所有代理。
传统 SNMP 代理是指不属于 Sun Management Center 代理框架的 SNMP 代理。如果要在 Sun Management Center 中使用传统代理,则需要将一个或多个传统代理配置为 Sun Management Center 代理的子代理。
如果符合以下标准,任一传统 SNMP 代理都可以配置为 Sun Management Center 代理的子代理:
传统代理可以在除 161 以外的其它端口上运行
传统代理配置支持将该代理作为非守护进程运行
具有传统代理 MIB 定义文件
以下过程适用于安装了 Sun Management Center 服务器或/和代理的计算机。
以 root 用户身份登录。
如果 /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。
将 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。