The Solution Server is an ActiveGate extension that exposes a Web UI that provides a frictionless experience for deploying and managing extensions.
The Enterprise Solutions Architecture (ESA) team provides a growing collection of advanced solutions that extend the functionality of Dynatrace. The Dynatrace Solution Server by ESA installs such solutions automatically as extensions, registers them with Dynatrace, and provides seamless access to their configuration, health status, and documentation. Additionally, it is compatible with conventional extensions.
This is intended for users, who:
- Want to deploy ESA Solutions.
- Want a seamless experience for installing and managing extensions.
- Need a way to deploy extensions through automation.
This enables you to:
- Use the “Install” wizard in the Solution Server; install any extension or solution, using an extension Zip file or the download link from the Dynatrace Hub tile.
- Use an API to upload and deploy extensions to any ActiveGate on which the ESA Solution Server is running.
- Manage the configuration and health of any extension running on the ActiveGate.
- Access documentation, and request support seamlessly.
Compatibility Requirements
The Solution Server is currently only supported on Linux. It includes up-to-date versions of NodeJS and PM2.
The installation of the Solution Server requires access to the host that runs the ActiveGate on which you want to deploy it.
- Download and save the Solution Server zip file
- Establish an SSH session to the ActiveGate host (e.g. your.activegate.corp.com), upload the zip file downloaded in step 1, and unzip it into
/opt/dynatrace/remotepluginmodule/plugin_deployment
. This will create a subfolder named ‘custom.remote.python.esa-solution-server-v1
.
- Go to that folder and run
sudo dss install
to finish the installation, and start the DSS using dss
launch. Once finished, it will show the instructions described in steps 4 and 5. The DSS will now run under PM2 (which runs as a Linux service).
- Go to the Dynatrace tenant that ’owns’ the ActiveGate. Under Settings > Integration > Dynatrace API, generate an API token with the following scopes: v1 - “Read Configuration”, “Write Configuration”, “Access problem and event feed, metrics and topology”, and v2 - “Read entities”, “Read ActiveGates”.
- Navigate to
https://your.activegate.corp.com
. The page below should appear. Click on the ‘Lock’ and paste your token in the dialog. Click Finish.
You can now start installing ESA Solutions (as well as normal extensions).
The Solution Server is written in NodeJS but also leverages the Python runtime that is provided by the ActiveGate. It includes an installation of NodeJS that ESA solutions (and your own ‘solutions’) may use.
The Solution Server supports both conventional Dynatrace extensions as well as ESA-style ‘Solutions’. It presents every solution/extension as a tile on its home page. Each tile provides access to ‘Documentation’, ‘Settings’, ‘Health’, and ‘Support’ pages. Clicking on a tile takes the user to the UI of that solution.
Note that any extensions present on the ActiveGate when the Solution Server is installed, and any extensions that are added later, are automatically discovered by the Solution Server. Solutions adhere to certain conventions that allows the ActiveGate to treat them as extensions, and the Solution Server to treat them as proxied applications.
The following types of solutions are supported:
- Static sites and SPAs: A collection of static HTML/JS/CSS files. The DSS will expose that as a Web application.
- **NodeJS applications: **A self-contained NodeJS application. The Solution Server will start (and stop) it, and proxies requests for it to the port at which it listens.
- NodeJS modules: Any NodeJS code that exposes a specific interface. The Solution Server will load such module and route requests to it for the services it provides.
- Other runtimes (Python, Go, etc.): A self-contained application that uses a modern runtime. The Solution Server will start (and stop) it, and proxies requests for it to the port at which it listens.
- Extensions: A traditional extension. It exposes the interface required by Dynatrace. The ActiveGate will load it and call its methods periodically.
Detailed user-oriented and developer-oriented documentation for the Solution Server is available from within its user interface.