How to collect data using meraki mib

This is a cloud controller mib, so the agent for telegraf will be URL site.domain.com:portnum.

snmpwalk bring metrics data from all network equipment controlled by this cloud.

snmpwalk -v2c -t 10 -c "<<string>>" -Ob -m ./MERAKI-CLOUD-CONTROLLER-MIB.mib site.domain.com:portnum .1

MERAKI-CLOUD-CONTROLLER-MIB::organizationName.0 = STRING: <<>>
MERAKI-CLOUD-CONTROLLER-MIB::networkId.x.xx.xxx.xxx.xx.xxx.xx.xxx = STRING: "<<>>"
MERAKI-CLOUD-CONTROLLER-MIB::networkId.y.xx.xxx.xxx.xx.xxx.xx.xxx  = STRING:  "<<>>"
MERAKI-CLOUD-CONTROLLER-MIB::vlanName.x.xx.xxx.xxx.xx.xxx.xx.xxx = STRING:"<<>>"    
MERAKI-CLOUD-CONTROLLER-MIB::vlanName.x.xx.xxx.xxx.xx.xxx.xx.xxx = STRING: "<<>>"
MERAKI-CLOUD-CONTROLLER-MIB::vlanName.x.xx.xxx.xxx.xx.xxx.xx.xxx = STRING: "<<>>"

telegraf config:

[[inputs.snmp]]
agents = [ "site.domain.com:portnum" ]
version = 2
community = "<<string>>"
name = "cloud_pilot"

[[inputs.snmp.field]]
    name = "orgname"
    oid = "MERAKI-CLOUD-CONTROLLER-MIB::organizationName.0"

[[inputs.snmp.field]]
    name = "networkname"
    oid = "MERAKI-CLOUD-CONTROLLER-MIB::networkId.x.xx.xxx.xxx.xx.xxx.xx.xxx"

telegraf test output:

telegraf --config telegraf.d/meraki_cloud.conf --test
> cloud_pilot,agent_host=site.domain.com,host=<<>> networkname="networkname",orgname="orgname" 1603483521000000000

Question: How to collect all network and device data without mentioning full OID path “MERAKI-CLOUD-CONTROLLER-MIB::networkId.x.xx.xxx.xxx.xx.xxx.xx.xxx”, this path is unique for each device and will not be practical to manage a fleet of the device information. Looking for something like a wild card character to poll SNMP data

MERAKI-CLOUD-CONTROLLER-MIB

DEFINITIONS ::= BEGIN
  IMPORTS
    enterprises, MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress, Counter32
      FROM SNMPv2-SMI
    DateAndTime, DisplayString
      FROM SNMPv2-TC
    ifIndex, InterfaceIndex
      FROM IF-MIB
    PhysAddress
      FROM RFC1213-MIB;

cloudController MODULE-IDENTITY
  LAST-UPDATED "201609010001Z"
  ORGANIZATION "Cisco Systems, Inc."
  CONTACT-INFO
    "Cisco Systems, Inc.
     500 Terry Francois Blvd.,
     San Francisco, CA 94158
     USA
     Tel: +1-415-632-5800"
  DESCRIPTION
    "Management information base in SMI v2 for the Meraki Cloud Controller."
  REVISION      "201609010001Z"
  DESCRIPTION
    "Updated vpnConnectivityChange trap."
  REVISION      "201506250001Z"
  DESCRIPTION
    "The latest version of this MIB module."
  REVISION      "201205240001Z"
  DESCRIPTION
    "The initial version of this MIB module."
  ::= { meraki 1 }

meraki OBJECT IDENTIFIER ::= { enterprises 29671 }

organization OBJECT IDENTIFIER ::= { cloudController 1 }

merakiProducts OBJECT IDENTIFIER ::= { meraki 2 }

traps OBJECT IDENTIFIER ::= { organization 7 }

merakiObjects OBJECT IDENTIFIER ::= { meraki 3 }

  changeDescription OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The description of a settingsChanged event."
  ::= { merakiObjects 1 }

loginEmail OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The email used for the login attempt."
  ::= { merakiObjects 2 }

loginResult OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The result of the login attempt, either success or failure."
  ::= { merakiObjects 3 }

loginDescription OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "A JSON description of the login attempt which includes the location and time of the attempt."
  ::= { merakiObjects 4 }

tunnelDescription OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "A JSON description of the tunnel's detailed information."
  ::= { merakiObjects 5 }

period OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Time period over which network usage is tracked for threshold."
  ::= { merakiObjects 6 }

endOfHighUsageWindow OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "End time of high usage window."
  ::= { merakiObjects 7 }

threshold OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Maximum desired network usage."
  ::= { merakiObjects 8 }

usage OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Actual network usage."
  ::= { merakiObjects 9 }

organizationName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Organization name."
  ::= { organization 1 }

networkTable OBJECT-TYPE
  SYNTAX SEQUENCE OF MerakiNetwork
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "Networks table."
  ::= { organization 2 }

networkEntry OBJECT-TYPE
  SYNTAX MerakiNetwork
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "Describes each network."
  INDEX { networkId }
  ::= { networkTable 1 }

MerakiNetwork ::= SEQUENCE {
  networkId OCTET STRING,
  networkName DisplayString
}

networkId OBJECT-TYPE
  SYNTAX OCTET STRING (SIZE(0..64))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Network id, consists of 8 octets.  Remains the same even
               if the name of the network changes"
  ::= { networkEntry 1 }

networkName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Network name."
  ::= { networkEntry 2 }

networkAdmin OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Name and email of a network admin."
  ::= { networkEntry 3 }

vpnPeer OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "IP and port of a VPN peer connected to the network."
  ::= { networkEntry 4 }

ssidTable OBJECT-TYPE
  SYNTAX SEQUENCE OF MerakiSSID
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "SSID table."
  ::= { organization 3 }

ssidEntry OBJECT-TYPE
  SYNTAX MerakiSSID
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "Describes each SSID."
  INDEX { networkId, ssidNumber }
  ::= { ssidTable 1 }

MerakiSSID ::= SEQUENCE {
  ssidNetworkName DisplayString,
  ssidNumber INTEGER,
  ssidName DisplayString
}

ssidNetworkName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The name of the network the SSID is part of."
  ::= { ssidEntry 1 }

ssidNumber OBJECT-TYPE
  SYNTAX INTEGER (0..65535)
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "SSID number."
  ::= { ssidEntry 2 }

ssidName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "SSID name."
  ::= { ssidEntry 3 }

userName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Name of user connected to SSID."
  ::= { ssidEntry 4 }

userEmail OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Email of user connected to SSID."
  ::= { ssidEntry 5 }

radiusServerIp OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "IP address of RADIUS server used for authentication
               on an SSID."
  ::= { ssidEntry 6 }

radiusServerPort OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Port associated with an IP address of RADIUS server
               used for authentication on an SSID."
  ::= { ssidEntry 7 }

devTable OBJECT-TYPE
  SYNTAX SEQUENCE OF MerakiDev
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "Device table."
  ::= { organization 4 }

devEntry OBJECT-TYPE
  SYNTAX MerakiDev
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "Describes each device."
  INDEX { devMac }
  ::= { devTable 1 }

MerakiDev ::= SEQUENCE {
  devMac PhysAddress,
  devName DisplayString,
  devStatus INTEGER,
  devContactedAt DateAndTime,
  devClientCount INTEGER,
  devMeshStatus INTEGER,
  devPublicIp IpAddress,
  devSerial DisplayString,
  devProductCode DisplayString,
  devProductDescription DisplayString,
  devNetworkName DisplayString,
  devCellularStatus DisplayString
}

devMac OBJECT-TYPE
  SYNTAX PhysAddress (SIZE(6))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The MAC address of the device."
  ::= { devEntry 1 }

devName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Device name."
  ::= { devEntry 2 }

devStatus OBJECT-TYPE
  SYNTAX INTEGER { offline(0), online(1) }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The status of the device's connection to the Meraki Cloud Controller"
  ::= { devEntry 3 }

devContactedAt OBJECT-TYPE
  SYNTAX DateAndTime
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The last time the device contacted the Cloud Controller."
  ::= { devEntry 4 }

devClientCount OBJECT-TYPE
  SYNTAX INTEGER
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The number of clients currently associated with the device."
  ::= { devEntry 5 }

devMeshStatus OBJECT-TYPE
  SYNTAX INTEGER { gateway(0), repeater(1) }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Whether the device is currently acting as a gateway or a repeater."
  ::= { devEntry 6 }

devPublicIp OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Whether the device is currently acting as a gateway (as opposed to a repeater)."
  ::= { devEntry 7 }

devSerial OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Device serial number."
  ::= { devEntry 8 }

devProductCode OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Device product code."
  ::= { devEntry 9 }

devProductDescription OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Device product description."
  ::= { devEntry 10 }

devNetworkName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The name of the network this device is in.  Useful in tables."
  ::= { devEntry 11 }

devLanIp OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The LAN IP of the device. Useful for DHCP server alerts."
  ::= { devEntry 12 }

devSubnet OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The subnet the device is on. Useful for DHCP server alerts."
  ::= { devEntry 13 }

devCellularStatus OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The Cellular status of the device. Useful for monitoring the state of the cellular modem."
  ::= { devEntry 14 }

devInterfaceTable OBJECT-TYPE
  SYNTAX SEQUENCE OF MerakiDev
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "Device interfaces table."
  ::= { organization 5 }

devInterfaceEntry OBJECT-TYPE
  SYNTAX MerakiDev
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "Describes each device."
  INDEX { devInterfaceDevMac, devInterfaceIndex }
  ::= { devInterfaceTable 1 }

devInterfaceDevMac OBJECT-TYPE
  SYNTAX PhysAddress (SIZE(6))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The MAC address of the device."
  ::= { devInterfaceEntry 1 }

devInterfaceIndex OBJECT-TYPE
  SYNTAX INTEGER (0..65535)
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The index of this interface."
  ::= { devInterfaceEntry 2 }

devInterfaceName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The name of this interface."
  ::= { devInterfaceEntry 3 }

devInterfaceSentPkts OBJECT-TYPE
  SYNTAX Counter32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The number of packets sent on this interface."
  ::= { devInterfaceEntry 4 }

devInterfaceRecvPkts OBJECT-TYPE
  SYNTAX Counter32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The number of packets received on this interface."
  ::= { devInterfaceEntry 5 }

devInterfaceSentBytes OBJECT-TYPE
  SYNTAX Counter32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The number of bytes sent on this interface."
  ::= { devInterfaceEntry 6 }

devInterfaceRecvBytes OBJECT-TYPE
  SYNTAX Counter32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The number of bytes received on this interface."
  ::= { devInterfaceEntry 7 }

devInterfaceModel OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The model of the interface. Useful for cellular interfaces."
  ::= { devInterfaceEntry 8 }

devInterfaceCarrier OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The carrier for the interface. Useful for cellular interfaces."
  ::= { devInterfaceEntry 9 }

devInterfaceDescription OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Description for the interface. Useful for information
               about ports"
  ::= { devInterfaceEntry 10 }

devInterfacePortDescription OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Description for errors occurring on the interface.
               Useful for information about ports"
  ::= { devInterfaceEntry 11 }

vlanTable OBJECT-TYPE
  SYNTAX SEQUENCE OF MerakiVLAN
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "VLAN table."
  ::= { organization 6 }

vlanEntry OBJECT-TYPE
  SYNTAX MerakiVLAN
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION "Describes each VLAN."
  INDEX { networkId, vlanNumber }
  ::= { vlanTable 1 }

powerSupplyNum OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "External power supply number. Will be 0 for redundant supplies and 1+ for modular supplies."
  ::= { devInterfaceEntry 12 }

actionTaken OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Action taken on the port."
  ::= { devInterfaceEntry 13 }

portNumber OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "Description for the interface. Useful for information about ports"
  ::= { devInterfaceEntry 14 }

MerakiVLAN ::= SEQUENCE {
  vlanNetworkName DisplayString,
  vlanNumber INTEGER
}

vlanNetworkName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "The name of the network the VLAN is part of."
  ::= { vlanEntry 1 }

vlanNumber OBJECT-TYPE
  SYNTAX INTEGER (0..65535)
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "VLAN number."
  ::= { vlanEntry 2 }

vlanName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION "VLAN name."
  ::= { vlanEntry 3 }

mini   OBJECT IDENTIFIER ::= { merakiProducts 1 }
id2    OBJECT IDENTIFIER ::= { merakiProducts 2 }
wpg    OBJECT IDENTIFIER ::= { merakiProducts 3 }
od1    OBJECT IDENTIFIER ::= { merakiProducts 4 }
od2    OBJECT IDENTIFIER ::= { merakiProducts 5 }
od3    OBJECT IDENTIFIER ::= { merakiProducts 6 }
mo1    OBJECT IDENTIFIER ::= { merakiProducts 7 }
sol    OBJECT IDENTIFIER ::= { merakiProducts 8 }
lr1    OBJECT IDENTIFIER ::= { merakiProducts 9 }
mr11   OBJECT IDENTIFIER ::= { merakiProducts 10 }
mr12   OBJECT IDENTIFIER ::= { merakiProducts 11 }
mr14   OBJECT IDENTIFIER ::= { merakiProducts 12 }
mr16   OBJECT IDENTIFIER ::= { merakiProducts 13 }
mr24   OBJECT IDENTIFIER ::= { merakiProducts 14 }
mr62   OBJECT IDENTIFIER ::= { merakiProducts 15 }
mr66   OBJECT IDENTIFIER ::= { merakiProducts 16 }
mr34   OBJECT IDENTIFIER ::= { merakiProducts 17 }
mr18   OBJECT IDENTIFIER ::= { merakiProducts 18 }
mr26   OBJECT IDENTIFIER ::= { merakiProducts 19 }
mr32   OBJECT IDENTIFIER ::= { merakiProducts 20 }
mr72   OBJECT IDENTIFIER ::= { merakiProducts 21 }
mr42   OBJECT IDENTIFIER ::= { merakiProducts 22 }
mr52   OBJECT IDENTIFIER ::= { merakiProducts 23 }
mr53   OBJECT IDENTIFIER ::= { merakiProducts 24 }
mr84   OBJECT IDENTIFIER ::= { merakiProducts 25 }
mr30h  OBJECT IDENTIFIER ::= { merakiProducts 26 }
mr33   OBJECT IDENTIFIER ::= { merakiProducts 27 }
mr74   OBJECT IDENTIFIER ::= { merakiProducts 28 }
mr70   OBJECT IDENTIFIER ::= { merakiProducts 29 }
mr42e   OBJECT IDENTIFIER ::= { merakiProducts 32 }
mr53e   OBJECT IDENTIFIER ::= { merakiProducts 33 }
mr20   OBJECT IDENTIFIER ::= { merakiProducts 34 }
gr10   OBJECT IDENTIFIER ::= { merakiProducts 35 }
gr60   OBJECT IDENTIFIER ::= { merakiProducts 36 }

z1     OBJECT IDENTIFIER ::= { merakiProducts 100 }
mx70   OBJECT IDENTIFIER ::= { merakiProducts 101 }
mx60   OBJECT IDENTIFIER ::= { merakiProducts 102 }
mx60w  OBJECT IDENTIFIER ::= { merakiProducts 102 }
mx80   OBJECT IDENTIFIER ::= { merakiProducts 102 }
mx90   OBJECT IDENTIFIER ::= { merakiProducts 103 }
mx400  OBJECT IDENTIFIER ::= { merakiProducts 104 }
mx600  OBJECT IDENTIFIER ::= { merakiProducts 105 }
mx100  OBJECT IDENTIFIER ::= { merakiProducts 106 }
mx64   OBJECT IDENTIFIER ::= { merakiProducts 107 }
mx64w  OBJECT IDENTIFIER ::= { merakiProducts 108 }
mx84   OBJECT IDENTIFIER ::= { merakiProducts 109 }
mx65   OBJECT IDENTIFIER ::= { merakiProducts 110 }
mx65w  OBJECT IDENTIFIER ::= { merakiProducts 111 }
mx250  OBJECT IDENTIFIER ::= { merakiProducts 112 }
mx450  OBJECT IDENTIFIER ::= { merakiProducts 113 }
z3     OBJECT IDENTIFIER ::= { merakiProducts 116 }
gx20   OBJECT IDENTIFIER ::= { merakiProducts 117 }
mx67   OBJECT IDENTIFIER ::= { merakiProducts 118 }
mx67w  OBJECT IDENTIFIER ::= { merakiProducts 119 }
mx67c  OBJECT IDENTIFIER ::= { merakiProducts 120 }
mx68   OBJECT IDENTIFIER ::= { merakiProducts 121 }
mx68w  OBJECT IDENTIFIER ::= { merakiProducts 122 }
mx68cw OBJECT IDENTIFIER ::= { merakiProducts 123 }
z3c    OBJECT IDENTIFIER ::= { merakiProducts 124 }

merakiVM10   OBJECT IDENTIFIER ::= { merakiProducts 200 }

ms22   OBJECT IDENTIFIER ::= { merakiProducts 300 }
ms22p  OBJECT IDENTIFIER ::= { merakiProducts 301 }
ms42   OBJECT IDENTIFIER ::= { merakiProducts 302 }
ms42p  OBJECT IDENTIFIER ::= { merakiProducts 303 }
ms220-8     OBJECT IDENTIFIER ::= { merakiProducts 304 }
ms220-8p    OBJECT IDENTIFIER ::= { merakiProducts 305 }
ms220-24    OBJECT IDENTIFIER ::= { merakiProducts 306 }
ms220-24p   OBJECT IDENTIFIER ::= { merakiProducts 307 }
ms220-48    OBJECT IDENTIFIER ::= { merakiProducts 308 }
ms220-48lp  OBJECT IDENTIFIER ::= { merakiProducts 309 }
ms220-48fp  OBJECT IDENTIFIER ::= { merakiProducts 310 }
ms320-24    OBJECT IDENTIFIER ::= { merakiProducts 311 }
ms320-24p   OBJECT IDENTIFIER ::= { merakiProducts 312 }
ms320-48    OBJECT IDENTIFIER ::= { merakiProducts 313 }
ms320-48lp  OBJECT IDENTIFIER ::= { merakiProducts 314 }
ms320-48fp  OBJECT IDENTIFIER ::= { merakiProducts 315 }
ms420-24    OBJECT IDENTIFIER ::= { merakiProducts 316 }
ms420-48    OBJECT IDENTIFIER ::= { merakiProducts 317 }
ms350-24    OBJECT IDENTIFIER ::= { merakiProducts 318 }
ms350-24p   OBJECT IDENTIFIER ::= { merakiProducts 319 }
ms350-48    OBJECT IDENTIFIER ::= { merakiProducts 320 }
ms350-48lp  OBJECT IDENTIFIER ::= { merakiProducts 321 }
ms350-48fp  OBJECT IDENTIFIER ::= { merakiProducts 322 }
ms410-16    OBJECT IDENTIFIER ::= { merakiProducts 323 }
ms410-32    OBJECT IDENTIFIER ::= { merakiProducts 324 }
ms425-16    OBJECT IDENTIFIER ::= { merakiProducts 325 }
ms425-32    OBJECT IDENTIFIER ::= { merakiProducts 326 }
ms350-24x   OBJECT IDENTIFIER ::= { merakiProducts 327 }
ms225-24    OBJECT IDENTIFIER ::= { merakiProducts 328 }
ms225-24p   OBJECT IDENTIFIER ::= { merakiProducts 329 }
ms225-48    OBJECT IDENTIFIER ::= { merakiProducts 330 }
ms225-48lp  OBJECT IDENTIFIER ::= { merakiProducts 331 }
ms225-48fp  OBJECT IDENTIFIER ::= { merakiProducts 332 }
ms250-24    OBJECT IDENTIFIER ::= { merakiProducts 333 }
ms250-24p   OBJECT IDENTIFIER ::= { merakiProducts 334 }
ms250-48    OBJECT IDENTIFIER ::= { merakiProducts 335 }
ms250-48lp  OBJECT IDENTIFIER ::= { merakiProducts 336 }
ms250-48fp  OBJECT IDENTIFIER ::= { merakiProducts 337 }
ms120-8     OBJECT IDENTIFIER ::= { merakiProducts 338 }
ms120-8lp   OBJECT IDENTIFIER ::= { merakiProducts 339 }
ms120-8fp   OBJECT IDENTIFIER ::= { merakiProducts 340 }
ms120-24    OBJECT IDENTIFIER ::= { merakiProducts 341 }
ms120-24p   OBJECT IDENTIFIER ::= { merakiProducts 342 }
ms120-48    OBJECT IDENTIFIER ::= { merakiProducts 343 }
ms120-48lp  OBJECT IDENTIFIER ::= { merakiProducts 344 }
ms210-24    OBJECT IDENTIFIER ::= { merakiProducts 345 }
ms210-24p   OBJECT IDENTIFIER ::= { merakiProducts 346 }
ms210-48    OBJECT IDENTIFIER ::= { merakiProducts 347 }
ms210-48lp  OBJECT IDENTIFIER ::= { merakiProducts 348 }
ms210-48fp  OBJECT IDENTIFIER ::= { merakiProducts 349 }
ms120-48fp  OBJECT IDENTIFIER ::= { merakiProducts 356 }
ms355-24x   OBJECT IDENTIFIER ::= { merakiProducts 357 }
ms355-24x2  OBJECT IDENTIFIER ::= { merakiProducts 358 }
ms355-48x   OBJECT IDENTIFIER ::= { merakiProducts 359 }
ms355-48x2  OBJECT IDENTIFIER ::= { merakiProducts 360 }
ms450-12    OBJECT IDENTIFIER ::= { merakiProducts 361 }
ms125-24    OBJECT IDENTIFIER ::= { merakiProducts 362 }
ms125-24p   OBJECT IDENTIFIER ::= { merakiProducts 363 }
ms125-48    OBJECT IDENTIFIER ::= { merakiProducts 364 }
ms125-48lp  OBJECT IDENTIFIER ::= { merakiProducts 365 }
ms125-48fp  OBJECT IDENTIFIER ::= { merakiProducts 366 }
END

Try getting networkId and vlanName as tables instead of as individual fields. See the example in the documentation for IF-MIB::ifTable (https://github.com/influxdata/telegraf/blob/master/plugins/inputs/snmp/README.md#configuration) It looks like your device’s networkID and vlanName work like IF-MIB::ifTable. If this is the case, you can essentially tell telegraf to get all the table entries.

There’s no way to query an oid with a wild card, but I think fetching as a table will do what you want.

2 Likes

Nice idea @reimda, started building my telegraf conf. Have a question piggybacking on your idea.

Is there a way to inherit more than one tag? I tried the below config assuming inherit_tags is a list that can allow multiple tag inherit_tags = ["orgName","networkName"]. I am trying to ingest data into one record/point in Influx from different tables of MIB. This config is considering one tag (the first of the list) and creating two different points

[[inputs.snmp.field]]
    name = "orgName"
    oid = "MERAKI-CLOUD-CONTROLLER-MIB::organizationName.0"
    is_tag = true

   [[inputs.snmp.table]]
          #oid = "MERAKI-CLOUD-CONTROLLER-MIB::networkTable"
         name = "meraki_cloud"
          inherit_tags = ["orgName"]

    [[inputs.snmp.table.field]]
            oid = "MERAKI-CLOUD-CONTROLLER-MIB::networkName"
            name = "networkName"
            is_tag = true
    [[inputs.snmp.table.field]]
            oid = "MERAKI-CLOUD-CONTROLLER-MIB::networkId"
            name = "networkId"
    [[inputs.snmp.table]]
         #oid = "MERAKI-CLOUD-CONTROLLER-MIB::devTable"
          name = "meraki_cloud"
          inherit_tags = ["orgName","networkName"]

     [[inputs.snmp.table.field]]
            oid = "MERAKI-CLOUD-CONTROLLER-MIB::devName"
            name = "deviceName"
            is_tag = true
    [[inputs.snmp.table.field]]
            oid = "MERAKI-CLOUD-CONTROLLER-MIB::devStatus"
            name = "deviceStatus"
    [[inputs.snmp.table.field]]
            oid = "MERAKI-CLOUD-CONTROLLER-MIB::devPublicIp"
            name = "devicePublicIp"