snmpwalk печатает OID + имя MIB рядом друг с другом во всех выводах

Вопрос или проблема

Я хочу иметь возможность выводить все OID и имена MIB рядом.

Это выведет oids

snmpwalk -v2c -c public 10.10.10.10

Это выведет mibs

snmpwalk -v2c -c public -m ALL 10.10.10.10

Как я могу показать OID + имя MIB в одной строке?

Я нашел, что это кажется рабочим вариантом, но есть ли способ проще?

snmpwalk -v2c -c public 10.10.10.10 > oids
snmpwalk -v2c -c public -m ALL 10.10.10.10 > mibs
paste pan-oids pan-mibs > oid-mibs

Ответ или решение

Для того чтобы одновременно вывести идентификаторы объектов (OID) и их соответствующие названия MIB на одной строке с помощью утилиты snmpwalk, существует несколько способов. Вы можете воспользоваться предложенным вами методом с использованием командной строки, однако есть и более оптимизированные решения. Рассмотрим детально, как добиться желаемого результата, сохраняя за собой структурированность и аккуратность.

Основной подход

Ваш текущий метод включает два отдельных вызова snmpwalk, где результаты сохраняются в файлы, а затем сливаются с помощью команды paste. Это, безусловно, рабочий вариант, но можно сделать его более элегантным и менее трудозатратным.

Оптимизированный способ

  1. Использование одного вызова: Можно использовать утилиту snmpwalk совместно с командными утилитами Unix для обработки данных на лету. Вариант с awk будет наиболее удобным.
snmpwalk -v2c -c public -m ALL 10.10.10.10 | awk -F ' = ' '{print $1, $2}' 

Этот вариант извлекает OID и соответствующее имя MIB и выводит их в одном формате, однако не всегда OID может быть в понятной MIB имя.

  1. Используйте OID вместе с MIB непосредственно. Настроив snmptranslate, вы можете одновременно отображать как OID, так и соответствующее имя MIB.
snmpwalk -v2c -c public 10.10.10.10 | awk '{print $1}' | xargs -I {} snmptranslate -On {} | xargs -I {} snmpwalk -v2c -c public -m ALL 10.10.10.10 {}

Другие полезные советы

  • Убедитесь, что все необходимые MIB файлы загружены: Для корректного отображения имен MIB, вам нужно убедиться, что у вас есть доступ к всем используемым MIB. Можно указать конкретные MIB файлы с помощью параметра -m.

  • Проверка правильных версий snmp: Версия утилиты snmp должна быть актуальной, так как более старые версии могут не поддерживать те или иные команды и опции.

  • Скрипт для автоматизации: Если вы часто выполняете это действие, вероятно, будет целесообразно создать оболочку или скрипт, который будет включать в себя указанные команды и будет принимать IP-адрес и параметры SNMP, выводя результаты в удобном формате.

Заключение

Таким образом, вывод OID и названий MIB на одной строке можно осуществить разными способами, включая оптимизированные методы, которые позволяют сократить количество необходимых шагов и улучшить читаемость вывода. Используйте предложенные варианты и сочетания команд UNIX, чтобы создать собственное эффективное решение, которое ускорит вашу работу с SNMP.

Оцените материал
Добавить комментарий

Капча загружается...