Высокоуровневая команда для запроса нескольких веток snmp в одном tcp-сеансе?

Высокоуровневая команда для запроса нескольких веток snmp в одном tcp-сеансе?

Мы пытаемся отслеживать наши серверы в основном с помощью SNMP. По причинам производительности мы меняем это с одиночных запросов на snmp-bulk-requests (как разрешено в SNMP v2c).

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

В настоящее время мы используем для этого CentOS 5 (соответствующая команда высокого уровня snmpbulkwalk— ), но, похоже, она может запрашивать только одну ветвь (т. е. поддерево) за раз.

Я ошибаюсь в теории или существует командование высокого уровня, которое может сделать то, что я хочу?

решение1

Команда snmpbulkgetпозволяет вам указывать произвольные, несмежные запросы OID. Для правильного получения non-repeaters и max-repetitions может потребоваться некоторое экспериментирование.

Вот хороший пример:http://docstore.mik.ua/orelly/networking_2ndEd/snmp/ch02_06.htm

решение2

Вы правы. snmpbulkwalkнамного более эффективен в сети. Однако SNMP обычно не использует TCP; он использует UDP.

Массовые запросы SNMP не входят в спецификации SNMPv1, поэтому убедитесь, что ваши агенты SNMP, к которым вы обращаетесь, поддерживают версию SNMPv2c или выше.

При желании вы можете оформить snmpbulkwalkскрипт, который поможет вам с пакетной обработкой массовых запросов.

Если вы хотите отслеживать большой объем информации, вам, возможно, стоит рассмотреть возможность использования RRDToolполнофункциональной системы мониторинга, например Nagios.

Связанный контент