New enhancements to the centralized OneAgent API help you further reduce the total cost of ownership, while keeping short rollout timing for the new functionalities released with each Dynatrace version.
If you’re a Dynatrace administrator who’s responsible for installing and updating OneAgent or ActiveGate instances or you’re simply interested in learning how to get new functionality from Dynatrace as soon as possible, this blog post is for you.
The OneAgent advantage
One of the reasons that Dynatrace stands out from the crowd is our OneAgent. With Dynatrace, you only need to install a single OneAgent per host to collect all relevant metrics from 100% of your application-delivery chain. Also, thanks to the ease of deploying OneAgent, the time-to-value for monitoring complex enterprise environments is short.
However, the OneAgent lifecycle doesn’t end with deployment. As with any other software, OneAgent instances need to be maintained, updated, and monitored.
Centralized, large-scale management of the OneAgent lifecycle
Over the last several months we’ve released numerous improvements that make the management of OneAgent lifecycles easier and more scalable in large environments.
One notable release is the OneAgent lifecycle management REST API, which was released in September 2020. This introduced the centralized OneAgent API, which allows you to programmatically manage the lifecycle of large-scale multi-cloud deployments.
To help you further reduce the total cost of ownership while keeping short rollout times for the new features and functionalities that are released with each version of Dynatrace, today we’re happy to introduce three new enhancements to this API. These will allow you to:
- Keep disabled OneAgent instances updated so that hosts and OneAgents are ready to go ahead of each rollout.
- Easily define the timing of unattended, automatic OneAgent updates.
- Easily configure automatic ActiveGate updates.
Keep disabled OneAgent instances updated so that hosts and OneAgents are ready to go ahead of each rollout
You might have wondered what happens if OneAgent (operating in either full-stack or infrastructure monitoring modes) is disabled in the UI or via the REST API. When disabled, OneAgents don’t perform any monitoring tasks, and consequently, don’t consume any licensing. But are these OneAgents completely stopped?
The short answer is that the part of OneAgent that’s responsible for communication with the Dynatrace Cluster and updates is still working and waiting for instructions. Disabled OneAgents are primarily just waiting for a signal to re-enable monitoring. But they can also receive update instructions.
But why would you want to update OneAgents that are disabled? The answer is simple. Especially in larger environments, it’s not uncommon to prepare hosts and OneAgents in advance of business application/service rollouts or activations. In such cases you might want to make sure that OneAgent is able to perform to its full potential, including any newly released functionality, the moment that monitoring is enabled. It’s therefore critical to have OneAgents kept up-to-date even when they’re temporarily not performing any monitoring duties.
In recent months we stabilized the update-while-disabled mechanism and, beginning with OneAgent version 1.209, the mechanism is perfectly updatable from the Dynatrace Cluster regardless of its monitoring configuration.
Please note that disabling all OneAgent services on the actual host will effectively make it impossible to update OneAgent from the Dynatrace Cluster, but the manual updates performed on the host will still work just fine.
Easily define the timing for unattended, automatic OneAgent updates
One of the popular requests we’ve heard from our customers recently is allowing automatic OneAgent updates to be performed only during specific, preconfigured maintenance windows.
Why is this important? Until now, automatic OneAgent updates were performed only in what you might call a “fully SaaSified way.” As in the case of regular SaaS services, software updates happen as soon as possible and are designed to go relatively unnoticed in the background. Therefore, regardless if you are a SaaS or Managed customer, we designed the OneAgent update experience to be smooth and automated following the release of each new version. Given our relatively frequent releases, this means that you can benefit from 11 to 12 OneAgent updates a year that are deployed as soon as they are available for your environment.
However, with all this automation in place, there are edge cases where “as soon as possible” OneAgent updates are not ideal. Many of our larger customers require that all internally run software be updated only during well defined and planned maintenance windows. During these maintenance windows, which are usually set during hours that are the least likely to impact the business (i.e., weekends or late at night), the impacted stakeholders are kept on standby duty in case something goes wrong. It’s therefore not surprising that such customers—while they appreciated the “SaaSified experience” of OneAgent updates—have actually requested a new method of defining maintenance windows during which OneAgent updates are allowed.
With Dynatrace version 1.215 we’ve addressed this very requirement.
How it works
The configuration of maintenance windows for OneAgent updates is performed in two steps.
Step 1 – Define maintenance windows for OneAgent updates
To define a OneAgent maintenance window, go to Settings > Maintenance Windows > OneAgent updates. You can define multiple maintenance windows for OneAgent updates and name them for easier identification.
Location of settings for OneAgent maintenance windows
Upon selecting OneAgent updates you’re provided with the list of already defined maintenance windows for OneAgent updates. From here you can add a new maintenance window to the list.
Each maintenance window is defined as a combination of a unique name and timeframe settings. The timing consists of two elements: the start and end time of the maintenance window, as well as the recurrence pattern. Each maintenance window can be defined either as a one-off event or a recurring event. We’ve provided several types of recurrence: daily, weekly, and monthly. The creation of a OneAgent maintenance window is similar to the creation of an event in Microsoft Outlook or Google Calendar, including the recurrence settings.
Let’s take a look at the four different types of recurrence.
Definition of an update window with daily recurrence.
Definition of update window with monthly recurrence.
Definition of update window with weekly recurrence – please note the selection of days of the week
Definition of a OneAgent maintenance window with no recurrence (i.e., a one-off event).
Each defined window can be edited or removed later.
On its own, an OneAgent maintenance window doesn’t do anything; it’s just a definition of a timeframe with a name. To make the window active, it needs to be applied to your deployed OneAgents.
Step 2 – Assign a maintenance window for OneAgent updates
For the initial release of this feature, we allow maintenance windows to be assigned to individual OneAgents, host groups, as well as the your entire Dynatrace environment. It is currently not possible to assign more than one maintenance window to a single entity.
The assignment of maintenance windows is performed in host-level settings, where previously you could configure automatic vs. manual OneAgent update settings. Go to Host settings > OneAgent updates and select Automatic updates during maintenance window. Then select one of your pre-defined maintenance windows.
And that is it! Once the OneAgent maintenance windows are configured and assigned to individual hosts, host groups, or to your entire Dynatrace environment, OneAgent updates will only occur when a new version of OneAgent is available to be installed and only during the configured maintenance window.
Please note that all the features referenced here in the Dynatrace web UI are also accessible via the Dynatrace REST API.
Easily configure automatic ActiveGate updates
As you might have read in my colleague’s blog post from October 2019, ActiveGates can already be easily updated with just a single mouse click in the Dynatrace web UI.
In order to streamline this process even more and reduce the time needed to perform this, we decided to release a solution similar to what we already provide for OneAgents: a mechanism which assures completely hands-free updates of ActiveGates, at the earliest possible convenience.
Here’s how it works
On the Deployment status page for each of the ActiveGates that are subject to the auto-update mechanism (go to Deployment status > ActiveGates), you will find two options.
The first option, which has already been available in Dynatrace for some time, allows you to perform a one-click-update. Just select Update ActiveGate.
The second option is the new Auto-update toggle, which, once turned on, takes care of the automatic updates for you. Please note that when automatic updates are enabled the Update ActiveGate button is disabled.
ActiveGate with an enabled auto-update toggle and inactive Update ActiveGate button.
Please note that the ActiveGate one-click-update mechanism as well as auto update configuration are accessible from within both the Dynatrace web UI and the public REST API.
The enhancement described above will radically reduce the time needed to keep your OneAgents and ActiveGates up-to-date. But this is not the end of the journey. Our plans include the following future enhancements.
Here’s what we are planning for the Controlled timing for unattended, automatic updates of OneAgents:
- Selection of multiple update windows per entity
- Selection of the version to which the update should be performed (also including meta-versions like
- Summary overview of all pending updates
Here’s what we are planning for the Controlled timing for unattended, automatic updates of ActiveGates:
- Ability to specify a maintenance window for ActiveGate updates
- A new, more convenient location for update settings
- Hierarchical configuration that allows for updates to be managed for groups of ActiveGates, or entire Dynatrace environments
Closing remarks and thanks to our customers!
The creation of the Controlled timing for unattended, automatic updates of OneAgents feature was inspired by, among others, the requests from our customers that were shared on the Dynatrace Community. Here is the list of RFEs which have influenced the plans and our roadmap:
- OneAgent update: more control on automatic feature with 11 votes
- Allow user to specify a maintenance window for OneAgent automatic update with 12 votes
- Configure a time to automatically update OneAgent with 5 votes
- Provide ability to schedule OneAgent automatic updates with 27 votes
- Introduce a stable channel for OneAgent updates with 14 votes
Thank you to everyone who requested and voted for the feature ideas. We continue to encourage you to share your feedback with us via this very convenient communications channel.
Let us know what you think!
As always, we welcome your feedback and comments. Please continue to share your thoughts with us via the Dynatrace Community, directly within the product through Dynatrace ONE chat, or with your Dynatrace Account Manager.