Azure Monitor Agent requirements

This article provides requirements and prerequisites for using the Azure Monitor Agent. Before you follow guidance to install the agent in Install and manage the Azure Monitor Agent, review the information in this article.

Virtual machine extension details

The Azure Monitor Agent is implemented as an Azure virtual machine (VM) extension. Extension details are listed in the following table. You can install the extension by using any of the methods that you use to install a VM extension in Azure. For version information, see Azure Monitor Agent extension versions.

The following table lists property values to use per operating system for extension installation:

Property Windows Linux
Publisher Microsoft.Azure.Monitor Microsoft.Azure.Monitor
Type AzureMonitorWindowsAgent AzureMonitorLinuxAgent
TypeHandlerVersion See Azure Monitor Agent extension versions. See Azure Monitor Agent extension versions.

Permissions

For methods other than installing by using the Azure portal, you must have the following role assignments to install the agent:

Built-in role Scopes Reason
Virtual Machine Contributor

Azure Connected Machine Resource Administrator
Virtual machines, scale sets

Azure Arc-enabled servers
To deploy the agent
Any role that includes the action Microsoft.Resources/deployments/* (for example, Log Analytics Contributor) Subscription and/or
resource group
To deploy agent extension via Azure Resource Manager templates (also used by Azure Policy)

Managed identity must be enabled on Azure virtual machines. Both user-assigned and system-assigned managed identities are supported.

  • User-assigned: This managed identity should be used for large-scale deployments and can be configured by using built-in Azure policies. You can create a user-assigned managed identity once and share it across multiple VMs. It's more scalable than a system-assigned managed identity. If you use a user-assigned managed identity, you must pass the managed identity details to the Azure Monitor Agent via extension settings:

    {
        "authentication": {
        "managedIdentity": {
            "identifier-name": "//mi_res_id OR object_id OR client_id",
            "identifier-value": "//<resource-id-of-uai> OR <guid-object-or-client-id>"
        }
        }
    }
    

    For identifier-name, use mi_res_id, object_id, or client_id. For more information on mi_res_id, object_id, and client_id, see the Managed identity documentation.

  • System-assigned: This managed identity is suited for initial testing and for small deployments. When used at scale, such as for all VMs in a subscription, it results in a substantial number of identities created and deleted in Microsoft Entra ID. To avoid this churn of identities, use user-assigned managed identities instead.

Important

System-assigned managed identity is the only supported authentication for Azure Arc-enabled servers. It's enabled automatically when you install the Azure Arc agent.

Disk space

Note

Azure Monitor Agent installation requires 500 MB in each of the following paths:

  • /var
  • /etc
  • /opt
Purpose Environment Path Suggested space
Download and install packages Linux /var/lib/waagent/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-{Version}/ 500 MB
Download and install packages Windows C:\Packages\Plugins\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent 500 MB
Extension logs Linux (Azure VM) /var/log/azure/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent/ 100 MB
Extension logs Linux (Azure Arc) /var/lib/GuestConfig/extension_logs/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent-{version}/ 100 MB
Extension logs Windows (Azure VM) C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent 100 MB
Extension logs Windows (Azure Arc) C:\ProgramData\GuestConfig\extension_logs\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent 100 MB
Agent cache Linux /etc/opt/microsoft/azuremonitoragent, /var/opt/microsoft/azuremonitoragent 500 MB
Agent cache Windows (Azure VM) C:\WindowsAzure\Resources\AMADataStore.{DataStoreName} 10.5 GB
Agent cache Windows (Azure Arc) C:\Resources\Directory\AMADataStore.{DataStoreName} 10.5 GB
Event cache Linux /var/opt/microsoft/azuremonitoragent/events 10 GB
Event cache Linux /var/lib/rsyslog 1 GB

Cryptography

The Azure Monitor Agent does not work on Linux virtual machines when the systemwide crypto policy set in FUTURE mode. For more information, see the notes in Linux hardening.