AdventNet Simulator 是一個模擬 SNMP Agent 的工具,支持常規的 SNMP Get / GetBulk / Set 等操作,對於網管軟件的開發很有幫助。用這個工具,可以做到不需要實際的設備,而只需要設備相關的 SNMP mib 文件就可以模擬出一個“真實”的節點設備。在實際的開發過程中,往往網管和設備是同時開始的,在設備開發還沒有結束的情況下,網管就可以用模擬器先模擬出一個設備進行基本的集成測試。
這裡假定已經在 AdventNet Simulator 裡有了一個模擬出的設備了,並且選擇的方式是 XML 方式。那如果 mib 文件發生了改動,這個時候通常的做法是先 Stop Agent,然後在左邊的 mib 樹上選中要更新的 mib,點擊 Unload Mib File,之後再重新加載就可以了。但是這樣做帶來的一個問題是之前配置的所有的數據可能都會丟掉,需要重新配,比較麻煩。
如果改動的 mib 不是很多的話,也可以直接修改 xml 文件來使模擬的設備支持新的 mib 表。
假設<SimulatorDir>是 AdventNet Simulator 的安裝目錄,<DeviceName>是模擬的設備的名稱,新增的表名字叫 NewMibTable。做法如下:
進入 <SimulatorDir>/snmpagents/<DeviceName> 目錄
打開 <DeviceName>_netSimMapping.xml,參考該文件中已有的其他表項,添加新增表的定義。
打開 <DeviceName>_netSimRegister.xml,同2,參考文件中已有的其他項,添加新增增表的定義。
找一個跟新增的項比較接近的 mib 表,拷貝粘貼重命名,生成 <DeviceName>_NewMibTable.xml,<DeviceName>_NewMibTable1.xml,<DeviceName>_NewMibTable_org.xml,<DeviceName>_NewMibTable1_org.xml,同樣修改裡面的數據,以適合這個新增表各個字段的類型和數值。
按照上述步驟,做完了之後再重新 Start Agent,然後驗證下看這個新增的表格增刪改數據有沒有問題。如果沒有問題,那恭喜你,已經成功了。如果不能增加修改的話怎麼辦呢?那就耐心點,再檢查下上面的一些配置文件是不是都配置的正確,有配的不對的就改掉,應該就好了。
另外,如果想實現其他的一些目的,比如不在模擬器 UI 裡面增加數據,而直接修改 XML 文件等等;有了上面的經驗,已經也能夠想到辦法的了。