Homeโ€บ๐Ÿ“ก SNMP Extensionsโ€บModule 31 min read ยท 4/16

Groups & Feature Sets

Hands-on

Groups and Subgroups

Extension lifecycle โ€” from development to production

An SNMP extension organizes polling into groups and subgroups:

snmp:
  - group: Device Health          # Top-level group
    interval:
      minutes: 1
    dimensions:
      - key: device.address
        value: this:device.address
    metrics:                      # Scalar metrics (device-level)
      - key: my-ext.cpu
        value: oid:1.3.6.1.4.1.9.9.109.1.1.1.1.8.1
        type: gauge
    subgroups:
      - subgroup: Interfaces      # Table metrics (per-interface)
        table: true
        dimensions:
          - key: if.name
            value: oid:1.3.6.1.2.1.31.1.1.1.1
        metrics:
          - key: my-ext.if.in.octets.count
            value: oid:1.3.6.1.2.1.2.2.1.10
            type: count
Extension Structure Group: Device Health Scalar metrics (device-level) Subgroup: Interfaces (table) cpu, memory, uptime traffic, errors per interface

โš ๏ธ DED018 โ€” the #1 extension bug: Never mix table OIDs from different SNMP tables in the same subgroup. Each subgroup = one SNMP table.

Feature Sets

Feature sets let users choose which metrics to enable. Group your metrics logically:

snmp:
  - group: Device Health
    featureSet: health          # Users can enable/disable this
    ...
  - group: Interface Traffic
    featureSet: interfaces      # Separate toggle for interfaces
    ...

๐Ÿ›  Try it: When activating an extension in the Hub, look for the "Feature sets" section โ€” you'll see checkboxes for each feature set you defined.

Limits

Resource                    Limit
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€
Groups per extension        10
Subgroups per group         10
Monitoring configs          100
Extension versions stored   10 (1 active)