Manage Extensions

  • Latest Dynatrace
  • How-to guide
  • 7-min read

Manage Dynatrace extensions for hundreds of technologies.

Prerequisites

Permissions

Permission
Description
hub:catalog:read
to get extensions details
storage:entities:read
read entities from storage
storage:logs:read
For reading Logs
storage:buckets:read
For reading any data
storage:system:read
Read system
storage:metrics:read
For reading metrics with DQL
settings:objects:read
Read settings objects
state:user-app-states:read
For reading any data
state:user-app-states:write
Write user preferences
state:user-app-states:read
Read user preferences

Things to consider

If you can't access Extensions Extensions, make sure you have the required permissions, specifically those starting with extensions:configuration and extensions:definitions. For additional information, refer to Working with policies and IAM Policy - Read and write permissions on extensions configurations in the Dynatrace Community.

Overview

Extensions allows you to extend Dynatrace capabilities for data acquisition and domain expertise to hundreds of technologies. Extensions app is your central resource for managing and configuring Extensions 2.0.

The Monitoring configurations tab lists the configurations that are available for each extension. Includes the extension version used by each configuration and the status of each configuration.The Health tab shows the extension health per monitoring configuration.Explore the logs related to the health of each extension.Start monitoring new data sources.Manage all Extensions 2.0 installed in your environment.
1 of 5The Monitoring configurations tab lists the configurations that are available for each extension. Includes the extension version used by each configuration and the status of each configuration.

Dynatrace Hub

Upload a custom extension from Dynatrace Hub

  1. Go to Extensions Extensions > Upload custom extension.
  2. Select your extension archive and upload it to Dynatrace.

Dynatrace Hub verifies the extension archive and structure and automatically enables it after a successful upload.

Most fields are pre-filled based on the extension YAML file. You can provide release notes information explaining why the extension version changed.

Deploy an extension from Dynatrace Hub

  1. Go to Extensions Extensions > Discover.
  2. Find the extension from the list or use the search bar. All extensions already in your environment are marked with Installed.
  3. Select the tile of the extension you want to add, then select Add to environment.

You can now check the Product information, Extension content, Available versions, Monitoring configurations, and Health of your extension by selecting each of the tabs.

Define devices

Select Add device to define the devices from which you want to pull data and provide the device connection details:

  • IP address or device name
  • Port
  • SNMP version and related authentication details

Start monitoring

Your extension appears in Dynatrace Hub. The next step is to provide the monitoring configuration for your extension. The detailed steps depend on your extension data source. For more information, see:

Update an extension from Dynatrace Hub

To update an extension, simply upload a new version. Dynatrace Hub will automatically activate the new extension version.

Each update of the extension will overwrite the metric event configuration that may come with the extension. This means that any customizations made to the metric events settings will be reset to their default values upon updating the extension. It is advisable to take note of any custom configurations and reapply them after the update if necessary.

Delete an extension from Dynatrace Hub

You can uninstall an extension or remove a version of that extension.

To uninstall an extension

  1. Go to Extensions Extensions > Manage.
  2. Find the extension you want to remove and select > Uninstall.

To delete extension versions

  1. Go to Extensions Extensions > Manage.
  2. Select the extension tile to open the details.
  3. Select Available versions > Uninstall.

When you delete a version, Dynatrace Hub activates the latest available version.

Dynatrace API

API permissions

  • You need an API token with the following permissions to manage the extension lifecycle:
    • API v2
      • Read extensions
      • Write extensions
      • Read extension environment configurations
      • Write extension environment configurations
      • Read extension monitoring configurations
      • Write extension monitoring configurations
    • API v1
      • Read configuration
      • Write configuration

Upload an extension with Dynatrace API

Run the following command to upload the extension package to your environment. For this example, we use the Dynatrace SaaS URL:

curl -X POST "https://{env-id}.live.dynatrace.com/api/v2/extensions" \
-H "accept: application/json; charset=utf-8" \
-H "Authorization: Api-Token {api-token}" \
-H "Content-Type: multipart/form-data" \
-F "file=@MyCustomExtension.zip;type=application/zip"

Replace:

After a successful upload, the Dynatrace API returns basic extension details, including the extension name, version, and minimum Dynatrace version required to run the extension:

{
"extensionName":"custom:my.company.extension",
"version":"1.0.0",
"author":{
"name":"My Company"
},
"dataSources":[
],
"variables":[
],
"featureSets":[
],
"minDynatraceVersion":"1.213.0"
}

Enable an extension with Dynatrace API

After you upload the extension to your environment, you need to enable the environment configuration. This step is necessary because you can upload up to 10 extension versions but you can use only one extension version at the time. When you activate the extension, you specify which extension version to use.

Run the following command to activate the extension in your environment. For this example, we use the Dynatrace SaaS URL.

curl -X PUT "https://{env-id}.live.dynatrace.com/api/v2/extensions/{extensionName}/environmentConfiguration" \
-H "accept: application/json; charset=utf-8" \
-H "Authorization: Api-Token {api-token}" \
-H "Content-Type: application/json; charset=utf-8" \
-d "{\"version\":\"{version}\"}"

Replace:

  • {env-id} with your Environment ID.
  • {api-token} with an API token that has the required permissions.
  • {extensionName} with the actual extension name.
  • {version} with the extension version you want to activate.

To determine the extension name, extract the extension package, extract the extensions.zip file from the package, and open the extension.yaml file.

After a successful activation, the Dynatrace API returns the version of the activated extension. For example:

{"version":"1.0.0"}

Start monitoring with Dynatrace API

To start monitoring, you need to add at least one version of the monitoring configuration. The format of the JSON payload depends on the monitored data source.

curl -X POST "{env-id}.live.dynatrace.com/api/v2/extensions/{extensionName>/monitoringConfigurations" \
-H "accept: application/json; charset=utf-8" \
-H "Authorization: Api-Token {api-token}" \
-H "Content-Type: application/json; charset=utf-8" \
--data @{monitoring-configuration} -i

Replace:

  • {env-id} with your Environment ID.
  • {api-token} with an API token that has the required permissions.
  • {extensionName} with the actual extension name.
  • {version} with the extension version you want to activate.
  • {monitoring-configuration} with the filename containing the JSON payload with the monitoring configuration. For details on the format, see SNMP.

After a successful call, the Dynatrace API returns the MonitoringConfigurationResponse object. For example:

[
{ "objectId": "vu9U3hXa3q0AAAABACVleHQ6Y29tLmR5bmF0cmFjZS5zY2hlbWEtc25tcC1nZW5lcmljAAhhZ19ncm91cAAHRTJFVEVTVAAkMWMxZTlhMDctNzVkYi0zZjI0LWI4OGUtZmIxYWRiNGNjYTY4vu9U3hXa3q0", "code": 200 }
]

After a few minutes, go to Metric browser and search for the metrics you defined for your extension.

Update extension with Dynatrace API

To update an extension, you need to upload the new extension package and enable the new environment configuration.

Upload updated extension package with API

To upload the package, use the same command you used to upload the initial version of the extension. You need to use the new extension package filename if it changed.

Enable new configuration version with API

To enable the environment configuration version, you need to add the version parameter to the API call. Use one of these methods to determine the version:

  • After a successful upload, the Dynatrace API returns basic extension details, including the version.
  • Find the version in the extension.yaml file inside the extension package.
  • Run the Get extension versions API call.

Run the following command to activate the new version. For this example, we use the Dynatrace SaaS URL.

curl -X PUT "https://{env-id}.live.dynatrace.com/api/v2/extensions/{extensionName}/environmentConfiguration" \
-H "accept: application/json; charset=utf-8" \
-H "Authorization: Api-Token {api-token}" \
-H "Content-Type: application/json; charset=utf-8" \
-d "{\"version\":\"{version}\"}"

Replace:

  • {env-id} with your Environment ID.
  • {api-token} with an API token that has the required permissions.
  • {extensionName} with the actual extension name.
  • {version} with the extension version you want to activate.

After a successful activation, the Dynatrace API returns the version of the activated extension. For example:

{"version":"1.1.0"}

If you need to revert activation to an earlier version, run the command above with a different version parameter.

Delete extension with Dynatrace API

If you uploaded a number of extension versions, you need to delete all the versions to completely remove the extension from your environment. You can use GET extension versions to list all the extension versions available in your environment.

Delete environment configuration with API

To delete the currently active environment configuration, use DELETE environment configuration. For this example, we use the Dynatrace SaaS URL.

curl -X DELETE "{env-id}.live.dynatrace.com/api/v2/extensions/{extensionName}/environmentConfiguration" \
-H "accept: application/json; charset=utf-8" \
-H "Authorization: Api-Token {api-token}"

Replace:

After a successful deactivation, the Dynatrace API returns the version of the deactivated extension. For example:

{"version":"1.1.0"}

Delete extension version with API

To delete an extension version, use DELETE an extension version. In this example, we use the Dynatrace SaaS URL.

curl -X DELETE "{env-id}.live.dynatrace.com/api/v2/extensions/{extensionName}/{version}" \
-H "accept: application/json; charset=utf-8" \
-H "Authorization: Api-Token {api-token}"

Replace:

  • {env-id} with your Environment ID.
  • {api-token} with an API token that has the required permissions.
  • {extensionName} with the actual extension name.
  • {version} with the extension version you want to delete.

After a successful version deletion, the Dynatrace API returns the following response:

{
"extensionName":"custom:my.company.extension",
"version":"1.0.0",
"author":{
"name":"My Company"
},
"dataSources":[
],
"variables":[
],
"featureSets":[
],
"minDynatraceVersion":"1.213.0"
}
Related tags
Infrastructure ObservabilityExtensionsExtensions