Dependency Agent in Azure Monitor VM insights
Dependency Agent collects data about processes running on the virtual machine and their external process dependencies. Updates include bug fixes or support of new features or functionality. This article describes Dependency Agent requirements and how to upgrade it manually or through automation.
Note
Dependency Agent sends heartbeat data to the InsightsMetrics table, for which you incur data ingestion charges. This behavior is different from Azure Monitor Agent, which sends agent health data to the Heartbeat table that is free from data collection charges.
Dependency Agent requirements
- Azure Monitor agent must be installed on the same machine.
- Requires a connection from the virtual machine to the address 169.254.169.254. This address identifies the Azure metadata service endpoint.
- Currently supports the same Windows versions that Azure Monitor Agent supports up to Windows Server 2019, except Windows Server 2008 SP2 and Azure Stack HCI. For Linux, see Dependency Agent Linux support.
Linux considerations
Consider the following before you install Dependency agent for VM Insights on a Linux machine:
- Only default and SMP Linux kernel releases are supported.
- Nonstandard kernel releases, such as physical address extension (PAE) and Xen, aren't supported for any Linux distribution. For example, a system with the release string of 2.6.16.21-0.8-xen isn't supported.
- Custom kernels, including recompilations of standard kernels, aren't supported.
- For Debian distros other than version 9.4, the Map feature isn't supported. The Performance feature is available only from the Azure Monitor menu. It isn't available directly from the left pane of the Azure VM.
- CentOSPlus kernel is supported.
- Installing Dependency agent taints the Linux kernel and you might lose support from your Linux distribution until the machine resets.
The Linux kernel must be patched for the Spectre and Meltdown vulnerabilities. For more information, consult with your Linux distribution vendor. Run the following command to check for availability if Spectre/Meltdown has been mitigated:
$ grep . /sys/devices/system/cpu/vulnerabilities/*
Output for this command looks similar to the following and specify whether a machine is vulnerable to either issue. If these files are missing, the machine is unpatched.
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable: Minimal generic ASM retpoline
Install or upgrade Dependency Agent
Note
Dependency Agent is installed automatically when VM Insights is enabled on a machine for process and connection data. If VM Insights is enabled exclusively for performance data, Dependency Agent won't be installed.
You can upgrade Dependency Agent for Windows and Linux manually or automatically, depending on the deployment scenario and environment the machine is running in, using these methods:
Environment | Installation method | Upgrade method |
---|---|---|
Azure VM | Dependency Agent VM extension for Windows and Linux | Agent is automatically upgraded by default unless you configured your Azure Resource Manager template to opt out by setting the property autoUpgradeMinorVersion to false. The upgrade for minor version where auto upgrade is disabled, and a major version upgrade follow the same method - uninstall and reinstall the extension. |
Custom Azure VM images | Manual install of Dependency Agent for Windows/Linux | Updating VMs to the newest version of the agent needs to be performed from the command line running the Windows installer package or Linux self-extracting and installable shell script bundle. |
Non-Azure VMs | Manual install of Dependency Agent for Windows/Linux | Updating VMs to the newest version of the agent needs to be performed from the command line running the Windows installer package or Linux self-extracting and installable shell script bundle. |
Manually install or upgrade Dependency Agent on Windows
Update the agent on a Windows VM from the command prompt, with a script or other automation solution, or by using the InstallDependencyAgent-Windows.exe Setup Wizard.
Prerequisites
- Download the latest version of the Windows agent from aka.ms/dependencyagentwindows.
Using the Setup Wizard
Sign on to the computer with an account that has administrative rights.
Execute InstallDependencyAgent-Windows.exe to start the Setup Wizard.
Follow the Dependency Agent Setup wizard to uninstall the previous version of Dependency Agent and then install the latest version.
From the command line
Sign in on the computer using an account with administrative rights.
Run the following command:
InstallDependencyAgent-Windows.exe /S /RebootMode=manual
The
/RebootMode=manual
parameter prevents the upgrade from automatically rebooting the machine if some processes are using files from the previous version and have a lock on them.To confirm the upgrade was successful, check the
install.log
for detailed setup information. The log directory is %Programfiles%\Microsoft Dependency Agent\logs.
Manually install or upgrade Dependency Agent on Linux
Upgrading from prior versions of Dependency Agent on Linux is supported and performed following the same command as a new installation.
Prerequisites
- Download the latest version of the Linux agent from aka.ms/dependencyagentlinux or via curl:
curl -L -o DependencyAgent-Linux64.bin https://aka.ms/dependencyagentlinux
Note
Curl doesn't automatically set execution permissions. You need to manually set them using chmod:
chmod +x DependencyAgent-Linux64.bin
From the command line
Sign in on the computer with a user account that has sudo privileges to execute commands as root.
Run the following command:
sudo <path>/InstallDependencyAgent-Linux64.bin
If Dependency Agent fails to start, check the logs for detailed error information. On Linux agents, the log directory is /var/opt/microsoft/dependency-agent/log.
Uninstall Dependency Agent
Note
If Dependency Agent was installed manually, it won’t show in the Azure portal and has to be uninstalled manually. It will only show if it was installed via the Azure portal, PowerShell, ARM template deployment, or Azure policy.
From the Virtual Machines menu in the Azure portal, select your virtual machine.
Select Extensions + applications > DependencyAgentWindows or DependencyAgentLinux > Uninstall.
Manually uninstall Dependency Agent on Windows
Method 1: In Windows, go to Add and remove programs, find Microsoft Dependency Agent, click on the ellipsis to open the context menu, and select Uninstall.
Method 2: Use the uninstaller located in the Microsoft Dependency Agent folder, for example, C:\Program Files\Microsoft Dependency Agent"\Uninstall_v.w.x.y.exe
(where v.w.x.y is the version number).
Manually uninstall Dependency Agent on Linux
Sign in on the computer with a user account that has sudo privileges to execute commands as root.
Run the following command:
sudo /opt/microsoft/dependency-agent/uninstall -s
Dependency Agent Linux support
Since Dependency Agent works at the kernel level, support is also dependent on the kernel version. As of Dependency Agent version 9.10.* the agent supports * kernels. The following table lists the major and minor Linux OS release and supported kernel versions for Dependency Agent.
Note
With Dependency agent 9.10.15 and above, installation is not blocked for unsupported kernel versions, but the agent will run in degraded mode. In this mode, connection and port data stored in VMConnection and VMBoundport tables is not collected. The VMProcess table may have some data, but it will be minimal.
Distribution | OS version | Kernel version |
---|---|---|
Red Hat Linux 8 | 8.6 | 4.18.0-372.*el8.x86_64, 4.18.0-372.*el8_6.x86_64 |
8.5 | 4.18.0-348.*el8_5.x86_644.18.0-348.*el8.x86_64 | |
8.4 | 4.18.0-305.*el8.x86_64, 4.18.0-305.*el8_4.x86_64 | |
8.3 | 4.18.0-240.*el8_3.x86_64 | |
8.2 | 4.18.0-193.*el8_2.x86_64 | |
8.1 | 4.18.0-147.*el8_1.x86_64 | |
8.0 | 4.18.0-80.*el8.x86_64 4.18.0-80.*el8_0.x86_64 |
|
Red Hat Linux 7 | 7.9 | 3.10.0-1160 |
7.8 | 3.10.0-1136 | |
7.7 | 3.10.0-1062 | |
7.6 | 3.10.0-957 | |
7.5 | 3.10.0-862 | |
7.4 | 3.10.0-693 | |
Red Hat Linux 6 | 6.10 | 2.6.32-754 |
6.9 | 2.6.32-696 | |
CentOS Linux 8 | 8.6 | 4.18.0-372.*el8.x86_64, 4.18.0-372.*el8_6.x86_64 |
8.5 | 4.18.0-348.*el8_5.x86_644.18.0-348.*el8.x86_64 | |
8.4 | 4.18.0-305.*el8.x86_64, 4.18.0-305.*el8_4.x86_64 | |
8.3 | 4.18.0-240.*el8_3.x86_64 | |
8.2 | 4.18.0-193.*el8_2.x86_64 | |
8.1 | 4.18.0-147.*el8_1.x86_64 | |
8.0 | 4.18.0-80.*el8.x86_64 4.18.0-80.*el8_0.x86_64 |
|
CentOS Linux 7 | 7.9 | 3.10.0-1160 |
7.8 | 3.10.0-1136 | |
7.7 | 3.10.0-1062 | |
CentOS Linux 6 | 6.10 | 2.6.32-754.3.5 2.6.32-696.30.1 |
6.9 | 2.6.32-696.30.1 2.6.32-696.18.7 |
|
Ubuntu Server | 20.04 | 5.8 5.4* |
18.04 | 5.3.0-1020 5.0 (includes Azure-tuned kernel) 4.18* 4.15* |
|
16.04.3 | 4.15.* | |
16.04 | 4.13.* 4.11.* 4.10.* 4.8.* 4.4.* |
|
14.04 | 3.13.*-generic 4.4.*-generic |
|
SUSE Linux 12 Enterprise Server | 12 SP5 | 4.12.14-122.*-default, 4.12.14-16.*-azure |
12 SP4 | 4.12.* (includes Azure-tuned kernel) | |
12 SP3 | 4.4.* | |
12 SP2 | 4.4.* | |
SUSE Linux 15 Enterprise Server | 15 SP1 | 4.12.14-197.*-default, 4.12.14-8.*-azure |
15 | 4.12.14-150.*-default | |
Debian | 9 | 4.9 |
Note
Dependency agent is not supported for Azure Virtual Machines with Ampere Altra ARM–based processors.
Next steps
If you want to stop monitoring your VMs for a while or remove VM Insights entirely, see Disable monitoring of your VMs in VM Insights.