2015-12-10 6 views
0

Я пишу расширение для моих существующих SNMP MIB. У меня есть целый список объектов с одинаковыми свойствами для каждого. Я хочу получить и установить их через SNMP.SNMP OID с уникальными именами узлов

Например, если у меня есть объект name, desc, arg0, arg1. То, что я хочу, чтобы иметь возможность ссылаться на них как:

fullpath.objects.ObjectA.name 
fullpath.objects.ObjectA.desc 
fullpath.objects.ObjectA.arg0 
fullpath.objects.ObjectB.name 
fullpath.objects.ObjectB.desc 
fullpath.objects.ObjectB.arg0 

Однако появляются листовые узлы, чтобы иметь уникальные имена, поэтому я не могу определить это.

я могу использовать таблицу SNMP для получения:

fullpath.objects.table.name.1 
fullpath.objects.table.desc.1 
fullpath.objects.table.arg0.1 
fullpath.objects.table.name.2 
fullpath.objects.table.desc.2 
fullpath.objects.table.arg0.2 

Но нет нигде искать, что 2 означает ObjectB. Это оставляет его открытым, чтобы пользовательская ошибка искала неправильное значение и устанавливала неправильную вещь.

На данный момент лучшее решение, которое я могу увидеть:

fullpath.objects.ObjectAName 
fullpath.objects.ObjectADesc 
fullpath.objects.ObjectAArg0 
fullpath.objects.ObjectBName 
fullpath.objects.ObjectBDesc 
fullpath.objects.ObjectBArg0 

, который включает в себя определение name для каждого объекта (есть 20 или около них). Набор объектов фиксирован, так что это нормально ... просто не очень аккуратно.

  1. Есть ли способ определить имена для индекса в таблице?
  2. Есть ли способ определения типа контейнера?
  3. Есть ли способ, позволяющий листовым узлам быть неповторимыми?

Любые другие идеи?

ответ

0
  1. Вы должны обязательно использовать таблицы SNMP, чтобы выполнить то, что требуется. Это единственный способ.

  2. MIB Имена объектов должны быть уникальными в пределах всего файла MIB.

  3. Вы можете легко использовать объект OCTET STRING типа в качестве указателя таблицы. Таким образом, каждый байт/символ/символ OCTET STRING будет переведен в соответствующий цифровой код ASCII в OID.

0

Я закончил с использованием соглашения об именах и добавлении каждого из параметров непосредственно в MIB.

Не совсем тот ответ, который я хотел, но это означает, что все настройки отображаются в MIB, что снижает вероятность того, что пользователи установят неправильную настройку.