В snmpcmd(1)
в разделе "Общие параметры" говорится:
-D[TOKEN[,...]]
Turn on debugging output for the given TOKEN(s). Try ALL for
extremely verbose output.
Какие жетоны я мог бы использовать кроме ALL
? Что означают жетоны? Инструменты очень либеральны в отношении того, какие токены они будут принимать.
$ snmpgetnext -Dserverfault_is_awesome [...]
registered debug token serverfault_is_awesome, 1
[...]
Лучшее, что я нашел до сих пор, - это вики-страница, посвященная версии 5.4.2.1, но он не решает общую проблему перечисления токенов отладки, которые действительны для текущей установленной версии (5.7.2 в моем случае).
Сам код не поддерживает список доступных токенов, и разработчики MIB могут определять свои собственные. Так что да, библиотека примет любую строку в качестве токена.
Поскольку внутреннего списка нет, невозможно сообщить о доступных токенах во время выполнения. Все, что вы можете сделать, это загрузить исходный код и запустить команду, предложенную в вики (которую я только что немного изменил):
find . -name "*.c" | xargs grep "DEBUGMSG[A-Z_]*(( *\"" | sed 's/^.*DEBUGMSG[A-Z_]*(( *\"\([^\"]*\).*/\1/' | sort -u
Я также добавил новую страницу вики, на которой перечислены некоторые из наиболее полезных токенов, и новую страницу со списком для 5.7.2: