[SNMP4J] Recommended client for monitoring SNMP tables?
Frank Fock
fock at agentpp.com
Wed Feb 11 20:00:27 CET 2009
Hi Paul,
There are indeed many errors in that MIB
which makes it unusable for MIB Explorer
(causing the error you quoted). That's why
using the lenient import is at your own
risk ;-)
A syntactically correct version of the MIB is:
MIB-TEST DEFINITIONS ::= BEGIN
IMPORTS Integer32, enterprises, Unsigned32,
OBJECT-TYPE, MODULE-IDENTITY FROM SNMPv2-SMI
OBJECT-GROUP FROM SNMPv2-CONF;
functionalarea MODULE-IDENTITY
LAST-UPDATED "200902110000Z"
ORGANIZATION "My Organistation"
CONTACT-INFO ""
DESCRIPTION "My MIB"
::= { component 3 }
mycompany OBJECT IDENTIFIER ::= { enterprises 999999 }
component OBJECT IDENTIFIER ::= { mycompany 1 }
-- functionalarea OBJECT IDENTIFIER ::= { component 3 }
connectedServiceQueueSizes OBJECT-TYPE
SYNTAX SEQUENCE OF ConnectedServiceQueueSizeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION ""
::= { functionalarea 1 }
connectedServiceQueueSizeEntry OBJECT-TYPE
SYNTAX ConnectedServiceQueueSizeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION ""
INDEX { serviceID }
::= { connectedServiceQueueSizes 1 }
ConnectedServiceQueueSizeEntry ::= SEQUENCE {
serviceID Unsigned32,
queueSize Integer32
}
serviceID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION ""
::= { connectedServiceQueueSizeEntry 1 }
queueSize OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION ""
::= { connectedServiceQueueSizeEntry 2 }
functionalareaCompl OBJECT IDENTIFIER
::= { functionalarea 2 }
functionalareaBasicGroup OBJECT-GROUP
OBJECTS { queueSize }
STATUS current
DESCRIPTION "Basic objects"
::= { functionalareaCompl 1 }
END
The most common MIB design issues are described
on:
http://www.mibdesigner.com/html/mibdesign.html
This site might help you when completing your
MIB.
Best regards,
Frank
Paul Mellor wrote:
> I'm not sure the mailing list software appreciated me attaching a file, so
> I've pasted the MIB in below:
>
> MIB-TEST DEFINITIONS ::= BEGIN
>
> IMPORTS Integer32, enterprises FROM SNMPv2-SMI
> OBJECT-TYPE FROM RFC-1212;
>
> mycompany OBJECT IDENTIFIER ::= { enterprises 999999 }
> component OBJECT IDENTIFIER ::= { mycompany 1 }
> functionalarea OBJECT IDENTIFIER ::= { component 3 }
>
>
> connectedServiceQueueSizes OBJECT-TYPE
> SYNTAX SEQUENCE OF ConnectedServiceQueueSizeEntry
> MAX-ACCESS not-accessible
> STATUS current
> ::= { functionalarea 1 }
>
> connectedServiceQueueSizeEntry OBJECT-TYPE
> SYNTAX ConnectedServiceQueueSizeEntry
> MAX-ACCESS not-accessible
> STATUS current
> INDEX { serviceID }
> ::= { connectedServiceQueueSizes 1 }
>
> ConnectedServiceQueueSizeEntry ::= SEQUENCE {
> serviceID Integer32,
> queueSize Integer32
> }
>
> serviceID OBJECT-TYPE
> SYNTAX Integer32
> MAX-ACCESS not-accessible
> STATUS current
> ::= { connectedServiceQueueSizeEntry 1 }
>
> queueSize OBJECT-TYPE
> SYNTAX Integer32
> MAX-ACCESS read-only
> STATUS current
> ::= { connectedServiceQueueSizeEntry 2 }
>
> END
>
> -----Original Message-----
> From: snmp4j-bounces at agentpp.org [mailto:snmp4j-bounces at agentpp.org] On
> Behalf Of Paul Mellor
> Sent: 11 February 2009 10:38
> To: 'Frank Fock'
> Cc: snmp4j at agentpp.org
> Subject: RE: [SNMP4J] Recommended client for monitoring SNMP tables?
>
> Hi Frank,
>
> Thanks for the tip - I've downloaded MIB Explorer, but unfortunately when
> using the attached MIB file I'm encountering the following problems:
>
> 1) When importing the MIB, I'm encountering 4 instances of the following
> syntax error: "Error 1000: Encountered "MAX-ACCESS" Was expecting:
> "ACCESS"...". Can you see what the problem is? My MIB newbie eyes can't
> see any difference between my MIB and similar table definitions in other MIB
> files.
>
> 2) If I go ahead and choose to import the MIB with the most lenient syntax
> checks, I get the following exception when attempting to browse down through
> the tree to the node for the defined table (which I concede may well be due
> to the flawed MIB!):
>
> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
> at
> com.agentpp.mib.MIBObjectType.getSubTypeString(MIBObjectType.java:76)
> at
> com.agentpp.explorer.ExplorerTreeCellRenderer.getTreeCellRendererComponent(U
> nknown Source)
> at
> javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(U
> nknown Source)
> at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(Unknown
> Source)
> at
> javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize
> (Unknown Source)
> at
> javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredWidth(U
> nknown Source)
> at
> javax.swing.tree.VariableHeightLayoutCache.getMaxNodeWidth(Unknown Source)
> at
> javax.swing.tree.VariableHeightLayoutCache.getPreferredWidth(UnknownSource)
> at
> javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(UnknownSource)
> at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(Unknown
> Source)
> at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(Unknown
> Source)
> at javax.swing.JComponent.getPreferredSize(Unknown Source)
> at javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
> at java.awt.Container.layout(Unknown Source)
> at java.awt.Container.doLayout(Unknown Source)
> at java.awt.Container.validateTree(Unknown Source)
> at java.awt.Container.validateTree(Unknown Source)
> at java.awt.Container.validateTree(Unknown Source)
> at java.awt.Container.validateTree(Unknown Source)
> at java.awt.Container.validateTree(Unknown Source)
> at java.awt.Container.validateTree(Unknown Source)
> at java.awt.Container.validateTree(Unknown Source)
> at java.awt.Container.validate(Unknown Source)
> at sun.awt.windows.WComponentPeer$1.run(Unknown Source)
> at java.awt.event.InvocationEvent.dispatch(Unknown Source)
> at java.awt.EventQueue.dispatchEvent(Unknown Source)
> at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
> Source)
> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
> Source)
> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
> at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
> at java.awt.EventDispatchThread.run(Unknown Source)
>
> Apologies if this isn't the correct forum to discuss MIB Explorer issues,
> but any help would be much appreciated!
>
> Thanks
>
> Paul
>
> -----Original Message-----
> From: Frank Fock [mailto:fock at agentpp.com]
> Sent: 10 February 2009 17:32
> To: Paul Mellor
> Cc: snmp4j at agentpp.org
> Subject: Re: [SNMP4J] Recommended client for monitoring SNMP tables?
>
> Hi Paul,
>
> You have taken my MIB Explorer Pro into
> account yet?
>
> An evaluation version is available from
> http://www.mibexplorer.com
>
> The upcoming 3.0 release will get a DB
> interface to put monitored values directly into a SQL database (DB2, Oracle,
> MySQL, etc.).
>
> I am not sure if that is what you are
> looking?
>
> Best regards,
> Frank
>
> Paul Mellor wrote:
>> Hi,
>>
>>
>>
>> I've used the SNMP4JAgent library to add agent functionality to my
>> server that returns both scalar and tabular SNMP objects (that have a
>> fixed
> number
>> of columns but a variable number of rows), which works great. Whilst
>> developing, I have been using Paessler's PRTG and SNMP helper software
>> to test my OIDs. This works fine with the scalar objects, and allows
>> me to access cells in the tabular objects if I include the column and
>> index values.
>>
>>
>>
>> However, for production it would be much nicer if the network
>> monitoring client would take the OID of the whole table and then
>> determine the table state (using the GETNEXT command) itself and
>> present a graphical view of
> the
>> table structure and contents. Does anyone know of any client that is
>> capable of doing this?
>>
>>
>>
>> Thanks
>>
>>
>>
>> Paul
>>
>>
>>
>> _______________________________________________
>> SNMP4J mailing list
>> SNMP4J at agentpp.org
>> http://lists.agentpp.org/mailman/listinfo/snmp4j
>
--
AGENT++
http://www.agentpp.com
http://www.mibexplorer.com
http://www.mibdesigner.com
More information about the SNMP4J
mailing list