Greetings from Australia!
I'm a Software Engineer designing a prototype application for my work which can hopefully do the following: - A user can input an IP of any SNMP enabled device on a local network - The application then effectively "learns" about the device by walking its MIB (i.e. it queries the device for all of its SNMP data) - The application displays the MIB in a tree format and groups certain OID's together in a table format (i.e. it might show the MIB-2 System [1.3.6.1.2.1.1] sub-tree [I'm not too sure on the terminology of that] in one table for categorizations sake, rather than have everything all displayed on the screen at once) - The user can then perform GETs and SETs on the appropriate objects The reason I use the term "learns" is because it would be ideal for this application to work with any device that is SNMP enabled, rather than taking the approach of "we will only be querying devices that use <insert MIB here>". I am relatively new to SNMP development (have been learning about SNMP and fooling around with the SNMP4J library since about January this year) and have been reading a couple of books on SNMP (Larry Walsh's SNMP MIB Handbook and O'Reilly's Essential SNMP). In addition to this, I have searched the email archives and Google for people that are either A) trying to develop or have already developed a similar application, or B) encountering similar problems to those I am either expecting to encounter or have already encountered. Unfortunately this has not really turned up anything that I find adequate. I suppose the first question I have is whether or not this is actually possible? It seems like this might not really be what SNMP was intended to be used for (but I am determined to find this out for certain). Following on from this (given that it is possible), what would the best approach be to tackle such a problem? So far I have not determined a way to be able to query a device and effectively ask it what MIB it is using, I have either had to hard code a WALK from node .1 (this takes absolutely forever and I imagine this is definitely not ideal!) or I have had to perform a walk from the root note of the MIB that I know the device I am testing actually has. The latter goes against the design of the application - that this application should be able to learn a device regardless of what MIB it is using. The next question I have is a bit more specific to SNMP4J. I found this email http://lists.agentpp.org/pipermail/snmp4j/2007-July/002308.html and it raised the good question of whether I would need to be translating the OID's into its object name at runtime or compile time. My guess is that I would need to do this at runtime, being as I will be dealing with arbitrary devices. In this case, am I correct in assuming that JASMI will be the right tool for the job (because having only OID's will not provide enough information to the user as to what data is being retrieved of course)? Thanks for taking the time to read this email, if you require any more information I will respond as soon as possible. I apologise if my terminology/overall understanding of SNMP/SNMP4J is not as vast as it should be. Regards, David Cooper _______________________________________________ SNMP4J mailing list [email protected] http://lists.agentpp.org/mailman/listinfo/snmp4j
