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语言这块呢,了解下就行,呵呵
------解决方案--------------------