Dynatrace monitors your full stack and offers you thousands of metrics with almost zero configuration. Just a single OneAgent per host is required to collect all relevant monitoring data, all the way down to specific lines of code.
However, there are certain situations where you’d like to extend our Dynatrace out-of-the-box monitoring. So, to pick the best way to extend your monitoring, here are a few things you should consider:
- What kind of data do you want to incorporate? This article we help distinguish between process metrics, external metrics and PurePaths (traces).
- What Dynatrace deployment is the best fit for your technology stack, and is the OneAgent compatible with your system?
OneAgent & application metrics
If you already have the OneAgent installed, and you’d like to bring in additional process metrics into Dynatrace, the OneAgent plugin is a good fit.
OneAgents are optimized to send data to the Dynatrace servers with the smallest possible impact, querying the metrics every minute, and the data is a first-class citizen for the Dynatrace AI root-cause analysis. With this approach, you can add any relevant metric(s) from your process to Dynatrace, and then chart it, alert on it, or correlate it with your process’ performance.
Before writing a OneAgent plugin, it’s always best practice to check that the metric(s) you want to add are not already in Dynatrace.
Top tip: An easy way to do this is by creating a custom chart and looking for the metric there. For example, the number of threads of your process is already available in Dynatrace in most cases, so there is no need to spend the extra effort.
To run a OneAgent plugin, you must write the Python script as well as a small JSON file. A step-by-step guide on basic plugins can be found here.
A special case of a OneAgent plugin is the JMX plugin. JMX plugins are fully integrated into Dynatrace, and you can create them from the UI.
OneAgent & cloud metrics
Virtualization can be a key player in your process’ performance, and Dynatrace has built-in integrations to bring metrics about the Cloud Infrastructure into your Dynatrace environment. With insights from Dynatrace into network latency and utilization of your cloud resources, you can design your scaling mechanisms and save on costly CPU hours.
Dynatrace provides out-of-the-box support for VMware, AWS, Azure, Pivotal Cloud Foundry, and Kubernetes. And don’t worry if you’re on a different cloud platform, you can use a custom ActiveGate plugin to get insights into your virtualization.
OneAgent & application traces
The Dynatrace OneAgent will automatically instrument most frameworks in Java, .NET, Node.js, PHP, and Golang. However, in certain situations, you might want to manually extend the end-to-end visibility of your applications. This could be for two reasons: either because they’re written in another language (like Python), or because you make use of frameworks that aren’t supported by Dynatrace.
The best way to get PurePath visibility in such technologies is by using the OneAgent SDK. With the SDK, you get full access to all analysis and monitoring functionalities, including auto-baselining and AI-based root cause analysis. You’ll be able to see how code changes have an impact on performance even before anyone gets affected, down to the specific lines of code.
What if installing the OneAgent isn’t possible?
Sometimes, installing OneAgent at the source of the metrics is not possible, but the device is exposing them in another way (in a log file, an API endpoint, a queue…). In those cases, you can use an ActiveGate plugin. The ActiveGate plugin queries the metrics every minute, and they are treated as first-class citizens of the Dynatrace AI root-cause analysis. If the device is correlated with your system’s topology, the pulled data will be indistinguishable from OneAgent data to our AI!
For this approach, you must write an ActiveGate plugin and deploy it in an Environment ActiveGate.
Dynatrace already supports several technologies where it isn’t possible to install a OneAgent, such as IBM DataPower, iSeries and f5.
If your metrics are not exposed by the device, or their definition changes often, then the only option to send process metrics to Dynatrace will be to use the custom device API.
To do this you will have to run a script that retrieves the desired metrics, which are then ingested through the Dynatrace API. Any programming language able to make HTTP requests – such as Python, Java or bash – would be good for this purpose.
Check out the best practices for accelerating Dynatrace APIs if you select this approach!
Extending Dynatrace is easy!
Out-of-the-box, Dynatrace OneAgent collects and correlates thousands of metrics and PurePaths of your monitored systems. Additionally, Dynatrace gives you the flexibility to extend your monitoring through different integrations.
So, when choosing the best approach to extend Dynatrace, remember to consider these key points:
- If you can install the OneAgent on the hosts, do it.
- To get more process metrics, use a OneAgent plugin.
- Looking to extend PurePaths (tracing)? Use the OneAgent SDK.
- To get device metrics on hosts without the OneAgent, use an ActiveGate plugin.
- Need process metrics on hosts that don’t expose them and cannot install the OneAgent? Create custom devices via API.