Extension Framework 2.0 now supports JMX and Python data sources. This means that monitoring use cases addressed by extensions (formerly known as “plugins”) running on Extension Framework 1.0 can now leverage Extension Framework 2.0 with its built-in security and scalability. Migration to Extension Framework 2.0 is mandatory, though not automatic. Migration is a hands-on process for which Dynatrace offers you tooling and helpful guidance.
In our pursuit of continuous improvement, we’re bidding farewell to the Extension Framework 1.0 and focusing on a much-improved version 2.0 that offers security, scalability, and simplicity of use. Extensions 2.0 already address SNMP, WMI, SQL databases, and Prometheus technologies, serving the monitoring needs of hundreds of Dynatrace customers. JMX monitoring extensions are currently being migrated.
We’ve added Python support to Extensions 2.0, enabling the framework to support any extensibility use case we know about and preparing it for future use cases we don’t know about. However, since Extension Framework versions 1.0 and 2.0 are technologically very different, Python and JMX extensions designed for Extension Framework 1.0 must be migrated to Extension Framework 2.0.
Dynatrace provides tooling and documentation to help you migrate your Extensions 1.0 to the Extension Framework 2.0, but you need to take action to initiate the migration. We’re here to help. Read on to see how the migration will be supported and when.
Why Extension Framework 2.0 is important
Dynatrace extensibility is foundational to the technology coverage of the Dynatrace® platform. Extensions can monitor virtually any type of technology in your environment. You can find extensions in Dynatrace Hub, activate them there, and instantly start monitoring the technologies and products you expect the Dynatrace platform to cover.
Technology coverage comes with responsibility: as you would expect, the modern Dynatrace observability platform not only monitors technologies but also scales with your IT landscape, is resilient, adapts to changes in load, and follows strict security standards.
Dynatrace Extensions 1.0 focused on technology coverage, building on the flexibility of JMX for Java and Python-based coded extensions for everything else. While Python code can address most data acquisition and ingest requirements, it comes at the cost of complexity in implementation and use-case modeling. Python code also carries limited scalability and the burden of governing its security in production environments and lifecycle management.
Extensions 2.0 address these limitations and brings new monitoring and analytical capabilities that weren’t available to Extensions 1.0:
Coverage through the simplicity of the extensions
Extension Framework 2.0 supports SNMP, WMI, Prometheus, and SQL data sources, and now also JMX; no code is required to leverage these extensions. Declarative extensions—written in a human-readable YAML format—require no coding skills and are inherently scalable and secure, thanks to the high-performance data sources that underpin them.
Power through Python support in Extensions 2.0
The latest addition to Extension Framework 2.0—Python data source—brings the flexibility of coding where declarative extensions are not enough. It also enables migration of Extensions 1.0 (plugins) to the Extension Framework 2.0.
Read on to learn how to migrate your Extensions 1.0.
Scalability and failover
Extensions 2.0 are automatically distributed to a group of ActiveGates, balancing the load automatically and switching workloads in case of infrastructure failure, to assure continued monitoring execution.
Extensions 2.0 are auto-deployed to any OneAgent or ActiveGate within a pre-set Dynamic Activation Scope, eliminating the need for manual deployment to individual monitoring targets.
Extensions 2.0 can reference or create any topological entity type and model topological relationships between created and existing entities, including Dynatrace native built-in entities.
Comprehensive metrics support
Extensions 2.0 support complete metric metadata configuration to ensure that monitoring data is context-rich and unified across the platform, regardless of which extension or agent sourced the metric.
Reporting and analytics assets out-of-the-box
Bundles offered by Extensions 2.0 include additional product configurations. These bundles ensure the provisioning of pre-configured dashboards, alerts, unified analysis views, and a topology model that relates metrics and entities. Analytical views are linked and embedded where they make the most sense from the observability perspective.
All Extensions 2.0 are signed either with Dynatrace or your own certificate and won’t run if signature verification fails. This applies to both declarative and coded Python extensions, so in principle, Dynatrace executes only the functions and code you endorse it to execute—in a sandbox, naturally. This includes Python-coded extensions, which are also sandboxed.
Extensions, which you can find on Dynatrace Hub, are automatically scanned and verified for security, and Python extensions additionally undergo strict code reviews before publishing. Extension signing—required to make an extension usable – certifies that all security procedures have been passed.
What’s available now and what’s coming later
We’ve already started to migrate Dynatrace-developed Extensions 1.0 to the Extension Framework 2.0. You can see results on the Hub; there are Python-coded and JMX extensions (based on Extension Framework 2.0) available, and more are in the pipeline.
Here are the highlights:
Monitoring Citrix (Python coded)
The Dynatrace Citrix monitoring extension can now ingest observability signals from Citrix PowerShell SDK cmdlets in addition to existing metrics related to users, sessions, and Virtual Delivery Agent (VDA). The Citrix PowerShell SDK provides access to metrics from Citrix Studio and additional metrics that aren’t readily available in Citrix Studio but are commonly used by Citrix performance engineers.
You can find all the relevant details in this blog post
Monitoring IBM MQ (Python coded)
With this new (Python-coded) version of this popular extension, you can collect performance metrics from your queue managers running locally on your OneAgent-monitored hosts or remotely from your ActiveGates.
Oracle WebLogic (JMX)
This Dynatrace extension empowers you with an array of capabilities. It enables seamless transaction capture, thorough dependency analysis, improved Java code performance, advanced CPU and memory profiling, proactive problem detection, built-in JMX monitoring, and the flexibility to integrate custom metrics and trace instrumentation using frameworks like OpenTelemetry or Micrometer.
Apache Kafka Server (JMX)
The Apache Kafka extension offers valuable insights into your Kafka server. It provides metrics for various components such as brokers, topics, producers, and consumers. You can conveniently set up alerts for critical metrics. It simplifies management by creating a custom topology and entities for these components. Additionally, it offers a user-friendly dashboard for easy access and configuration of the extension and its entities.
What will happen to my Extensions/Plugins 1.0
Extension Framework versions 1.0 and 2.0 are technologically very different; Python and JMX extensions designed for the Extension Framework 1.0 must be migrated to the Extension Framework 2.0. We’re now working on migrating the Extensions 1.0 that were provided to you out-of-the-box or were published by Dynatrace on the Hub.
You’re responsible for migrating any custom extensions you built or someone else built for you. Dynatrace provides tooling and documentation to help you migrate your Extensions 1.0 to the Extension Framework 2.0, but the responsibility for taking action lies with you.
Who does this affect?
This change affects all Dynatrace Managed and Dynatrace SaaS customers using out-of-the-box JMX/PMI extensions that were built by Dynatrace and officially supported (in other words, shipped with OneAgent or ActiveGate) or Hub extensions and all custom JMX/PMI or Python extensions built by customers or partners.
All Extensions 1.0 need to be migrated to Extension Framework 2.0 before October 2024.
Timeline of migration to Extension Framework 2.0
How-To Guide (available January 2024)
In January 2024, we will publish a how-to guide for building your Python-coded extensions, and we will migrate all key extensions to Extension Framework 2.0. We will also release an SDK for our customers in the future.
Hands-on training session at PERFORM (January/February 2024)
In this session, you’ll learn how to:
- Understand how the Dynatrace platform is extendable and how it works under the hood.
- Get data from Prometheus into Dynatrace using our latest tooling.
- Understand the steps required to convert a JMX extension from Extension Framework 1.0 to 2.0 with minimal intervention.
- Convert a Python extension from Extension Framework 1.0 to 2.0 and learn about all the new features this unlocks.
- Discover how the future roadmap of extensibility can help you with your use cases.
Please register early to have a guaranteed seat.
Public hands-on training sessions (February thru October 2024)
Starting in February and running through October 2024, we will provide a series of training sessions to help with migration to Extension Framework 2.0
End of Life of Extension Framework 1.0 (October 2024)
In October 2024, we’ll remove all Extensions 1.0 from OneAgents and ActiveGates.
Start migrating extensions
There is already a step-by-step guide on how to convert existing JMX extensions for Extension Framework 2.0. Please consider this migration in your plan for extension development in 2024.
What are the next migration steps?
We’ll migrate all key extensions to Extension Framework 2.0 by the end of January 2024.