我正在爲我公司現有的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個左右的人)。這組對象是固定的,所以這沒關係......只是不夠整齊。
- 是否有某種方法來定義表中的索引名稱?
- 是否有某種定義容器類型的方法?
- 是否有某種方式允許葉節點是非唯一的?
還有其他想法嗎?