虽然 ACSLS Agent 是一个相对简单的应用程序,但是它有许多依赖项,其中的任一依赖项都可能会阻止 Agent 响应 snmpget
请求或陷阱情况。
ACSLS Agent 的运行状态由您的 Solaris 或 Linux 服务器上的服务实用程序予以显示。
在 Solaris 上,请使用 svcs acsnmp
。
如果 acsnmp
无法启动,则 SMF 守护进程会将 acsnmp
置于维护状态。要收集关于它为何无法启动的线索,可以查阅 SMF 启动日志中的轨迹;要找到启动日志,请发出命令 svcs -l
acsnmp
并查找日志文件定义。然后,查看该日志中的最后几行:
# tail -20 /var/svc/log/application-management-acsnmp:default.log
在 Linux 上,请使用 service acsnmp status
。
service 命令仅显示 Agent 是正在运行还是已停止。
agent
命令要使 ACSLS Agent 能够响应 SNMP 请求,必须完成多个配置和运行依赖项并且它们必须已正常运行。$ACSNMP_HOME/utils
目录中有一个名为 agent
的命令。当尝试找出缺少各种系统依赖项中的哪一些时(如果有),此命令是一个很有用的故障排除助手。
命令 agent status
不但可用来查看 ACSLS Agent 的状态,还可用来查看所有相关服务的状态,包括:
Net-SNMP 代理守护进程 (snmpd
)。
ACSLS 应用程序 (acsls
)。
ACSLS 的 SNMP 服务器端接口 (snmpssi
)。
ACSLS Agent 守护进程 (AcslsAgtd
)。
到主代理的端口连接。
命令 agent status
还会检查是否为对 ACSLS MIB 进行只读访问而建立了已配置的 V1 用户 rocommunity。必须在 snmpd.conf
文件中定义 rocommunity。AcslsAgtd.cfg
文件中还需要包含团体定义,但是只有当在 snmpd.conf
中发现了多个团体并且只有一个特定团体供 ACSLS Agent 使用时才需要包含。
在检查依赖项并发现有效的 rocommunity 后,agent status
命令将通过提交 snmpget
命令、请求 ACSLS Agent 的版本继续对 Agent 进行测试。此测试的成功结果会显示 Agent 软件版本。
agent status
命令还查找所配置的陷阱目标。它测试对所定义的每个陷阱主机的网络访问并显示结果。如果配置了某个侦听器并且该侦听器正在本地主机上运行,则会测试到陷阱端口的连接并显示结果。
最后,agent
status
命令会发出 snmpget
来获取 ACSLS Agent 广播的最新陷阱消息。
agent
实用程序还可以用作替代启动命令。使用 agent start
启动 ACSLS Agent 时,您可以在它启动时观察该实用程序的进度。如果缺少任何依赖项,则在启动序列中会显示它们。当 acsnmp
已联机到 Solaris SMF 或 Linux 服务实用程序时,无法使用此 agent start
命令。
在检验 Agent 后,您可以直接使用 snmp
命令。使用 translate -n
捕获要关注的任何特定 OID,然后针对该 OID 提交 snmpget
命令。例如,如果 rocommunity 为 acs_user
,则通过运行 snmpget
并使用对应的数字 IOD 显示 Agent 软件的版本字符串:
# snmpget -v1 -c acs_user localhost 1.3.6.1.4.1.1211.1.11.1.1.0