Object SNMP(Object Simple Network Management Protocol)是一個面向對象的SNMP開發組件,與關係資料庫流行的O-R Mapping技術類似,實現了Object到SNMP MIB的操作映射(簡稱O-M Mapping),系統提供了Java/SNMP網關、RMI/SNMP網關 、Web Service/SNMP網關服務。
基本介紹
- 外文名:Object Simple Network Management Protocol
- 縮寫:Object SNMP
內容簡介,相互比較,數據採集,
內容簡介
Object SNMP(Object Simple Network Management Protocol)是一個面向對象的SNMP開發組件,與關係資料庫流行的O-R Mapping技術類似,實現了Object到SNMP MIB的操作映射(簡稱O-M Mapping),系統提供了Java/SNMP網關、RMI/SNMP網關 、Web Service/SNMP網關服務。開發者無需理解SNMP協定和MIB細節,只需要定義普通數據對象,然後將數據對象按添加、刪除、修改、查詢等模式提交給網關即可。Object SNMP網關會自動將數據對象按開發者的期望傳送到SNMP設備,並返回用戶需要的數據對象。
Object SNMP提供諸如分散式代理SNMP網關、 網路拓撲發現、物理拓撲發現、網路自動搜尋發現 、設備連線關係發現、設備類型發現、網路漫遊搜尋、以及定義好的可管理各種設備的MIB數據等高級功能。
相互比較
比較項目 | 基於傳統SNMP協定棧開發 (如各種開源或商業SNMP協定棧) | 使用Object SNMP開發 |
軟體架構 | 實現對SNMP協定的原始封裝。 | 底層實現對SNMP協定的封裝,上層提供基於對象的網關服務和各種高級服務。 |
開發技能要求 | 需要對Socket、PDU/UDP、SNMP Get/SNMP Set/GetNext/GetBulk、MIB語法、OID規範、SNMP數據類型等有開發級的掌握。 | 僅需要對SNMP有概念了解就可開發。對開發人員完全螢幕蔽SNMP技術細節。並且有對象代碼的自動生成工具,進一步簡化開發。 |
開發效率 | 大量的SNMP協定層操作代碼 | 對象級的上層抽象操作。代碼量僅有傳統模式的10%。 |
開發時間 | 一般情況下,軟體生命周期內需要專人負責SNMP模組的開發和後期維護。 | 使用ObjectSNMP組件後,開發人員在SNMP模組開發和設備聯調上花費的時間僅有傳統模式的20%。 |
軟體性能 | 需要大量的調優、測試、驗證來保證。 | ObjectSNMP網關通道已通過基準性能驗證,新定義的數據對象直接在網關通道上傳遞。 |
軟體模式 | 無,需要開發人員重新建立。 | 有統一的對象模式和網關模式,與整體軟體的對象風格保持一致。 |
網關功能 | 無 | 同時支持Java、RMI、Web Service、Proxy等多種網關。 |
高級服務 | 無 | 全新技術的網路拓撲自動發現(全網發現、子網發現、IP發現、漫遊搜尋、物理連線拓撲發現) 和網路資源發現(發現網路連線埠、硬體設施、磁碟、CPU、軟體服務) |
預定義MIB對象 | 無 | 積累了多種MIB數據採集服務,如網路接口、流量、數據包、IP、CPU、磁碟、記憶體、IP-MAC、802.1X、AAA、路由信息、交換機MAC表、WiFi MIB等MIB數據,可以直接提供給用戶使用。 |
數據採集
ObjectSNMP提供如下常用數據採集服務,使用者可直接使用:
系統類MIB描述
(1). SNMP Agent系統信息(MibSystem)
描述:SNMP設備的基本描述信息,如系統名稱、啟動時間、描述等信息。所有支持SNMP的設備都應該支持此信息。
Mib類型:Mib組
MIB獲取方法:MibSystem mibResult=SNMPAPI. getMibObject(new MibSystem(),target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibSystem
Java對象描述:
屬性名 | 中文名 | 是否可寫 | 描述 |
sysDescr | 系統描述 | 唯讀 | 系統的描述信息。描述信息可作為識別設備類型的補充手段。 |
sysObjectID | 系統的私有OID | 唯讀 | 如果系統申請了企業私有OID,顯示系統私有OID。私有OID可以作為識別設備類型的方法。 |
sysUpTime | 啟動時間 | 唯讀 | 系統SNMP Agent模組運行的時間,一般可認為是系統的運行時間。單位:百分之一秒 |
sysContact | 系統聯繫人 | 可寫 | 系統的管理員或聯繫人 |
sysName | 系統名稱 | 可寫 | 系統的名稱 |
sysLocation | 系統位置 | 可寫 | 系統的物理位置 |
sysServices | 服務類型 | 唯讀 | 系統提供的服務類型。OSI劃分的服務類型。目前很少用到。 |
(2). 系統IP位址信息(MibIPAddrEntry)
描述:設備的IP位址、掩碼、網關等
Mib類型:Mib表。設備有多個IP位址。
支持的設備:路由器、交換機、防火牆、伺服器等支持IP協定的設備
MIB獲取方法:MibIPAddrEntry mibResult=SNMPAPI. getMibObject(new MibIPAddrEntry(),target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibIPAddrEntry
(3). SNMP Agent統計信息(MibSNMP)
描述:SNMP Agent模組統計的SNMP 請求、應答、錯誤等統計數據
Mib類型:Mib組
支持的設備:大部分支持SNMP的設備,都提供此信息。
MIB獲取方法:MibSNMP mibResult=SNMPAPI. getMibObject(new MibSNMP(),target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibSNMP
IP網路類MIB描述
(1). 網路接口/連線埠信息(MibIfEntry)
Mib類型:Mib表。設備有多個網路接口。
支持的設備:路由器、交換機、防火牆、伺服器等連線埠/接口設備
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibIfEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibIfEntry
(2).網路接口流量和數據包信息(MibIfEntry)
描述:網路設備、計算機均是多網口、多網路接口設備。比如交換機有多個接口,每個接口有獨立的流量和數據出入統計信息。
Mib類型:Mib表
支持的設備:路由器、交換機、防火牆、伺服器等連線埠/接口設備
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibIfEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibIfEntry
(3).IP層流量和輸入輸出統計信息(MibIP)
描述:通過整個設備系統的的流量信息、整個設備系統的輸入統計信息和輸出統計信息。
Mib類型:Mib組
支持的設備:路由器、交換機、防火牆、伺服器等支持IP協定的設備。
MIB獲取方法:MibIP mibResult=SNMPAPI. getMibObject(new MibIP(),target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibIP
(4).路由表信息(MibIPRouterEntry)
描述:IP設備的路由表信息。
Mib類型:Mib表。多項路由表信息。
支持的設備:路由器、計算機、防火牆、伺服器等
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibIPRouterEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibIPRouterEntry
(5). TCP連線資源和統計信息(MibTCPConnEntry)
描述:系統中所有TCP網路連線的信息,包含本地TCP監聽和遠程TCP連線。
Mib類型:Mib表。有多條TCP連線。
支持的設備:路由器、交換機、防火牆、伺服器等
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibTCPConnEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibTCPConnEntry
(6). UDP監聽信息(MibUDPEntry)
描述:系統中所有UDP監聽信息。
Mib類型:Mib表。
支持的設備:路由器、交換機、防火牆、伺服器等
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibUDPEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibUDPEntry
(7). IP-MAC關聯表(MibMacIP)
描述:IP位址和MAC地址的學習表。設備學習到的MAC地址和IP位址成對顯示出來。
Mib類型:Mib表。多個IP-MAC地址對。
支持的設備:路由器、交換機、計算機等
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibIpAdEntAddr.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. IpAdEntAddr
交換機MIB描述
(1). 交換機連線埠基本信息(Dot1dBasePortEntry)
描述:查看交換機所有的物理連線埠,物理連線埠與網路接口之間的對應關係,連線埠的基本
信息
Mib類型:Mib表
支持的設備:二層/三層交換機
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (Dot1dBasePortEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. Dot1dBasePortEntry
(2). 交換機轉發MAC地址和狀態(Dot1dTpFdbEntry)
Mib類型:Mib表
支持的設備:二層/三層交換機
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (Dot1dTpFdbEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. Dot1dTpFdbEntry
硬體設施類MIB描述
(1). 硬體設施和工作狀態(MibDeviceEntry)
Mib類型:Mib表。系統有多種設施。
支持的設備:計算機、伺服器、作業系統
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibDeviceEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibDeviceEntry
(2). 存儲系統狀態(MibDiskAndMemoEntry)
Mib類型:Mib表。
支持的設備:計算機、伺服器、作業系統
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibDisskAndMemoEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib.MibDiskAndMemoEntry
(3). CPU負載信息(MibProcessorEntry)
描述:系統中CPU的負載情況。
Mib類型:Mib表。
支持的設備:計算機、伺服器、作業系統、高端網路設備
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibProcessorEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibProcessorEntry
軟體類MIB描述
(1). 軟體進程狀態信息(MibSoftwareRunEntry)
描述:系統中正在運行的進程信息,如:進程名、進程路徑、運行狀態等。
Mib類型:Mib表
支持的設備:計算機、伺服器、作業系統等
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibSoftwareRunEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib.MibSoftwareRunEntry
(2). 已安裝的軟體信息(MibSoftwareInstallEntry)
描述:系統中已安裝的軟體信息。
Mib類型:Mib表
支持的設備:計算機、伺服器、作業系統等
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibSoftwareInstallEntry.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibSoftwareInstallEntry
Java類MIB描述
(1). Java伺服器基本信息(MibJvmOS)
描述:Java系統的基礎作業系統信息。
Mib類型:Mib組
支持的設備:使用SUN JDK/JRE的Java/J2EE軟體、伺服器。如:Tomcat、JBoss、SUN ONE
Server、Oracle OC4J Server等。
MIB獲取方法:MibJvmOS mibResult=SNMPAPI. getMibObject(new MibJvmOS(),target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibJvmOS
(2). JVM基本信息(MibJvmRuntime)
描述:Java虛擬機的全局基本信息。
Mib類型:Mib組
支持的設備:使用SUN JDK/JRE的Java/J2EE軟體、伺服器。如:Tomcat、JBoss、SUN ONE
Server、Oracle OC4J Server等。
MIB獲取方法:MibJvmRuntime mibResult=SNMPAPI. getMibObject(new MibJvmRuntime(),target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibJvmRuntime
(3). Java記憶體和堆疊狀態(MibJvmMemory)
描述:JVM的垃圾回收、記憶體、堆疊情況。
Mib類型:Mib組
支持的設備:使用SUN JDK/JRE的Java/J2EE軟體、伺服器。如:Tomcat、JBoss、SUN ONE
Server、Oracle OC4J Server等。
MIB獲取方法:MibJvmMemory mibResult=SNMPAPI. getMibObject(new MibJvmMemory(),target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibJvmMemory
(4). Java執行緒和資源消耗情況(MibJvmThreading)
描述:Java系統中全部執行緒的信息,包含執行緒的名稱、運行狀態、CPU時間等。
Mib類型:Mib表
支持的設備:使用SUN JDK/JRE的Java/J2EE軟體、伺服器。如:Tomcat、JBoss、SUN ONE
Server、Oracle OC4J Server等。
MIB獲取方法:List mibResultList=SNMPAPI. getAllTableData (MibJvmThread.class,target);
對應的Java對象:com.zhtelecom.common.snmp.mib. MibJvmThreading