如何在net-snmp中查看DEBUGMSGTL的日志

时间:2011-11-09 15:11:34

标签: snmp agent net-snmp snmpd

我正在尝试编写一个使用agentX的snmp子代理,net-snmp支持它。 首先,我使用了net-snmp FAQ中的示例代码:

http://www.net-snmp.org/wiki/index.php/TUT:Writing_a_Subagent

从示例代码中 ( example-demon.c,nstAgentSubagentObject.c,nstAgentSubagentObject.h ),我构建了一个可以使用agentX执行snmpget和snmpset的子代理。

我的问题是: 从 nstAgentSubagentObject.c 中的代码,有许多跟踪代码,如下所示:

DEBUGMSGTL(("nstAgentSubagentObject",
                "Initializing the nstAgentSubagentObject module\n"));

但我无法在任何地方看到日志。

我试图通过启动snmpd(snmp的恶魔) snmpd -f -DnstAgentSubagentObject -Lf /tmp/snmp.log

但我还是看不到日志。谁能告诉我如何查看DEBUGMSGTL的日志?

2 个答案:

答案 0 :(得分:2)

我可以设置标志:

-Dverbose

或者如果您想查看所有日志:

-Dall

答案 1 :(得分:1)

您希望在启动时将该命令行选项传递给子代理,而不是使用snmpd启动-D nstAgentSubagentObject

在教程中,它建议使用以下命令启动子代理:

% ./mysubagent &

要启用更多调试消息,请尝试使用以下命令启动它:

% ./mysubagent -D nstAgentSubagentObject

如果我没记错的话,应该将调试输出打印到控制台。如果您希望将其写入文件,可以将其与-L选项结合使用。