2014-12-16 2 views
0

сценарий использует Net::SNMP модуль для Perl.Perl и SNMP - параметры ввода

Я пытаюсь запустить команду snmpget с некоторыми добавленными параметрами, например. (-Ir) (здесь есть list опций), но я не нашел способа сделать это. В документации для этого модуля я ничего не нашел о добавлении параметров ввода в команду snmp.

Если есть какой-либо другой модуль, который поддерживает это, это было бы неплохо, но это не было бы первым выбором, поскольку для этого потребуется много изменений в скрипте (не мой скрипт, просто выполняющий незначительные изменения).

я мог бы запустить систему (или кавычку) команду из Perl и т.д .:

snmpget -v2c -c COMMUNITY -Ir HOST OID 

и разобрать вывод, но я хотел бы избежать этого также.

Любые советы или решения приветствуются, поскольку я все еще новичок в Perl.

Thx.

+0

Вы связались с документацией Net :: SNMP, поэтому я уверен, что вы все прочитали, прежде чем спрашивать. Какие параметры вы хотите изменить? Нет «команды», есть только вызовы вашего скрипта API. По-моему, '-r' в net-snmp - это повторы. В Net :: SNMP вы устанавливаете флаг повторений с помощью функции session-> retries() (http://search.cpan.org/~dtown/Net-SNMP-v6.0.1/lib/Net/SNMP.pm#retries % 28% 29 _-_ set_or_get_the_current_retry_count_for_the_object) Флаг '-I' устанавливает формат ввода, но вам не нужно анализировать входы, потому что вы - скрипт Perl, а не инструмент командной строки. – Jolta

+0

У меня есть красная документация, и у меня нет решения для хранения, поэтому я отправил на поиски зайца. Как указано в вопросе, я хочу установить параметр -Ir. – zonelsk

ответ

0

Вы связались с документацией Net :: SNMP, поэтому я уверен, что вы все прочитали, прежде чем спрашивать ... Правильно?

Нет «команды», есть только вызовы вашего скрипта API.

[Редактировать после комментариев ниже]

Net :: SNMP не имеет возможности проверить индексы перед отправкой запроса. Итак, вы можете сказать, что по умолчанию включен эквивалент -Ir. Фактически, Net :: SNMP не загружает вашу MIB, поэтому перед отправкой запроса он не проверяет правильность ваших запрошенных переменных.

+0

'-Ir' - это не то же самое, что' -I -r', в этом случае ('snmpget -I -r' не работает с' Неизвестным параметром ввода, переданным -I: -.'). Из 'man snmpcmd':" ** - Ir ** отключает проверку табличных индексов и значение, которое должно быть присвоено соответствующим определениям MIB. Это (надеюсь) приведет к тому, что удаленный агент сообщит о некорректном запросе, а не проверяет (и отклоняет), прежде чем он будет отправлен удаленному агенту ». – ThisSuitIsBlackNot

+0

Да, именно, я хочу установить опцию -Ir, это отключает проверку индекса, и она работает из командной строки. – zonelsk

+0

Спасибо за объяснение, что вы хотите более подробно, я внесла поправки в ответ. Тот, кто его проголосовал, может рассмотреть следующий раз, чтобы добавить лучший ответ, если вы знаете, что ответ неверен. – Jolta

Смежные вопросы