Multi-environment ActiveGate will no longer receive new features or enhancements, and feature requests will not be accepted going forward. Existing functionality remains fully available for the time being, but the concept has reached the end of its active development.
If you've set up several monitoring environments, it might be cumbersome to install and maintain multiple ActiveGates. A single ActiveGate can therefore support multiple monitoring environments. Such an ActiveGate is referred to as a multi-environment ActiveGate.
A multi-environment ActiveGate handles all traffic from the environments it's associated with, so you don't need to adjust firewall settings for each additional Environment ActiveGate.
You cannot use an Environment ActiveGate configured for multi-environment support to:
All other ActiveGate features are supported.
Extensions are not supported on multi-environment ActiveGates or Cluster ActiveGates. To run Extensions, deploy a dedicated Environment ActiveGate for each environment and enable the Extension Execution Controller (EEC).
To configure an existing Environment ActiveGate for multi-environment support
Make sure that the ActiveGate modules that are incompatible with multi-environment operation are disabled. Which module is actually installed and enabled varies based on the purpose for which the ActiveGate was originally installed. Only one of the following modules can be present on the ActiveGate. However, if in doubt, disabling (and then removing) all of these particular modules at this point is acceptable:
[extension_controller] section[zremote] section[synthetic] sectionActiveGate version 1.333+
You can use agctl to disable incompatible modules:
agctl modules disable rpm,zremote,synthetic,extension_controller
Make sure that the ActiveGate modules that are incompatible with multi-environment operation have been uninstalled.
For Linux—execute one of the following commands, depending on which module needs to be uninstalled. If in doubt, execute all of the commands: If the commands are found, the respective modules will be uninstalled. If the commands are not found, it means that the modules are not present:
sudo /opt/dynatrace/remotepluginmodule/uninstall.shsudo /opt/dynatrace/zremote/uninstall.shsudo /opt/dynatrace/synthetic/uninstall.sh
For Windows: locate and uninstall the following applications, if installed:
In the ActiveGate configuration directory, locate the authorization.properties file and familiarize yourself with the content.
The authorization.properties file defines ActiveGate authorization for each environment as identified by the environment ID. ActiveGate authorizes via tenant token and individual ActiveGate token.
One and only one of the sections will contain the property mainTenant = true. This is for the environment from which the ActiveGate was downloaded and installed. Do not remove this section or this entry. Do not remove any other sections—relating to other environments—unless you do not want the ActiveGate to support those particular environments anymore.
Format of the entries in authorization.properties:
[<environment_ID>]tenantToken = <tenant_token>mainTenant = true # identifies environment from which the ActiveGate was downloadedauthToken = <individual_ActiveGate_token>
For example:
[mySampleEnv]tenantToken = abcdevjhij1234567890authToken = dt0g01.HVMTLRLZ.1234567890ZYXWVUTSRQPONMLKJIHGFEDCBA01234567890ABCDEFGHIGKLMNOPQmainTenant = true
To create an individual ActiveGate token, see Generate ActiveGate token.
To reconfigure the environments that the ActiveGate serves, edit the sections in the authorization.properties file.
List each Dynatrace environment you want the Environment ActiveGate to support. Use the following format:
[<environment_ID>]tenantToken = <tenant_token>mainTenant = trueauthToken = <individual_ActiveGate_token>[<environment_ID>]tenantToken = <tenant_token>authToken = <individual_ActiveGate_token>
For example:
[mySampleEnv]tenantToken = abcdevjhij1234567890authToken = dt0g01.HVMTLRLZ.1234567890ZYXWVUTSRQPONMLKJIHGFEDCBA01234567890ABCDEFGHIGKLMNOPQmainTenant = true[myAnotherEnv]tenantToken = 0987654321jijvedcbaauthToken = dt0g01.HVMTLRLZ.1234567890ZYXWVUTSRQPONMLKJZYXWVUTSRQPONMLKJIHGFE56GHMNO890ZABCD
For correct operation, you must ensure that:
mainTenant configuration property, is correctly configured. Incorrect configuration of the main environment will result in the rejection of the ActiveGate in all configured environments: An error will be logged in the ActiveGate logs, with information stating that mainTenant configuration is invalid, and the ActiveGate won't appear in
Fleet Management on any of the environments.Save the authorization.properties file and restart the ActiveGate main service.
Verify that the environments are served as expected.
The ActiveGate log file should contain the entry listing the number of environments that the ActiveGate is working with, for example:
Working mode is set to MULTITENANT with 5 tenant(s).
This entry counts the sections in authorization.properties, so it is written before the ActiveGate contacts the cluster. If it does not list the number of environments that you have attempted to configure, scan the log file for entries indicating an error in the authorization.properties file. Error messages appear in this form:
Error during parsing config file `...\conf\authorization.properties` - invalid configuration: ...
To confirm which environments the cluster actually accepted, look for the TenantSubmitRuntimeInfo entry that the ActiveGate writes on each registration. When every listed environment is accepted, it is logged at INFO and reports counts only:
2026-09-14 09:12:03 UTC INFO [<collector>] [<collector.core>, InitialCollectorSetupMessageHandler] TenantSubmitRuntimeInfo message received with accepted/discarded tenants. [#total=3, #accepted=3, #discarded=-]