Назад | Перейти на главную страницу

Где перечислены доступные токены отладки для инструментов Net-SNMP?

В 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: