แก้ไข

แชร์ผ่าน


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

Using the Setup Wizard

  1. Sign on to the computer with an account that has administrative rights.

  2. Execute InstallDependencyAgent-Windows.exe to start the Setup Wizard.

  3. Follow the Dependency Agent Setup wizard to uninstall the previous version of Dependency Agent and then install the latest version.

From the command line

  1. Sign in on the computer using an account with administrative rights.

  2. 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.

  3. 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

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

  1. Sign in on the computer with a user account that has sudo privileges to execute commands as root.

  2. 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.

  1. From the Virtual Machines menu in the Azure portal, select your virtual machine.

  2. Select Extensions + applications > DependencyAgentWindows or DependencyAgentLinux > Uninstall.

    Screenshot showing the Extensions and applications screen for a virtual machine.

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

  1. Sign in on the computer with a user account that has sudo privileges to execute commands as root.

  2. 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.