Real Extensions by the Numbers
We downloaded and analyzed 14 real extensions from the Dynatrace Hub. Here's what production-quality extensions look like:
Extension Type Lines Metrics FeatSets Alerts Entity Types
โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโ โโโโโโโ โโโโโโโโ โโโโโโ โโโโโโโโโโโโ
F5 BIG-IP v2.16.2 SNMP 13,778 195 46 5 15
Dell iDRAC v1.4.2 Python 14,823 122 28 0 10+
Juniper Networks v2.3.4 SNMP 6,071 59 14 5 10
PostgreSQL v2.9.8 SQL 5,804 110 13 2 4
Palo Alto v3.2.3 SNMP 3,445 48 11 2 5
Elasticsearch v2.2.5 Python 3,667 31 26 5 3
Cisco Generic v3.6.0 SNMP 3,040 77 19 2 2
FortiGate v1.8.9 Python 2,508 27 5 0 5
SNMP Generic v2.5.12 SNMP 1,989 47 7 2 2
Checkpoint FW v1.1.6 SNMP 1,457 27 5 1 2
HP iLO v1.3.9 Python 1,050 30 6 0 3
UPS Device v1.2.2 SNMP 1,120 37 10 0 1
Bugs Found in Customer-Written Extensions
๐ก These bugs are NOT in the official Dynatrace Hub extensions โ those are battle-hardened and used by thousands of customers. These are from custom extensions written by customers or partners that we validated during consulting engagements.
13 custom extensions validated, 81+ alerts deployed. Common mistakes:
Extension Bug Impact
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ
Cisco ACI Python typo in metric key 3 metrics missing
Cisco ASR Wrong OID for interface errors 4 metrics NO DATA
MikroTik 8 wrong metric key references Screens showed wrong data
Checkpoint Cross-table OIDs (DED018) Extension wouldn't load
Palo Alto featureSets not enabled in config Half the metrics missing
Nexus SNMPv2c auth bug No data at all
Common Mistakes When Writing Extensions
After validating 13 extensions and studying 14 official Hub extensions, these are the patterns that trip people up:
Mistake DED Code How to Avoid
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Table OID ends in .0 DED016 table:true โ OIDs must NOT end in .0
Scalar OID missing .0 DED017 table:false โ OIDs MUST end in .0
Cross-table OIDs in same subgroup DED018 Each subgroup = one SNMP table only
Counter metric without .count suffix DED006 type: count โ key must end in .count
Metric key doesn't match $prefix() โ Topology condition must match metric prefix
Missing requiredDimensions โ Entity won't be created without all required dims
featureSet name mismatch โ featureSet in snmp: must match featureSetsMetadata id
Python module name not PEP8 โ Must be lowercase_with_underscores
Lessons Learned
โ ๏ธ Lesson 1: Always snmpwalk the actual device before writing the extension. Vendor MIBs often list OIDs the device doesn't actually support.
๐ก Lesson 2: Test with the exact SNMP version the customer uses. SNMPv2c and v3 can return different data for the same OIDs.
โ ๏ธ Lesson 3: F5 BIG-IP needs "Max OIDs per query" set to 5. The default 60 causes timeouts and intermittent data.
Validation Scorecard Template
Extension: _______________ Date: ___________
Validator: _______________ Device: __________
Category Pass Fail N/A Notes
โโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโ โโโโ โโโโ โโโโโโโโโโโโโโ
YAML lint (DED codes) [ ] [ ] [ ]
All metrics reporting [ ] [ ] [ ]
Entities created [ ] [ ] [ ]
Relationships correct [ ] [ ] [ ]
Screens render properly [ ] [ ] [ ]
Alerts fire correctly [ ] [ ] [ ]
Feature sets work [ ] [ ] [ ]
Dashboard tiles populated [ ] [ ] [ ]
Overall: PASS / FAIL / CONDITIONAL
๐ Try it: Pick any SNMP extension from the Hub, install it, and run through this scorecard. You'll be surprised how many have gaps.