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

Screens & Dashboards

Hands-on

Entity Screens

Extension concepts โ€” screens, dashboards, topology

Screens define what users see when they click on an entity. Every entity type needs a screen with two parts:

Part              What It Shows
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
detailsSettings   Properties panel (IP, model, firmware)
staticContent     Charts and tables (CPU, traffic, errors)

Screen Definition

screens:
  - entityType: my-ext:device
    detailsSettings:
      staticContent:
        showProblems: true
        showProperties: true
        showTags: true
        showGlobalFilter: true
        showAddTag: true
      layout:
        autoGenerate: false
        cards:
          - key: device-health
            type: CHART_GROUP
          - key: device-interfaces
            type: ENTITIES_LIST
    chartsCards:
      - key: device-health
        displayName: Device Health
        numberOfVisibleCharts: 3
        charts:
          - displayName: CPU Usage
            visualizationType: GRAPH_CHART
            graphChartConfig:
              metrics:
                - metricSelector: com.dynatrace.extension.my-ext.cpu
          - displayName: Memory Usage
            visualizationType: GRAPH_CHART
            graphChartConfig:
              metrics:
                - metricSelector: com.dynatrace.extension.my-ext.memory
    entitiesListCards:
      - key: device-interfaces
        displayName: Interfaces
        entitySelectorTemplate: type(my-ext:interface),fromRelationships.isChildOf($(entityConditions))
        columns:
          - type: ATTRIBUTE
            attribute:
              key: dt.entity.name
              displayName: Interface

๐Ÿ’ก Use autoGenerate: true during development to get a quick screen. Switch to false and define custom cards for production.

Bundled Dashboards

You can include up to 10 dashboard JSON files in your extension package:

# In extension.yaml header
dashboards:
  - path: dashboards/overview.json
alerts:
  - path: alerts/high-cpu.json

๐Ÿ›  Try it: Install any SNMP extension from the Hub โ†’ click on a discovered entity โ†’ you'll see the screen with charts and properties.