Я пытаюсь использовать snmp для запроса списка каталогов. Я добавил строку exec в snmp.conf ("exec list / bin / ls / pathtodirectory") и перезапустил службу. Когда я выполняю обход snmp для OID exec, я вижу строку, возвращаемую exec, но это только первая строка вывода ls. Можно ли перечислить весь каталог как одну строку или вернуть несколько строк?
Да. Фактически, если вы проверите страница руководства для snmpd.conf вы откроете для себя extend
директива:
расширить [MIBOID] NAME PROG ARGS
работает аналогично директиве exec, но с рядом улучшений. Таблицы MIB (nsExtendConfigTable и т. Д.) Индексируются токеном NAME, поэтому на них не влияет порядок чтения записей из файлов конфигурации. Есть две таблицы результатов: одна (nsExtendOutput1Table), содержащая статус выхода, первая строка и полный вывод (как одна строка) для каждой расширенной записи, а другая (nsExtendOutput2Table), содержащая полный вывод в виде серии отдельных строк. Если указан MIBOID, то в этой точке дерева OID будут корень таблицы конфигурации и результатов, но в остальном они структурированы точно так же. Это означает, что несколько отдельных директив расширения могут указывать один и тот же корень MIBOID без конфликтов. Статус выхода и выходные данные кэшируются для каждой записи индивидуально, и их можно очистить (и настроить поведение кэширования) с помощью nsCacheTable.