Is there a way for the snmp_exporter to generate config for SNMP tables 
that have many entries using the same index?

I have this mib that uses this table, where node number is the index for 
reporting on the status of SSDs, there are 12 entries 1 for each SSD but 
they all have the same index.

--- SSD status and wear level information --

hcpSsdNodeTable  OBJECT-TYPE

       SYNTAX        SEQUENCE OF HcpSsdNodeTableEntry

       MAX-ACCESS    not-accessible

       STATUS        current

       DESCRIPTION

         "Table of SSDs in the HCP system nodes."

       ::= { hcpNodes 9 }

 

-- node SSD table row declaration

hcpSsdNodeTableEntry  OBJECT-TYPE

       SYNTAX       HcpSsdNodeTableEntry

       MAX-ACCESS   not-accessible

       STATUS       current

       DESCRIPTION

         "Information about each SSD."

       INDEX { nodeNumber }

       ::= { hcpSsdNodeTable 1 }

 

-- node SSD table row syntax

HcpSsdNodeTableEntry ::=

       SEQUENCE {

           ssdNodeNumber                  INTEGER,

           ssdEnclosure                   DisplayString,

           ssdSlot                        INTEGER,

           ssdModel                       DisplayString,

           ssdStatus                      DisplayString,

           ssdWear                        INTEGER,

           ssdThreshold                   INTEGER,

           ssdConfigThreshold             INTEGER,

           ssdHealth                      DisplayString

       }


The generator config creates 


   - name: ssdStatus

      oid: 1.3.6.1.4.1.116.5.46.1.9.1.5

      type: DisplayString

      help: Current status of the SSD - 1.3.6.1.4.1.116.5.46.1.9.1.5

      indexes:

      - labelname: nodeNumber

        type: gauge


This causes duplicate metrics because its not unique, the snmpwalk for the 
device looks like this


HCP-MIB::ssdStatus.110.3 = STRING: online

HCP-MIB::ssdStatus.110.4 = STRING: online

HCP-MIB::ssdStatus.110.5 = STRING: online

HCP-MIB::ssdStatus.110.6 = STRING: online

HCP-MIB::ssdStatus.110.7 = STRING: online

HCP-MIB::ssdStatus.110.8 = STRING: online

HCP-MIB::ssdStatus.110.9 = STRING: online

HCP-MIB::ssdStatus.110.10 = STRING: online

HCP-MIB::ssdStatus.110.11 = STRING: online

HCP-MIB::ssdStatus.110.12 = STRING: online

HCP-MIB::ssdStatus.111.1 = STRING: online

HCP-MIB::ssdStatus.111.2 = STRING: online


The only way I've been able to get around it is manually editing the 
snmp.yml to add


   - name: ssdStatus

      oid: 1.3.6.1.4.1.116.5.46.1.9.1.5

      type: DisplayString

      help: Current status of the SSD - 1.3.6.1.4.1.116.5.46.1.9.1.5

      indexes:

      - labelname: nodeNumber

        type: gauge

*      - labelname: ssdSlot*

*        type: gauge*


This works but is technically not a valid config as ssdSlot in that table 
is not an index. How can i use the generator to account for this type of 
mib?


-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/prometheus-users/9b17f846-7d53-4154-8caa-c30ceb81f0a5n%40googlegroups.com.

Reply via email to