Groups and Subgroups
An SNMP extension organizes polling into groups and subgroups:
snmp:
- group: Device Default # top-level group
interval:
minutes: 1
subgroups:
- subgroup: CPU # subgroup inside the group
table: true
- subgroup: Interfaces
table: true
Groups poll independently. If one group hangs, the others keep working.
Why Multiple Groups Matter
Real-world problem: a device's interface table hangs for 3 minutes. If CPU and interfaces are in the same group, you lose ALL data. If they're in separate groups, CPU keeps polling.
โ ๏ธ This is the exact bug we fixed in ACI v0.0.5 โ a hanging interface walk blocked CPU/memory for 180 seconds.
Move the Interfaces subgroup into its own separate group so it polls independently from CPU. Give the new group its own interval and dimensions.
Feature Sets
Add featureSet: to a subgroup and users can toggle it on/off in the Dynatrace UI:
subgroups:
- subgroup: CPU and Memory
featureSet: CPU and Memory # โ toggleable
table: true
metrics: ...
๐ก Always add featureSets. Users monitoring 1000 interfaces don't want to poll temperature sensors they don't care about.
Add featureSet: labels to both subgroups so users can toggle them independently.
Dimension Filters
Let users filter which interfaces to monitor using vars:
vars:
- id: if_filter
displayName: Interface Filter
type: pattern
# In the subgroup:
dimensions:
- key: if.name
value: oid:1.3.6.1.2.1.31.1.1.1.1
filter: var:if_filter
Users can then enter patterns like GigabitEthernet* in the monitoring config.
What's Next
Module 4 covers advanced SNMP patterns โ filtering out empty values, handling 32-bit vs 64-bit counters, and SNMP version differences.