Search code examples
snmpnet-snmp

Trailing numbers and dots in an OID not defined in a MIB


I am trying to get deeper into SNMP in order to correctly use its function. I have a task to monitor Wireless Access Point (WAP) status. the APs are controlled by a controller that knows the status of the APs and it is where I use SNMP to pull the info. I found this OID that shows "0" if the AP is disconnected

# snmpget -v2c -c xxx 1.2.3.4 SNMPv2-SMI::enterprises.25053.1.2.2.1.1.2.1.1.3.6.240.62.144.17.39.0
SNMPv2-SMI::enterprises.25053.1.2.2.1.1.2.1.1.3.6.240.62.144.17.39.0 = INTEGER: 0

I use net-snmp. I installed all the MIB for this product. When I do snmptranslate, however, it only explained to a certain point in the OID

# snmptranslate -m ALL -Td SNMPv2-SMI::enterprises.25053.1.2.2.1.1.2.1.1.3.6.240.62.144.17.39.0
RUCKUS-ZD-WLAN-MIB::ruckusZDWLANAPStatus.'..>..''.0
ruckusZDWLANAPStatus OBJECT-TYPE
  -- FROM       RUCKUS-ZD-WLAN-MIB
  SYNTAX        INTEGER {disconnected(0), connected(1), approvalPending(2), upgradingFirmware(3), provisioning(4)}
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION   "The connection status with ZD."
::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) ruckusRootMIB(25053) ruckusObjects(1) ruckusZD(2) ruckusZDWLANModule(2) ruckusZDWLANMIB(1) ruckusZDWLANObjects(1) ruckusZDWLANAPInfo(2) ruckusZDWLANAPTable(1) ruckusZDWLANAPEntry(1) ruckusZDWLANAPStatus(3) 6 240 62 144 17 39 0 }

The trailing 6.240.62.144.17.39.0 is not interpreted. I also found out that this trailing part is used in other OID to get other information about the AP, such as name, IP address, Serial number, ...etc

So my question is, where I can find out what each number means in this trailing string? Is it defined in the MIB? Is it related to SNMP "Table"? Thanks!


Solution

  • http://www.circitor.fr/Mibs/Mib/R/RUCKUS-ZD-WLAN-MIB.mib

    ruckusZDWLANAPTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF RuckusZDWLANAPEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ZD WLAN AP table."
        ::= { ruckusZDWLANAPInfo 1 }
    
    ruckusZDWLANAPEntry OBJECT-TYPE
        SYNTAX  RuckusZDWLANAPEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Specifies each ZD WLAN AP entry."
        INDEX {
            ruckusZDWLANAPMacAddr }
        ::= { ruckusZDWLANAPTable 1 }
    
    RuckusZDWLANAPEntry ::= SEQUENCE {
      ruckusZDWLANAPMacAddr                 MacAddress,
      ruckusZDWLANAPDescription             DisplayString,
      ruckusZDWLANAPStatus                  INTEGER,
      ruckusZDWLANAPModel                   DisplayString,
      ruckusZDWLANAPSerialNumber            DisplayString,
      ruckusZDWLANAPUptime                  TimeTicks,
      ruckusZDWLANAPSWversion               DisplayString,
      ruckusZDWLANAPHWversion               DisplayString,
      ruckusZDWLANAPIPAddr                  IpAddress,
      ruckusZDWLANAPNumRadios               Unsigned32,
      ruckusZDWLANAPNumVAP                  Unsigned32,
      ruckusZDWLANAPNumSta                  Unsigned32,
      ruckusZDWLANAPNumRogues               Unsigned32,
      ruckusZDWLANAPConnectionMode          INTEGER,
      ruckusZDWLANAPMeshEnable              TruthValue,
      ruckusZDWLANAPMeshHops                Unsigned32,
      ruckusZDWLANAPMeshType                INTEGER,
      ruckusZDWLANAPLANStatsRXByte          Counter32,
      ruckusZDWLANAPLANStatsRXPkt           Counter32,
      ruckusZDWLANAPLANStatsRXPktErr        Counter32,
      ruckusZDWLANAPLANStatsRXPKTSucc       Counter32,
      ruckusZDWLANAPLANStatsTXByte          Counter32,
      ruckusZDWLANAPLANStatsTXPkt           Counter32,
      ruckusZDWLANAPMemUtil                 INTEGER,
      ruckusZDWLANAPMemTotal                Unsigned32,
      ruckusZDWLANAPCPUUtil                 INTEGER,
      ruckusZDWLANAPFWSize                  Unsigned32,
      ruckusZDWLANAPFWAvail                 Unsigned32,
      ruckusZDWLANAPMultipleVlanCapability  TruthValue,
      ruckusZDWLANAP11bCapable              TruthValue,
      ruckusZDWLANAP11gCapable              TruthValue,
      ruckusZDWLANAPMultiModeAccessStatus   TruthValue,
      ruckusZDWLANAPEthStateChange          Counter32,
      ruckusZDWLANAPSyncConf                TruthValue,
      ruckusZDWLANAPUpgrade                 TruthValue,
      ruckusZDWLANAPFirstJoinTime           DisplayString,
      ruckusZDWLANAPLastBootTime            DisplayString,
      ruckusZDWLANAPLastUpgradeTime         DisplayString,
      ruckusZDWLANAPLastConfSyncTime        DisplayString,
      ruckusZDWLANAPLANStatsRXPKTBcast      Counter32,
      ruckusZDWLANAPLANStatsRXPKTMcast      Counter32,
      ruckusZDWLANAPLANStatsRXPKTUcast      Counter32,
      ruckusZDWLANAPLANStatsTXPKTBcast      Counter32,
      ruckusZDWLANAPLANStatsTXPKTMcast      Counter32,
      ruckusZDWLANAPLANStatsTXPKTUcast      Counter32,
      ruckusZDWLANAPLANStatsDropped         Counter32,
      ruckusZDWLANAPMeshUpPortCntUpdown     Counter32,
      ruckusZDWLANAPMeshDownPortCntUpdown   Counter32,
      ruckusZDWLANAPTxFrameDropped          Counter32,
      ruckusZDWLANAPTxFrameError            Counter32,
      ruckusZDWLANAPCoverageTech            INTEGER,
      ruckusZDWLANAPStaTxBytes              Counter32,
      ruckusZDWLANAPStaRxBytes              Counter32,
      ruckusZDWLANAPNetmask                 IpAddress,
      ruckusZDWLANAPGateway                 IpAddress,
      ruckusZDWLANAPDNS1                    IpAddress,
      ruckusZDWLANAPDNS2                    IpAddress,
      ruckusZDWLANAPTotalUser               Unsigned32,
      ruckusZDWLANAPLANStatsRXByteRate      Counter32,
      ruckusZDWLANAPLANStatsTXByteRate      Counter32
    }
    

    As the table uses MacAddress as index, the OID looks just like that.