как посмотреть журнал DEBUGMSGTL в net-snmp - PullRequest
1 голос
/ 09 ноября 2011

Я пытаюсь написать субагент snmp, использующий agentX, который поддерживается net-snmp. Сначала я использовал примеры кода из net-snmp FAQ:

http://www.net -snmp.org / вики / 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?

Ответы [ 3 ]

2 голосов
/ 29 февраля 2012

я могу просто установить флаг:

-Dverbose

или если вы хотите просмотреть все журналы:

-Dall
1 голос
/ 11 ноября 2011

К вашему сведению, вы также можете поместить в файл snmp.conf следующее и изменить там параметры:

debugTokens nstAgentSubagentObject
doDebugging 1

Но другой ответ - точный: вам нужно включить отладку, где будет выполнен код, который находится в субагенте (файл snmp.conf будет прочитан обоими). ​​

1 голос
/ 10 ноября 2011

Вместо запуска snmpd с -D nstAgentSubagentObject вы хотите передать этот параметр командной строки своему субагенту при запуске.

В руководстве предлагается запустить субагент следующей командой:

% ./mysubagent &

Чтобы включить больше отладочных сообщений, попробуйте запустить его с помощью следующей команды:

% ./mysubagent -D nstAgentSubagentObject

Если я правильно помню, это должно распечатать вывод отладочной информации на консоль. Вы можете комбинировать его с параметром -L, если хотите, чтобы он записывался в файл.

...