I am working on a project to gather the MAC address and IP which is on a 
specific port on a network switch. I've been able to gather this 
information with the below SNMP config but the challenge is the MAC address 
comes back against the physical port index and the IPs come back against 
the VLANs index which is expected. The challenge I am having is using 
promql to join the data so I can show the IP associated with the MAC 
address on the physical port. 

 walk:
    - 1.3.6.1.2.1.17.1.4.1
    - 1.3.6.1.2.1.17.4.3.1
    - 1.3.6.1.2.1.4.22.1
    - 1.3.6.1.2.1.4.35.1
    metrics:
    - name: dot1dBasePortIfIndex
      oid: 1.3.6.1.2.1.17.1.4.1.2
      type: gauge
      help: The value of the instance of the ifIndex object, defined in 
MIB-II, for
        the interface corresponding to this port. - 1.3.6.1.2.1.17.1.4.1.2
      indexes:
      - labelname: dot1dBasePort
        type: gauge
    - name: dot1dTpFdbPort
      oid: 1.3.6.1.2.1.17.4.3.1.2
      type: gauge
      help: Either the value '0', or the port number of the port on which a 
frame
        having a source address equal to the value of the corresponding 
instance of
        dot1dTpFdbAddress has been seen - 1.3.6.1.2.1.17.4.3.1.2
      indexes:
      - labelname: dot1dTpFdbAddress
        type: PhysAddress48
        fixed_size: 6
    - name: dot1dTpFdbStatus
      oid: 1.3.6.1.2.1.17.4.3.1.3
      type: EnumAsInfo
      help: The status of this entry - 1.3.6.1.2.1.17.4.3.1.3
      indexes:
      - labelname: dot1dTpFdbAddress
        type: PhysAddress48
        fixed_size: 6
      enum_values:
        1: other
        2: invalid
        3: learned
        4: self
        5: mgmt
    - name: ipNetToMediaPhysAddress
      oid: 1.3.6.1.2.1.4.22.1.2
      type: PhysAddress48
      help: ' - 1.3.6.1.2.1.4.22.1.2'
      indexes:
      - labelname: ipNetToMediaIfIndex
        type: gauge
      - labelname: ipNetToMediaNetAddress
        type: InetAddressIPv4
    - name: ipNetToMediaType
      oid: 1.3.6.1.2.1.4.22.1.4
      type: EnumAsInfo
      help: ' - 1.3.6.1.2.1.4.22.1.4'
      indexes:
      - labelname: ipNetToMediaIfIndex
        type: gauge
      - labelname: ipNetToMediaNetAddress
        type: InetAddressIPv4
      enum_values:
        1: other
        2: invalid
        3: dynamic
        4: static
    - name: ipNetToPhysicalIfIndex
      oid: 1.3.6.1.2.1.4.35.1.1
      type: gauge
      help: The index value that uniquely identifies the interface to which 
this entry
        is applicable - 1.3.6.1.2.1.4.35.1.1
      indexes:
      - labelname: ipNetToPhysicalIfIndex
        type: gauge
      - labelname: ipNetToPhysicalNetAddress
        type: InetAddress
    - name: ipNetToPhysicalNetAddressType
      oid: 1.3.6.1.2.1.4.35.1.2
      type: EnumAsInfo
      help: The type of ipNetToPhysicalNetAddress. - 1.3.6.1.2.1.4.35.1.2
      indexes:
      - labelname: ipNetToPhysicalIfIndex
        type: gauge
      - labelname: ipNetToPhysicalNetAddress
        type: InetAddress
      enum_values:
        0: unknown
        1: ipv4
        2: ipv6
        3: ipv4z
        4: ipv6z
        16: dns
    - name: ipNetToPhysicalNetAddress
      oid: 1.3.6.1.2.1.4.35.1.3
      type: InetAddress
      help: The IP Address corresponding to the media-dependent `physical' 
address
        - 1.3.6.1.2.1.4.35.1.3
      indexes:
      - labelname: ipNetToPhysicalIfIndex
        type: gauge
      - labelname: ipNetToPhysicalNetAddress
        type: InetAddress
    - name: ipNetToPhysicalPhysAddress
      oid: 1.3.6.1.2.1.4.35.1.4
      type: PhysAddress48
      help: The media-dependent `physical' address - 1.3.6.1.2.1.4.35.1.4
      indexes:
      - labelname: ipNetToPhysicalIfIndex
        type: gauge
      - labelname: ipNetToPhysicalNetAddress
        type: InetAddress
    - name: ipNetToPhysicalLastUpdated
      oid: 1.3.6.1.2.1.4.35.1.5
      type: gauge
      help: The value of sysUpTime at the time this entry was last updated 
- 1.3.6.1.2.1.4.35.1.5
      indexes:
      - labelname: ipNetToPhysicalIfIndex
        type: gauge
      - labelname: ipNetToPhysicalNetAddress
        type: InetAddress
    - name: ipNetToPhysicalType
      oid: 1.3.6.1.2.1.4.35.1.6
      type: EnumAsInfo
      help: The type of mapping - 1.3.6.1.2.1.4.35.1.6
      indexes:
      - labelname: ipNetToPhysicalIfIndex
        type: gauge
      - labelname: ipNetToPhysicalNetAddress
        type: InetAddress
      enum_values:
        1: other
        2: invalid
        3: dynamic
        4: static
        5: local
    - name: ipNetToPhysicalState
      oid: 1.3.6.1.2.1.4.35.1.7
      type: EnumAsInfo
      help: The Neighbor Unreachability Detection state for the interface 
when the
        address mapping in this entry is used - 1.3.6.1.2.1.4.35.1.7
      indexes:
      - labelname: ipNetToPhysicalIfIndex
        type: gauge
      - labelname: ipNetToPhysicalNetAddress
        type: InetAddress
      enum_values:
        1: reachable
        2: stale
        3: delay
        4: probe
        5: invalid
        6: unknown
        7: incomplete
    - name: ipNetToPhysicalRowStatus
      oid: 1.3.6.1.2.1.4.35.1.8
      type: EnumAsInfo
      help: The status of this conceptual row - 1.3.6.1.2.1.4.35.1.8
      indexes:
      - labelname: ipNetToPhysicalIfIndex
        type: gauge
      - labelname: ipNetToPhysicalNetAddress
        type: InetAddress
      enum_values:
        1: active
        2: notInService
        3: notReady
        4: createAndGo
        5: createAndWait
        6: destroy

-- 
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 prometheus-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/b2bcafb8-cdb1-463b-8a5e-03ac9d4f1daen%40googlegroups.com.

Reply via email to