ObjectSNMP Java SNMP 软件
2
目 录
一、 O-M Mapping 映射基础 ........................................................................................................................... 3
1. Java 对象与 Mib 映射 ............................................................................................................................... 3
2. O-M Mapping 映射法则 ........................................................................................................................... 4
3. O-M Mapping 映射示例 ........................................................................................................................... 5
二、 ObjectSNMP 开发步骤 ............................................................................................................................. 7
三、 学习示例程序 ........................................................................................................................................... 9
四、 使用 MIB 浏览器 .................................................................................................................................... 10
1. 启动运行 MIB 浏览器 ............................................................................................................................ 10
2. MIB 浏览器常用操作 ..............................................................................................................................11
五、 自动发现模块参数配置 ......................................................................................................................... 13
六、 网络和设备发现 ..................................................................................................................................... 14
七、 网络 IP 漫游发现 .................................................................................................................................... 15
八、 任意物理连接关系发现 ......................................................................................................................... 16
九、 资源和服务发现 ..................................................................................................................................... 17
十、 组合发现 ................................................................................................................................................. 17
ObjectSNMP Java SNMP 软件
3
一、 O-M Mapping 映射基础
1. Java 对象与 Mib 映射
所有的 SNMP MIB 可以分为两大类,一类称之为组如下图的 system 组,有查询、修改操作,
与之相映射的 JAVA 对象是:
public class MibSystem implements com.zhtelecom.common.snmp.OMMappingInfo
{
private String sysDescr;
private String sysObjectID;
private long sysUpTime;
private String sysContact;
private String sysName;
private String sysLocation;
private int sysServices;
get/set ……..
public String getMappingOID() //告诉要映射 system 组的 OID
{
return "1.3.6.1.2.1.1"; //system 组的 OID
}
}
另一类称之为表,可以有多行数据,如下图的 ospfStubAreaEntry 表,有添加行、删除、查询、
修改操作。
与之相映射的 JAVA 对象是:
public class MibOspfStubAreaEntry implements com.zhtelecom.common.snmp.OMMappingInfo
{
ObjectSNMP Java SNMP 软件
4
private String ospfStubAreaId;
private int ospfStubTOS;
private int ospfStubMetric;
private int ospfStubStatus;
private int ospfStubMetricType;
public String getMappingOID()
{
return "1.3.6.1.2.1.14.3.1"; // ospfStubAreaEntry 的 OID
}
映射的 Java 对象代码可以手工编写,也可以采用 Java 对象生成工具生成。
2. O-M Mapping 映射法则
API 操作映射
ObjectSNMP API
含义
SNMP 语义
Object getMibObject(Object object,
SNMPTarget target)
从 MIB 组 中 读 取
JAVA 对象
GET 多个 OID
List getAllTableData(Class objectClass,
SNMPTarget target)
从 MIB 表中读取全部
的 JAVA 对象
GET 或 GET Next 或 GetBulk 全部
MIB 表,仅对 MIB 表有效
update(Object object, SNMPTarget target)
修改 MIB 组/表中的
JAVA 对象
SET 多个 OID
addTableRow(Object object,
SNMPTarget target)
在 MIB 表 中 添 加
JAVA 对象
SET 多个 OID,仅对 MIB 表有效
delTableRow(Object object,
SNMPTarget target)
从 MIB 表 中 删 除
JAVA 对象
SET,仅对 MIB 表有效
getOIDValue(String oid,
SNMPTarget target)
快速 OID GET 方法
GET
getNextOIDValue (String oid,
SNMPTarget target)
快速 OID GetNext 方
法
GetNext
Java 数据类型映射
Java 映射项目
对应的 SNMP 映射项目
Java 对象属性名
组或表下的节点名称(大小写一致)
Java 属性 int 类型
最佳映射——SNMP 数据类型 INTEGER 、 Integer32
也可以映射:Counter、Counter32、Gauge、Gauge32、Counter64、TimeTicks
Java 属性 long 类型
最佳映射——SNMP 数据类型 Counter、Counter32、Gauge、Gauge32、
Counter64、TimeTicks
ObjectSNMP Java SNMP 软件
5
也可以映射——INTEGER 、 Integer32
Java 属性 String 类型
最 佳 映 射 ——SNMP 数 据 类 型 Opaque 、 IPAddress 、 OBJECT
IDENTIFIER、OCTET STRING
也可以映射——全部 SNMP 数据类型。
Java 对象属性读写
所有 Java 对象均提供 get/set 方法,ObjectSNMP 自动映射 MIB 节点的
可读/可写权限。
Java 对象属性数量
Java 对象属性的数量可以与 MIB 组或表下的节点数量相同或不相同;
不匹配的 Java 属性被自动忽略;
在 MIB 中无法匹配的节点被自动忽略。
建议用代码生成工具自动生成 Java 对象代码,自动映射数据类型。
3. O-M Mapping 映射示例
下面以 RFC1213.MIB 中 system 分组和 OSPF-MIB 下面的 ospfStubAreaEntry 表来示范 SNMP 组和
SNMP 表的映射:
system mib 组的映射
System 组的 MIB 结构如下图所示:
操作映射:
1. 从 SNMP Agent (IP:127.0.0.1)获取 mib system 组下所有节点(OID)的值:
SNMPTarget target=new SNMPTarget();
target.nodeIP = "127.0.0.1"; //SNMP Agent 的 IP 地址
SNMPAPI snmpapi = SNMPFactory.getSNMPAPI();//获取 ObjectSNMP API
MibSystem newMibObj= snmpapi.getMibObject(new MibSystem (); target);
此操作后,newMibObj 对象中的属性将从 Agent 得到最新的值。
2. 修改 Agent 中 system 分组下的所有节点的值
snmpapi.update(newMibObj,target);
- 1
- 2
- 3
前往页