Deploy OneAgent on a Kubernetes cluster on Azure Container Services

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

Kubernetes clusters on ACS are built around common Azure Linux VMs. The OneAgent Azure VM extension can be used to conveniently monitor your cluster. While Kubernetes offers multiple approaches to monitoring, for ACS we recommend using the approach described here as it provides the most complete integration available. For other platforms, you may also be interested in this approach.

Requirements

Get your Dynatrace environment ID and PaaS token

You need to get your Dynatrace environment ID and 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 Kubernetes 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 nodes.

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

az vm extension set
  -n oneAgentLinux
  --publisher dynatrace.ruxit
  -g "<resource group name>"
  --vm-name "<VM 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>\"}"

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.