我的第一个snmp4j的调用程序
来源:互联网 发布:linux如何安装jdk 编辑:程序博客网 时间:2024/06/01 10:40
网上这样的例子很多,我的第一个程序也是从网上DOWN下来的。但是我的程序结果没有Response信息。后来才发现应该是组件的管理监视工具没有装。我没有找到XP的。于是就跑在服务器上试了下。不多说贴代码:(需要SNMP4J的JAR包下载地址www.snmp4j.org)
init:
deps-jar:
compile-single:
run-single:
[INFO] 新建管理的设备
[INFO] 设置共同体名 public
[INFO] 设置目标Agent地址192.168.100.223/161
[INFO] 设置重试次数
[INFO] 设置超时时间
[INFO] 设置版本
Request UDP:GET[requestID=0, errorStatus=Success(0), errorIndex=0, VBS[1.3.6.1.2.1.1.1.0 = Null; 1.3.6.1.2.1.1.2.0 = Null; 1.3.6.1.2.1.1.3.0 = Null]]
[INFO] respEvt.getResponse()=RESPONSE[requestID=442376585, errorStatus=Success(0), errorIndex=0, VBS[1.3.6.1.2.1.1.1.0 = Linux masdevlop 2.6.9-42.ELsmp #1 SMP Sat Aug 12 09:39:11 CDT 2006 i686; 1.3.6.1.2.1.1.2.0 = 1.3.6.1.4.1.28357.1; 1.3.6.1.2.1.1.3.0 = 12 days, 3:34:19.64]]
1.3.6.1.2.1.1.1.0:Linux masdevlop 2.6.9-42.ELsmp #1 SMP Sat Aug 12 09:39:11 CDT 2006 i686
1.3.6.1.2.1.1.2.0:1.3.6.1.4.1.28357.1
1.3.6.1.2.1.1.3.0:12 days, 3:34:19.64
成功生成(总时间:1 秒)
import java.io.IOException;import java.util.Vector;import org.apache.log4j.Logger;import org.log.snmp.util.Log4jUtil;import org.snmp4j.CommunityTarget;import org.snmp4j.PDU;import org.snmp4j.Snmp;import org.snmp4j.TransportMapping;import org.snmp4j.event.ResponseEvent;import org.snmp4j.smi.Address;import org.snmp4j.smi.GenericAddress;import org.snmp4j.smi.OID;import org.snmp4j.smi.OctetString;import org.snmp4j.smi.VariableBinding;import org.snmp4j.transport.DefaultUdpTransportMapping;public class Test { private static Logger log = Logger.getLogger(Test.class); public static void main(String[] args) { try { Address targetAddress = GenericAddress.parse("udp:192.168.100.223/161");// Address targetAddress = GenericAddress.parse("udp:127.0.0.1/161"); TransportMapping transport = new DefaultUdpTransportMapping(); Snmp snmp = new Snmp(transport); transport.listen();//监听 log.info("新建管理的设备"); CommunityTarget target = new CommunityTarget(); log.info("设置共同体名 public"); target.setCommunity(new OctetString("public"));//设置共同体名 log.info("设置目标Agent地址" + targetAddress.toString()); target.setAddress(targetAddress);//设置目标Agent地址 log.info("设置重试次数"); target.setRetries(2);//重试次数 log.info("设置超时时间"); target.setTimeout(5000);//超时设置 log.info("设置版本"); target.setVersion(1);//版本 PDU request = new PDU(); request.setType(PDU.GET);//操作类型GET// request.add(new VariableBinding(new OID("1.3.6.1.2.1.1.1"))); request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.1.0")));//OID_sysDescr request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.2.0")));//OID_sysObjectID request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.3.0")));//OID_sysUpTime System.out.println("Request UDP:" + request); ResponseEvent respEvt = snmp.send(request, target); //读取得到的绑定变量 if (respEvt != null && respEvt.getResponse() != null) { log.info("respEvt.getResponse()=" + respEvt.getResponse()); Vector运行结果:revBindings = respEvt.getResponse().getVariableBindings(); for (int i = 0; i < revBindings.size(); i++) { VariableBinding vbs = revBindings.elementAt(i); System.out.println(vbs.getOid() + ":" + vbs.getVariable()); } } } catch (IOException e) { e.printStackTrace(); } }}
init:
deps-jar:
compile-single:
run-single:
[INFO] 新建管理的设备
[INFO] 设置共同体名 public
[INFO] 设置目标Agent地址192.168.100.223/161
[INFO] 设置重试次数
[INFO] 设置超时时间
[INFO] 设置版本
Request UDP:GET[requestID=0, errorStatus=Success(0), errorIndex=0, VBS[1.3.6.1.2.1.1.1.0 = Null; 1.3.6.1.2.1.1.2.0 = Null; 1.3.6.1.2.1.1.3.0 = Null]]
[INFO] respEvt.getResponse()=RESPONSE[requestID=442376585, errorStatus=Success(0), errorIndex=0, VBS[1.3.6.1.2.1.1.1.0 = Linux masdevlop 2.6.9-42.ELsmp #1 SMP Sat Aug 12 09:39:11 CDT 2006 i686; 1.3.6.1.2.1.1.2.0 = 1.3.6.1.4.1.28357.1; 1.3.6.1.2.1.1.3.0 = 12 days, 3:34:19.64]]
1.3.6.1.2.1.1.1.0:Linux masdevlop 2.6.9-42.ELsmp #1 SMP Sat Aug 12 09:39:11 CDT 2006 i686
1.3.6.1.2.1.1.2.0:1.3.6.1.4.1.28357.1
1.3.6.1.2.1.1.3.0:12 days, 3:34:19.64
成功生成(总时间:1 秒)
- 我的第一个snmp4j的调用程序
- 我的第一个调用Intrinsics函数的程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- 我的第一个程序
- keyCode
- VS 2008 新特性(转)
- MS SQLSERVER 取字符函数
- showModalDialog和showModelessDialog用法(HTML)
- 利用weblogic console监控jvm
- 我的第一个snmp4j的调用程序
- RandomUtil.getLotteryArray - 彩票数组
- AJAX + SVG 实现实时监控图表
- 整理C# 二进制,十进制,十六进制 互转
- c#常用快捷键
- 用AJAX编写用户注册时的应用实例
- VC 2005 对于CString和char*转换的理解
- VC++下编译出极小的程序.
- 【转】VC中Control与Value的区别