Snmp_ex2_simple_standard_test报‘failed retrieving agent data’错误求助
SNMP GET操作测试报错:failed retrieving agent data 求助
我使用的SNMP测试模块snmp_ex2_simple_standard_test包含多个测试用例,为简化调试只保留了SNMP GET操作的测试逻辑,但执行时出现failed retrieving agent data错误,希望能得到解决建议。
排查操作与日志分析
- 在
snmp_ex2_manager.erl中添加了snmpm:verbosity(all, info).,并为snmpm_config开启了dbg日志 - 日志分析结果:
- 测试用例针对代理
127.0.1.1:161执行,调用snmpm_config:agent_info("127.0.1.1:161")时出现日志"SNMP M-SERVER INFO -- failed retrieving agent data for get:" - 调用
snmpm_config:agent_info(default_agent,all)可成功返回数据,default_agent是snmpm_config中通过-define(DEFAULT_TARGETNAME, default_agent).定义的默认代理 - 初步推测代理
127.0.1.1:161未完成正确初始化
- 测试用例针对代理
日志信息
Erlang/OTP 27 [DEVELOPMENT] [erts-14.1.1] [source] [64-bit] [smp:6:6] [ds:6:6:10] [async-threads:1] Eshell V14.1.1 (press Ctrl+G to abort, type help(). for help) (node1@vm-alarm)1> dbg:tracer(). {ok,<0.93.0>} (node1@vm-alarm)2> dbg:tpl(snmpm_config, agent_info, []). {ok,[{matched,'node1@vm-alarm',4}]} (node1@vm-alarm)3> dbg:p(all, c). {ok,[{matched,'node1@vm-alarm',51}]} (node1@vm-alarm)4> snmp_ex2_simple_standard_test:start(). (<0.103.0>) call snmpm_config:agent_info() (<0.103.0>) call snmpm_config:agent_info(default_agent,all) (<0.100.0>) call snmpm_config:agent_info() (<0.100.0>) call snmpm_config:agent_info(default_agent,all) snmpm:snmpm:mk_target_name(snmpUDPDomain, {{127,0,1,1},161}, [{community, "public"}]) -> "127.0.1.1:161-v1". (<0.103.0>) call snmpm_config:agent_info("127.0.1.1:161-v1",user_id) (<0.103.0>) call snmpm_config:agent_info({"127.0.1.1:161-v1",user_id}) (<0.114.0>) call snmpm_config:agent_info({127,0,1,1},version) (<0.114.0>) call snmpm_config:agent_info({{127,0,1,1},version}) *** [2024-02-09 21:59:58.372] SNMP M-SERVER INFO *** failed retrieving agent data for get: TargetName: {127,0,1,1} Error: {error,not_found} ok
代码修改
为简化调试,修改了snmp_ex2_simple_standard_test:start/3函数,仅保留SNMP GET操作测试:
start(Mibs, AgentAddr, AgentConfig) -> Conf = [{mibs, Mibs}], {ok, _Pid} = snmp_ex2_manager:start_link(Conf), snmp_ex2_manager:agent(AgentAddr, AgentConfig), %%simple_standard_test(AgentAddr), %%simple_standard_test_ori(AgentAddr), g(AgentAddr, [1,3,6,1,2,1,1,1]), %%sysDescr %%g(AgentAddr, [1,3,6,1,2,1,11,1]), %%snmpInPkts snmp_ex2_manager:stop().
内容的提问来源于stack exchange,提问作者Bhuvan
相关产品推荐
相关产品推荐

