Skip to content

Lookup based on IpAddress Index delivers empty results #1373

Description

@nicolai-hornung-bl

Hi!

I'm trying to lookup a table entry for CheckPoint VPN Tunnels (CHECKPOINT-MIB). These are apparently indexed by the peer IP address as can be seen in the MIB:

	  tunnelTable OBJECT-TYPE
	          SYNTAX  SEQUENCE OF  TunnelEntry
			  MAX-ACCESS  not-accessible
			  STATUS  current  
              DESCRIPTION
                      "A table containing VPN tunnel information."
			   ::= { tables 9002 }        
			   
			   
	  tunnelEntry OBJECT-TYPE
	          SYNTAX  TunnelEntry
	          MAX-ACCESS  not-accessible
	          STATUS  current
	          DESCRIPTION "No description available"
	          INDEX   { tunnelPeerIpAddr }
	          ::= { tunnelTable 1 } 	
		
      TunnelEntry ::=
              SEQUENCE {
                 tunnelPeerIpAddr
                      IpAddress,
                 tunnelPeerObjName
                      DisplayString,
                 tunnelState
                      INTEGER,
                 tunnelCommunity 
                      DisplayString,
                 tunnelNextHop
                      IpAddress,
                 tunnelInterface
                      DisplayString,
                 tunnelSourceIpAddr
                      IpAddress,
                 tunnelLinkPriority
                      INTEGER,
                 tunnelProbState
                      INTEGER,
                 tunnelPeerType
                      INTEGER,
                 tunnelType
                      INTEGER
              }
              
      tunnelPeerIpAddr OBJECT-TYPE
            SYNTAX  IpAddress
            MAX-ACCESS read-only
            STATUS  current
            DESCRIPTION "No description available"
            ::= { tunnelEntry 1 }   

This is the module in my generator.yml:

modules:
  CP_VPN_Tunnel:
    allow_nonincreasing_oids: true
    walk:
      - 1.3.6.1.4.1.2620.500.9002.1.3 # tunnelState
      - 1.3.6.1.4.1.2620.500.9003.1.3 # permanentTunnelState
    lookups:
      - source_indexes: [tunnelPeerIpAddr]
        lookup: tunnelPeerObjName
        drop_source_indexes: false
      - source_indexes: [permanentTunnelPeerIpAddr]
        lookup: permanentTunnelPeerObjName
        drop_source_indexes: false
    overrides:
      tunnelState:
        type: EnumAsStateSet
      permanentTunnelState:
        type: EnumAsStateSet

The tunnelPeerObjName field in the resulting metric however remains empty:

# HELP permanentTunnelState No description available - 1.3.6.1.4.1.2620.500.9003.1.3 (EnumAsStateSet)
# TYPE permanentTunnelState gauge
permanentTunnelState{permanentTunnelPeerIpAddr="127.0.0.1",permanentTunnelPeerObjName="",permanentTunnelState="active"} 1
permanentTunnelState{permanentTunnelPeerIpAddr="127.0.0.1",permanentTunnelPeerObjName="",permanentTunnelState="destroy"} 0
permanentTunnelState{permanentTunnelPeerIpAddr="127.0.0.1",permanentTunnelPeerObjName="",permanentTunnelState="down"} 0
permanentTunnelState{permanentTunnelPeerIpAddr="127.0.0.1",permanentTunnelPeerObjName="",permanentTunnelState="idle"} 0
permanentTunnelState{permanentTunnelPeerIpAddr="127.0.0.1",permanentTunnelPeerObjName="",permanentTunnelState="init"} 0
permanentTunnelState{permanentTunnelPeerIpAddr="127.0.0.1",permanentTunnelPeerObjName="",permanentTunnelState="phase1"} 0

An snmpwalk however returns data for this OID:

snmpwalk -v 2c -Cc -c COMMUNITY_STRING -l noAuthNoPriv 127.0.0.1 1.3.6.1.4.1.2620.500.9002.1.2
iso.3.6.1.4.1.2620.500.9002.1.2.127.0.0.1.0 = STRING: "s_127.0.0.1"

Is this an issue with the CHECKPOINT-MIB or is snmp_exporter mishandling the IpAddress indexed table lookups?

NOTE: All IPs have been changed to 127.0.0.1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions