1

I have a MIB file from a vendor for interrogating a specific (and in this case, business-critical) piece of software.

When I do an snmptable on the request, I'm getting MAGIC-MIB::queryRtTable: No entries as the response, but when I watch with wireshark, I can see wireshark sending the responses.

Here is the server sending the response in wireshark:

Wireshark capture of SNMP response

Being ignorant when it comes to the construction of MIBs, I've posted what I hope is the relevant part of the MIB below:

MAGIC-MIB DEFINITIONS ::= BEGIN

IMPORTS
        enterprises
                FROM RFC1155-SMI
        OBJECT-TYPE
                FROM RFC-1212  
        DisplayString
                FROM RFC1213-MIB;

magic         OBJECT IDENTIFIER ::= {enterprises 15687}
manage          OBJECT IDENTIFIER ::= {magic 2}
query           OBJECT IDENTIFIER ::= {magic 3}

queryRtTable OBJECT-TYPE
             SYNTAX  SEQUENCE OF QueryRtEntry
             ACCESS  not-accessible
             STATUS  mandatory
             DESCRIPTION
                     "The list of loaded enterprise servers"
             ::= { query 3 }

          queryRtEntry OBJECT-TYPE
              SYNTAX  QueryRtEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The enterprise server entry"
              INDEX   { entServerEntryIndex }
              ::= { queryRtTable 1 }

          QueryRtEntry ::=
              SEQUENCE {
                              entServerEntryIndex
                      INTEGER,
                              entServerHost
                      DisplayString,
                              entServerPort
                      INTEGER,
                               openedApplication
                      DisplayString , 
                               entPriority
                      INTEGER,
                               runningThreads
                      INTEGER,
                               peakThreads
                      INTEGER,
                               runningContexts
                      INTEGER,
                               peakContexts
                      INTEGER,
                               requestsServed
                      INTEGER,
                               executionErrors
                      INTEGER
              }

          entServerEntryIndex OBJECT-TYPE
              SYNTAX  INTEGER (1..100000)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unique identifier for an enterprise server"
              ::= { queryRtEntry 1 }

          entServerHost OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The enterprise's host name"
              ::= { queryRtEntry 2 }

           entServerPort OBJECT-TYPE
              SYNTAX  INTEGER 
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The enterprise server's port number"
              ::= { queryRtEntry 3 }

          openedApplication OBJECT-TYPE
              SYNTAX  DisplayString
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The application that is running on the enterprise server."
              ::= { queryRtEntry 4 }

           entPriority OBJECT-TYPE
              SYNTAX  INTEGER 
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The priority of the enterprise server"
              ::= { queryRtEntry 5 }

           runningThreads OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The enterprise server's running thread counter"
              ::= { queryRtEntry 6 } 

           peakThreads OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The enterprise server's peak thread counter"
              ::= { queryRtEntry 7 }

           runningContexts OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The enterprise server's running context counter"
              ::= { queryRtEntry 8 } 

           peakContexts OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The enterprise server's peak context counter"
              ::= { queryRtEntry 9 }

           requestsServed OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of requests served"
              ::= { queryRtEntry 10 }

           executionErrors OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of execution errors"
              ::= { queryRtEntry 11 }   

Any ideas where I should look to find out why snmptable is not returning any data, even though the data is being sent? I'm guessing that it's an error in the MIB, but I don't really know where to start.

1 Answer 1

1

Turns out it's a bug in the SNMP agent of the software, nomatter which OID you request, it's always returning the same one. Which means if that's the OID you want to collect, great - if you want any of the other data, too bad.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .