Где хранятся значения OID MIB?

Где хранятся значения OID SNMP MIB и тип доступа для каждого OID, указанного в файле MIB, во встроенных системах на базе Linux? (например, сетевое оборудование, телевизионные приставки, управление машинами, промышленная автоматизация) Должна быть внутренняя база данных для хранения всех этих значений OID MIB, имен, типов доступа внутри.


person Community    schedule 08.04.2014    source источник


Ответы (2)


Как правило, существует несколько способов существования данных и доступа к ним со стороны агента snmp:

1) Внутренняя память агента, обычно только для настройки и мониторинга самого агента

2) Агент выполняет системные вызовы для запроса локального устройства/программного обеспечения для поиска необходимой информации. Например, когда вы запрашиваете время безотказной работы машины из HOST-RESOURCES-MIB, агент определит это, запросив ядро ​​(через API или через файловую систему, подобную /proc, или...)

3) Агент взаимодействует с чем-то еще через некий механизм, подобный RPC. Одним из таких механизмов является протокол AgentX, который представляет собой протокол между главным агентом и субагентом, являющийся подмножеством SNMP для использования в локальной системе. Субагенты регистрируются у главного агента, указывая, что они хотят предложить обслуживание для некоторой части дерева MIB.

По сути, очень редко сам агент знает данные. Почти всегда приходится запрашивать что-то еще в системе, чтобы сообщить информацию.

person Wes Hardaker    schedule 09.04.2014
comment
=> 3) значит, SNMP-агент делает запрос к мастер-агенту по протоколу AgentX и запрашивает у него значение переменной MIB? Главный агент работает на локальном устройстве/системе или на удаленном? Где хранится само дерево MIB? - person ; 09.04.2014
comment
Протокол Agentx не предназначен для безопасной работы, поэтому он действительно должен находиться в той же системе. Если вам нужно, чтобы это было в другой системе, вы можете вместо этого использовать прокси-сервер SNMP. (Net-SNMP поддерживает это; см. раздел прокси в файле snmpd.conf). - person Wes Hardaker; 11.04.2014

Вообще говоря, для агентов на основе net-snmp определения объектов используются для создания исходных файлов C, которые в конечном итоге создаются и связываются с агентом SNMP, snmpd. Я не читал весь исходный код net-snmp, но сомневаюсь, что используется внутренняя база данных.

person Lex Li    schedule 08.04.2014