Homeโ€บ๐Ÿš€ Production Skillsโ€บModule 153 min read ยท 16/16

Real-World Case Studies

Reference

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.