Extensions 2.0 concepts

Familiarize yourself with basic Extensions 2.0 concepts to understand the framework and foundations of Extensions 2.0–based monitoring.

Architecture

Your extensions are executed by the Extension Execution Controller module (EEC), either remotely from an ActiveGate or locally from OneAgent. As of now, only WMI extensions can be run locally. More data sources are coming in next releases.

Extension Execution Controller

The Extension Execution Controller (EEC) is the Dynatrace component running your extensions. EEC can query your local data sources when run on OneAgent, or remote data sources when run from an ActiveGate. EEC doesn't need your attention at all; it's automatically installed and managed with each OneAgent and ActiveGate instance. EEC takes care of translating all the ingested data so that Dynatrace can leverage it for our Davis AI causation analysis. For more information, see Metric ingestion.

To run local extensions, you need to make sure EEC is enabled at the environment or selected host level.

ActiveGate group

An ActiveGate running an extension must belong to an ActiveGate group, because Dynatrace uses a group to instruct the extension where it should run. If you plan to use a single ActiveGate, assign it to a dedicated group. To assign an ActiveGate to a group, you can use the --set-group-name installation parameter for Linux and Windows during installation, or you can specify a group in your ActiveGate properties.

Data source type

Data source type is any technology that is generic enough for you to create an extension, but that doesn't conform to the observability standards ingested by Dynatrace out of the box, such as StatsD or Telegraf. Learn more about out-of-the-box Metric ingestion.

Currently, Dynatrace provides you with an interface to collect customized data from SNMP and WMI.

Extensions 2.0 lifecycle

The Dynatrace API enables you to manage the full lifecycle of your Extensions 2.0 framework. For details and examples, see Manage Extensions 2.0 lifecycle.

Environment configuration

An environment configuration is a universal set of monitoring definitions tailored to the specifics of your data source, such as SNMP. The environment configuration is stored as the extension.yaml file uploaded to Dynatrace as a part of the extension ZIP package. An environment configuration defines:

  • The scope of collected data: which metrics are ingested and which dimensions they are to be assigned to.
  • The source from where the measurements and dimension values are extracted.
  • The data categorization into feature sets that you can select when defining the monitoring configuration.
  • How the metrics are constructed in the context of the metric ingestion protocol.
  • How the data collected by the extension is processed and presented by Dynatrace.

Your environment can store up to 10 extension versions, but only one version can be active at a time. You enable an extension by selecting a particular version of the environment configuration.

Without an environment configuration, an extension is invisible to the Dynatrace platform.

Monitoring configuration

A monitoring configuration is specific to the data source type you want to monitor. It defines:

  • From where the extension runs.
  • For remote extensions, the endpoints that the extension calls to collect data, as well as credentials to access them.
  • Connectivity properties, such as the timeout and number of retries in case of unsuccessful connection.
  • The values of variables that will be passed to the environment configuration when it's necessary to customize the extension for the specifics of your data source instance.

You can create up to 10 of monitoring configurations based on a single environment configuration and each of them runs in parallel.

To start monitoring using the extension, you must use an API call to add a monitoring configuration that will instruct Dynatrace how to collect data from your data source.

Without a monitoring configuration, an extension is visible in the Dynatrace platform, but it doesn't collect any data.

Extension package

Extensions are provided as a ZIP package containing only the extension.zip archive and the extension.zip.sig signature file. Extension packages with different contents are not accepted for upload. The maximum size of an extension package is 100 KB.

my-custom-extension.zip
│   extension.zip
│   extension.zip.sig

Extension ZIP archive

The archive contains

For example:

extension.zip
│   extension.yaml
│
└───alerts
│   |   alert.json
│   
└───dashboards
    │   dashboard.json

Digital signature

Dynatrace verifies the authenticity of an extension using a digital signature file generated against the root certificate. Using the signature file, Dynatrace checks whether the extension is provided by a trusted source (Dynatrace or a Dynatrace customer). Learn how to sign your extension.

When you receive an extension from Dynatrace, it's already signed.

Extension assets

With extension assets, you can easily equip your extension with Dynatrace-specific functionalities. Currently, you can create dashboards and custom events for alerting tailored to the monitoring data ingested by your extension. You can expect more extension assets in coming releases. For more information, see Export extension assets.

Feature sets

Feature sets are categories into which you organize the data collected by the extension. Imagine an SNMP extension monitoring your network devices and collecting metrics related to NIC status, transport layer, and SNMP traps. This is reflected by metrics organization into related feature sets. Using a single extension, you can now customize your monitoring to limit a particular feature set to selected devices of your choice or identify ActiveGates with connectivity suited to devices capable of providing data specific to a feature set. It's all centrally managed from a single place, using a single API call. All metrics that aren't categorized into any feature set are considered to be default and are always reported.

Limits

Extension

Entity Limit Description
Groups 10 For a single extension, you can define 10 groups.
Subgroups 10 Each group can contain 10 subgroups.
Dashboard 10 For a single extension, you can define 10 dashboards.
Alerts 10 For a single extension, you can define 10 custom events for alerting definitions.
Dimension 25 For each level (extension, group, subgroup), you can define up to 25 dimensions.
Metrics 100 For each level (extension, group, subgroup), you can define up to 100 metrics.
Activations 10 A single extension can run 10 monitoring configurations in parallel.
ZIP package size 100 KB A single extension ZIP package size is limited to 100 KB.

Environment

Entity Limit Description
Extensions 250 Your environment can manage up to 250 extensions.
Extension versions 10 Your environment can manage 10 versions of a single extension.

Monitoring configuration

Entity Limit Description
ActiveGate groups 10 You can define up to 10 ActiveGate groups as the scope of a single monitoring configuration.
Number of extensions for an ActiveGate group 10 You can assign up to 10 extensions to be executed by a single ActiveGate group.
Devices 100 You can define up to 100 devices for a single monitoring configuration.

Metric ingestion

Entity Limit Description
Metric key length, characters 250 The total length of the metric key, including the prefix.
Dimension key length, characters 100 The total length of the dimension key.
Dimension value length, characters 250 The total length of the dimension value.
Number of dimensions per line 50 The number of dimensions in a single line of the payload.
Number of metrics per minute 1,000 The maximum number of metrics Dynatrace can ingest in every 1-minute interval.
Total number of possible metric keys. 10,000 The maximum number of metric keys that can be registered in Dynatrace.
Number of tuples per month 20,000,000 The maximum number of tuples (unique metric-dimension key-dimension value-payload type combinations) per calendar month.
Length of line, characters 2,000 The maximum length of a single line of the payload.