日期:2014-05-20  浏览次数:21048 次

java用snmp实现监控路由器 交换机
最近网上找了些资料,主要包有
snmp4j : http://www.snmp4j.org/html/download.html

snmphibernate: http://sourceforge.net/projects/snmphibernate/

ObjectSNMP(面向对象的Java SNMP组件)(貌似收费?):http://www.zhtelecom.com/objectsnmp.htm  
ObjectSNMP在线的一个不错的Demo:http://www.zhtelecom.com/objectsnmpdemo.htm


我目前要实现主要是监控路由器和交换机的 网络输入速度、网络输出速度、发送包数、接收包数 。。。
snmp4j研究的比较多一点,但是有很多疑问。
这是我设定的几个变量:
Java code

    private String ip=""; //要检测的IP
    private int version;                //要检测对象的snmp版本号
    private String port;          //要检测对象的端口,一般是161
    private String OID;           //要检测对象的OID值
    private String community = "public";   //设定共用体


疑问如下:
1. 我现在就直接通过OID获取到相应的值,可以直接实现?我这是想说,我不知道厂商mib的存储形式,好像经理的意思也让我找常见的思科,h3c,hp等的那些mib吧,我能否直接通过这些mib传OID值呢?感觉,只是感觉,有时候OID不执行上一个得不到下一个,如有时不执行OID为1.2.x.1.0的,就得不到1.2.x.1.1 的。。。有时貌似也没问题
2. 还有一个比较麻烦的问题,取的OID值吧,到底哪个是网络输入速度,网络输出速度或发送接收的包数,是我想要的。?对应问题?
3. 版本问题,现在测试都是用v1 v2版本的,v3貌似要设置论证啊,加密什么的。。。
4. snmphibernate看起来可以解决OID映射问题,但是一个测试的例子都没成功过,。。。郁闷。。

请知道的各位同仁,前辈们指教,思想+代码帮助,谢谢!!!

------解决方案--------------------
顶起,我也想看下实现监控所需要技术
------解决方案--------------------
我只关心网络方面,至于java语言就不太会,呵呵。
想以网络和多线程切入java语言这块呢,了解下就行,呵呵
------解决方案--------------------
探讨
各位同仁,一起探讨探讨啊!!!
snmp。。。。。
我貌似有新任务是获取网络拓扑图,,,汗,,,