SNMP協議OID的使用

SNMP(Simple Network Management Protocol簡單網絡管理)協議 是現在網絡管理系統(NMS)監控網絡設備狀態的協議,是現在網管事實上的標準,如果網絡設備不支持SNMP協議的話,那就好花費大量的精力來說服NMS廠商來支持你的設備,這樣得不償失。
 
SNMP支持的操作和操作方法很簡單的(當然協議本身還是不簡單的)。
 
SNMP的操作:GET ,GETNEXT, SET, TRAP
 
SNMP將被管理對象用一個樹來組織,被管理對象用OID表示(看不懂的童鞋先去看看Google百度一下snmp),通過snmp操作oid即可得到網絡管理的數據。
 
oid長這樣“.1.3.6.1.2.1.1.2.0”  子樹 1 -> 3 -> 6 -> 1 -> 2 -> 1 -> 1 -> 2 
 

oid的設計,在開發snmp agent中合理的設計OID讓它發揮強大的查詢功能。



(1)最簡單的查找對象值 GET .1.3.6.1.4.1.123.2.1.2  從根節點到葉子節點 
 
(2)查找表格中對象值 [表格的表現力是非常強大的,想想數據庫就是一張一張的表格],snmp協議當然要用表格來組織如此多的被管理的數據,而且通過GET GETNEXT oid可以完成各種形式完成對錶格數據車查詢,(當然一次只能查到一個被管理對象的數據,所以比較簡單)。
 
      通過二維表格定位查詢 GET .1.3.6.1.4.1.123.3.column-index.row-index 倒數第二位是列名的索引,最後一位是行索引
 
      通過某個字段索引比如ID號,可以像GET .1.3.6.1.4.1.123.3.column-index.id這樣獲取
 
                            比如IP地址,可以像 GET .1.3.6.1.4.1.123.3.column-index.192.168.1.254這樣獲取
 
                            比如 名稱字符串,可以像這樣GET .1.3.6.1.4.1.123.3.column-index.length.aa.aa. ... .aa 其中length爲名稱字符串的長度,.aa.aa. ... .aa爲名稱的ascii碼。
 
       通過支持GETNEXT .1.3.6.1.4.1.123.3.column-index.0.192.168.1.254 得到值並返回OID .1.3.6.1.4.1.123.3.column-index.index.192.168.1.254 如果沒有值就返回 .1.3.6.1.4.1.123.3.column-index.first-row-index(表格第一行的值和oid),常用於在表中遍歷ip地址爲192.168.1.254的所有的字段值。
 
(3) 多個查詢關鍵字組合
 
   關鍵字的類型 :int32:直接使用即可,如123
 
                        ip地址:也可以直接使用,就是四個int32的組合而已,如192.168.1.254
 
                        字符串:使用字符串個數+字符串的ascii碼。 aa 表示爲“2.97.97”
 
 查詢的規則要制定好,順序不能變,字符串的最好放在最後一個。如我要查詢ip爲192.168.1.254上用戶名爲aa的用戶的在線時間可以這樣".1.3.6.1.4.1.123.3.在線時間.192.168.1.254.2.97.97"
 
 還可以定義一下關鍵詞的類型,比如1=int32,2=ip地址,3=字符串,可以這樣 “".1.3.6.1.4.1.123.3.在線時間.3.2.97.97.2.192.168.1.254。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章