Къде се съхраняват стойностите на OID MIB?

Къде се съхраняват SNMP MIB OID стойности и тип достъп за всеки 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