日期:2014-05-19  浏览次数:20709 次

求snmp4j-agentx的使用经验及示例!
不知那位大哥有没有使用过snmp4j-agentx来开发相关的网络监控的应用呀,snmp4j-agentx虽然开源,但对于其使用却没有多少说明,只有一个简单的API的文档,小弟我看了那个根本不知道无从下手呀!希望高手们给点经验及意见,有Demo的更好呀,谢谢!

------解决方案--------------------
up
------解决方案--------------------
怎么解决呀!关注!!!

------解决方案--------------------
严重支持开源snmp4j
------解决方案--------------------
顶啊,我也是很关注snmp4j这个东东啊!
------解决方案--------------------
利用snmp4j开源包来获取指定OID的信息(SNMPv3)
第一步测试Main方法:
Java code

public class MainSnmpWalk{
    static Logger log = Logger.getLogger(MainSnmpWalk.class);
    public MainSnmpWalk(){
    }

    public static void main(String[] args) throws InterruptedException{
        
        //建立一个SNMPv2c PDU,它会从system(1.3.6.1.2.1.1)OID开始游走
//        SnmpWalk walk = new SnmpWalk("192.168.100.10","1.3.6.1.2.1.1.5.0");//物理位置
//        SnmpWalk walk = new SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.2.2");//RAM
//        SnmpWalk walk = new SnmpWalk("127.0.0.1","1.3.6.1.2.1.25.2.3.1.6");//Hard Disk
//        SnmpWalk walk = new SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.5.1.1.1");//CPU Utilization
        
//        SnmpWalk walk = new SnmpWalk("127.0.0.1","1.3.6.1.2.1.25.1");//也含本机物理总内存
        //cpu:1.3.6.1.2.1.25.5.1.1.1
        //memory:1.3.6.1.2.1.25.5.1.1.2 //得到的是每个进程的的内存使用值
        
        //1.3.6.1.2.1.25.3.3.1.2.1 //一个比较通用的看设备CPU利用率的OID值。取最后一分钟的平均值。
        
        
        // Linux下可以.1.3.6.1.2.1.25.2和.1.3.6.1.2.1.25.5这两个值试试
        //====================================================
        
        //.1.3.6.1.4.1.311.1.1.3.1.1.1.2.0
        
//        SnmpWalk walk = new SnmpWalk("127.0.0.1","1.3.6.1.2.1.1.1");//系统描述
//        SnmpWalk walk = new SnmpWalk("127.0.0.1","1.3.6.1.2.1.25.1.7.0");//本机物理总内存
//        SnmpWalk walk = new SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.4.2.1.2");//列出系统进程
//        SnmpWalk walk = new SnmpWalk("127.0.0.1",".1.3.6.1.4.1.77.1.2.25.1.1");//列出系统用户列表
//        SnmpWalk walk = new SnmpWalk("127.0.0.1",".1.3.6.1.4.1.77.1.4.1");//列出域名(工作组)
//        SnmpWalk walk = new SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.6.3.1.2");//列出安装的软件
        
        
//        SnmpWalk walk = new SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.3.3.1.2");
        
        //SnmpWalk walk = new SnmpWalk("127.0.0.1",".1.3.6.1.2.1.25.4.2.1.2");//当前进程列表
    
        //可用的内存数量: .1.3.6.1.4.1.311.1.1.3.1.1.1.2.0 
        //磁盘利用率的OID: .1.3.6.1.4.1.311.1.1.3.1.1.5.1.3.0
        //CPU的利用率: .1.3.6.1.4.1.311.1.1.3.1.1.2.1.3.1.48.0
        //发送的字节数(包括组帧字符): 1.3.6.1.2.1.2.2.1.16.1
        //收到的字节数(包括组帧字符): 1.3.6.1.2.1.2.2.1.10.1
        
        //cpuPercentProcessorTime  .1.3.6.1.4.1.311.1.1.3.1.1.2.1.3
        //memoryAvailableKBytes (OID: .1.3.6.1.4.1.311.1.1.3.1.1.1.29)
        //memoryAvailableMBytes (OID: .1.3.6.1.4.1.311.1.1.3.1.1.1.30)
        
//==================================================================================        
//        log.debug("Doing SNMPv2 walk..");
        //1.3.6.1.2.1.1.6.0
//          SnmpWalk walk = new SnmpWalk("192.168.100.57","1.3.6.1.2.1.1.4.0");//1.3.6.1.2.1.1.5.0
//          String str =  walk.doWalk();
//          log.debug("主方法str:  "+ str);

            
//==================================================================================
        /**
         * 在Windows操作系统上默认是没有安装snmp协议的,需要安装snmp,安装细节较简单,这里不再描述
         * 1.在Windows上安装好了snmp之后,它默认是不支持SNMPv3的,需要重新安装一个SNMPv3的代理
         * 2.在Windows上直接安装软件:snmpv3agent setup.exe并配置好安全名称(用户)、认证协订、认证密码、保密协定以及保密密码    
         * 3.设置好了之后,在代码里直接相对应就OK了.
         */
        //.1.3.6.1.4.1.77.1.2.25.1.1  //1.3.