Deploy OneAgent on a Docker Swarm cluster on Azure Container Services

This topic walks you through deploying OneAgent on a Docker Swarm cluster on ACS (Azure Container Services).

Docker Swarm clusters on ACS use Virtual Machine Scale Sets (VMSS) in Microsoft Azure to provide scalability. The OneAgent Azure VM extension must be installed to the VMSS via PowerShell commandlets, Azure CLI, or an ARM template.

Requirements

Get your Dynatrace environment ID and PaaS token

You need to get your Dynatrace environment ID as well as a PaaS token.

  1. Login with your Dynatrace account.

  2. Select Deploy Dynatrace from the navigation menu.

  3. Click the Set up PaaS integration button.

  4. Your environment ID appears in the Environment ID text box. You'll need this ID to link your Dynatrace account with your PaaS environment. Click Copy to copy the ID to the clipboard. You can do this at any time by revisiting this page.

  5. To generate a PaaS token, click the Generate new token button. The PaaS token is essentially an API token that's used in combination with your environment ID to download Dynatrace OneAgent. As you'll see, there's also a default InstallerDownload token available that you can alternatively use. However, for security reasons, it's recommended that you create several discrete tokens for each environment you have.

  6. Type in a meaningful name for your PaaS token. A meaningful token name might be the name of the PaaS platform you want to monitor (for example, azure, cloud-foundry, or openshift). To view and manage your existing PaaS tokens, go to Settings -> Integration -> Platform as a Service.

  7. Click Generate to create the PaaS token. The newly created PaaS token will appear in the list below. Click Copy to copy the generated token to the clipboard. You can do this at any time by revisiting this page and clicking Show token next to the relevant PaaS token.

Installation

To deploy OneAgent on a Docker Swarm cluster on ACS, you need to set up Azure VM extension via one of the following ways.

Replace all values marked with <...> with your actual values.

Login to your Azure account. If you're using Azure Cloud Shell, you can skip this step.

az login

Add the VM extension to the VM scale sets.

Please note that the settings are submitted in JSON format, which requires proper escaping as the command is submitted as a string.

az vmss extension set
  -n oneAgentLinux
  --publisher dynatrace.ruxit
  -g "<resource group name>"
  --vmss-name "<VMSS name>"
  --settings "{\"tenantId\":\"<your environment ID>\",\"token\":\"<PaaS token>\"}"

If you're using Dynatrace Managed, be sure to add your Dynatrace Server address to the settings JSON. This needs to be set to https://<YourDynatraceServerURL>/e/<environmentID>/api.

--settings "{\"server\":\"<Dynatrace Server URL>\",\"tenantId\":\"<your environment ID>\",\"token\":\"<PaaS token>\"}"

Grab a coffee

It takes a few minutes until the extension is deployed to all nodes of the cluster, but it shouldn't take more than 10 minutes for a five-node cluster. Please watch the Dynatrace Host overview for new hosts to appear, as Azure Portal may not notify you that the deployment process has successfully completed.

Notes:

  1. Don't forget to restart your services to enable deep monitoring.
  2. If the VM nodes don't show up in your dashboard, restart all VM nodes.
    Restart-AzureRmVmss -ResourceGroupName "<resource group name>" -VMScaleSetName "<VMSS name>"