Monitor Azure Virtual Machine Scale Set (VMSS)

Capabilities

Dynatrace provides a VM extension to install OneAgent on Azure Virtual Machine Scale Set (VMSS). The extension doesn't include the OneAgent installer. Instead, it uses the Dynatrace REST API to download the latest version from the cluster, unless a default OneAgent version is configured. OneAgent updates are provided automatically.

Prerequisites

  • Create a PaaS token.

  • Determine your environment ID.

  • Determine your server URL if required.

    The server URL is required only if you use either of the following:

    • a Dynatrace Managed endpoint
    • an ActiveGate for a Dynatrace Managed or Dynatrace SaaS endpoint

    (If you use Dynatrace SaaS, the URL is automatically generated from the environment ID.)

    • Dynatrace Managed server URL:
      https://{your-domain}/e/{your-environment-id}/api
    • ActiveGate server URL:
      https://<your-active-gate-IP-or-hostname>:9999/e/<your-environment-id>/api (the ActiveGate port is configurable)

If you're using Dynatrace Managed, or if your cluster traffic should be routed through an ActiveGate, you need to configure the API endpoint used by the extension for downloading OneAgent.

Installation

The Dynatrace VM extension is available for Windows and Linux in all public Azure regions.

Install Dynatrace OneAgent VM extension via an ARM template

Alternatively to the main installation methods, you can make the Dynatrace site extension part of your ARM templates.

  1. Place the JSON configuration for a virtual machine extension in the VMSS resource, under extensions in extensionProfile.

    Example:

    {
    "type": "Microsoft.Compute/virtualMachineScaleSets",
    "sku": {...},
    "name": "<VMSS-Name>",
    "apiVersion": "2018-06-01",
    "location": "centralus",
    "properties": {
    "upgradePolicy": {...},
    "virtualMachineProfile": {
    "osProfile": {...},
    "storageProfile": {...},
    "networkProfile": {...},
    "extensionProfile": {
    "extensions": [
    {
    "name": "dynatrace",
    "properties": {
    "publisher": "dynatrace.ruxit",
    "type": "<Extension-Type>",
    "typeHandlerVersion": "<Extension-Version>",
    "autoUpgradeMinorVersion": true,
    "settings": {
    "tenantId": "<Environment-ID>",
    "token": "<API-Token>",
    "enableLogAnalytics": "yes"
    }
    }
    }
    ]
    }
    }
    }
    }
  2. Configure the JSON file.

    {
    "name": "dynatrace",
    "properties": {
    "publisher": "dynatrace.ruxit",
    "type": "<Extension-Type>",
    "typeHandlerVersion": "<Extension-Version>",
    "autoUpgradeMinorVersion": true,
    "settings": {
    "tenantId": "<Environment-ID>",
    "token": "<API-Token>",
    "server": "<Server-Url>",
    "enableLogAnalytics": "yes",
    "hostGroup": "<Host-Group>"
    },
    }
    }
    Parameter
    Required
    Description
    Resource-Group
    required
    Name of the resource group on which the VM is deployed.
    VMSS-Name
    required
    Name of the VMSS where you want to install the extension.
    Extension-Type
    required
    For Windows-based VMs, use oneAgentWindows. For Linux-based VMs, use oneAgentLinux.
    tenantId
    required
    The environment ID as described in Prerequisites.
    token
    required
    The PaaS token as described in Prerequisites.
    Extension-Version
    optional
    Required version1 of the extension.
    server
    optional
    The server URL, if you want to configure an alternative communication endpoint as described in Prerequisites.
    enableLogAnalytics
    optional
    Set to yes if you want to enable Log Monitoring.
    hostGroup
    optional
    Define the host group to which the VM belongs.
    1

    o fetch the list of extension versions, run

    az vm extension image list --name oneAgentLinux --publisher dynatrace.ruxit
  3. To check the deployment status, go to Deployment Status.

    After installation is complete, restart your applications on the VM. Immediately after restart, OneAgent will begin monitoring them.

Troubleshooting

Restart the VMSS nodes via PowerShell, replacing all values marked with <...> with your actual values:

Restart-AzureRmVmss -ResourceGroupName "<Resource-Group>" -VMScaleSetName "<VMSS-Name>"
Parameter
Required
Description
Resource-Group
required
Name of the resource group on which the Virtual Machine is deployed
VMSS-Name
required
Name of the VMSS where you want to install the extension.