Hi Andrew, The first thing to fix is using .0 as suffix for scalar managed objects (you name those "OIDs" which is not fully appropriate). The lookup mechanism of SNMP4J-Agent relies on this SNMP standard requirement. The most easiest way to instrument a scalar managed object is to overwrite its setValue method. I probably can add more pointers if you have tried the above.
Best regards, Frank > Am 09.09.2015 um 15:04 schrieb Andrew Samuels <[email protected]>: > > All, > > I have been looking at using SNMP4J for a while and finally started to get > to grips with it, however setting up OIDs that can return changing values > is proving more challenging than I anticipated and I am looking for > pointers. I have read the instrumentation guide and pulled various pieces > of code together from searching. > > So far I have the basics working, various examples show these > > // Set up a new agent > this.myAgent = new SNMPAgent("udp:10.0.0.5/161"); > > // Start the agent > this.myAgent.start(); > // Remove all the default MIBs so I can see any additions/changes I am > making more easily. > myAgent.unregisterManagedObject(myAgent.getSnmpv2MIB()); > myAgent.unregisterManagedObject(myAgent.getSnmp4jLogMIB()); > myAgent.unregisterManagedObject(myAgent.getSnmpCommunityMIB()); > myAgent.unregisterManagedObject(myAgent.getSnmp4jConfigMIB()); > myAgent.unregisterManagedObject(myAgent.getSnmpFrameworkMIB()); > myAgent.unregisterManagedObject(myAgent.getSnmpNotificationMIB()); > myAgent.unregisterManagedObject(myAgent.getUsmMIB()); > myAgent.unregisterManagedObject(myAgent.getVacmMIB()); > myAgent.unregisterManagedObject(myAgent.getSnmpProxyMIB()); > myAgent.unregisterManagedObject(myAgent.getSnmpTargetMIB()); > > //Add a simple OID with string > > OID mo1= new OID("1.3.6.1.2.1.1.1"); > myAgent.registerManagedObject(MOCreator.createReadOnly(mo1,"this is my > test")); > > If I start the agent and then do a walk > > snmpwalk -v 2c -c public 10.0.0.5 .1 > iso.3.6.1.2.1.1.1 = STRING: "this is my test" > iso.3.6.1.2.1.1.1 = No more variables left in this MIB View (It is past the > end of the MIB tree) > > I get back what I expected and everything is good, so I know the agent > starts, community is working etc. > > The next step I unfortunately do not seem to be able to get working at all. > > Lets say I have a class call Kitchen and an instance of the class called > ThisKitchen. It has the following return methods > > getStaffOnDuty() - returns string > getSpoonCount() - returns int > getKnifeCount() - returns int > getForkCount() - returns int > > These values can be updated in the ThisKitchen instance with comparable set > calls ,so setStaffOnDuty, setSpoonCount etc > > I have tried using a MOServerLookupListener and MOTable and also the > class UpdatableManagedObject, > however the MOTable I obviously do not yet understand fully and the > UpdateableManagedObject always returns null for the oid I set up. > > A simple oid structure (fake prefix) I am looking for would be > > 1.8.8.8.1 = staffonduty - string > 1.8.8.8.2 = spooncount - int > 1.8.8.8.3 = knifecount - int > 1.8.8.8.4 = forkcount - int > > Can any one provide some pointers, not looking for complete code (although > very welcome), but some basic framework pointers that aligns with what I am > trying to do ? as I believe my current approach is missing some > fundamentals for OIDs that change values and how the structures work. > > > Andrew. > _______________________________________________ > SNMP4J mailing list > [email protected] > https://oosnmp.net/mailman/listinfo/snmp4j _______________________________________________ SNMP4J mailing list [email protected] https://oosnmp.net/mailman/listinfo/snmp4j
