To enable the integration of Dynatrace and NeoLoad, you need to perform some steps in Dynatrace first.
You need to manually put a tag on a Dynatrace service at the traffic entry point of your application, typically your web front servers or proxies. From there, the integration willl auto-tag all connected hosts, services and processes in the Dynatrace smartscape.
At the end of the run, NeoLoad cleans up the whole tag configuration.
https://abc12345.live.dynatrace.com
https://dynatrace.myCompany.com/e/abc12345
Tip: If you work with an on-premise Dynatrace deployment with self-signed certificate, you may encounter SSL certificate error messages that can be fixed with quite a lot of configuration. To ease the process and be able to work with self-signed on-premise instances, you may set the property stated below to true.
In the installation directory of NeoLoad, in <install-dir>/conf/controller.properties
[General]
dynatrace.tls.insecure=true
Deprecate note: the checkbox Use Internet Proxy is deprecated, please uncheck it and configure the Dynatrace proxy in the NeoLoad General settings for all your Controllers.
The following access scopes must be defined for your token to have full access to all Dynatrace integration functionalities:
Access problem and event feed, metrics and topology |
To retrieve and send metrics |
Capture Request Data |
To identify traffic |
Read configuration |
To create anomaly detection rules |
Write configuration |
To create anomaly detection rules |
Read entities using API V2 |
To retrieve entities to monitor |
Write entities using API V2 |
To delete the tags created by NeoLoad at the end of the test |
You need to specify the tag that has been set on the Dynatrace service at the traffic entry point of your application.
It allows you to manage several applications (with different tags) in the same Neoload Project in different scenarios.
Neoload will monitor the Dynatrace entities of "Service"-type that have at least ALL tags specified in the Tags field of the APM tab meaning that a "AND" operation is applied on the list of tags. It will then monitor all entities of "Host"- and "Process group"-types connected to the "Services" mentioned above, monitored in the Dynatrace smartscape. To keep the test result readable, 350 entities at most can be monitored during the test. You must set tags to match this number of entities.
Information: The colon ":" character is reserved by Dynatrace to name tags created automatically. They must be avoided in manual tags. If you still want to create a manual tag in Dynatrace containing the colon ":" character, you will need to specify "\:" in the Tags field of your Neoload scenario.
Example:
Automatic tag in Dynatrace: app:front-end |
In Neoload: app:front-end |
Manual tag in Dynatrace: app:front-end |
In Neoload: app\:front-end |
Monitoring is enabled by creating a Monitor (see Create a Dynatrace monitor for more information) and by choosing the metrics you want to monitor.
For monitoring to take place, you need to:
The Dynatrace entities that will be monitored and for which metrics will be retrieved are: all services, processes and hosts that are at 3 levels of depth of each service specified with a tag.
At the end of the test, an event is sent to each monitored service of Dynatrace.
NeoLoad sends global statistics of the test to Dynatrace so that they can be used as custom metrics in Dynatrace dashboards.
These metrics are:
You can override the project settings of the Dynatrace integration with as-code yaml files.
For more information, please refer to the Project settings GitHub documentation.
You can also override the Scenario advanced settings of the APM tab with as-code yaml files.
For more information, please refer to the APM Configuration GitHub documentation.
You cannot however create a Monitor from as-code. That's why you need to load a project containing at least one Dynatrace Monitor.
To identify in Dynatrace the traffic created by NeoLoad, NeoLoad adds a header in the requests it sends. The name of the header is X-Dynatrace-Test
.
NeoLoad creates in Dynatrace the rules that allow to read the header to identify the traffic created by NeoLoad so that you can easily isolate the traffic coming exclusively from NeoLoad.
You have the option of having Dynatrace detect anomalies during the test. To that end, you need to define anomaly rules in NeoLoad.
For more information, please refer to the documentation of the Anomaly detection section in the APM tab of your Scenario advanced settings.