你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 Windows 的 Azure Monitor 依赖项虚拟机扩展

用于 VM 的 Azure Monitor 映射功能从 Microsoft Dependency Agent 获取其数据。 适用于 Windows 的 Azure VM 依赖关系代理虚拟机扩展在 Azure 虚拟机上安装依赖关系代理。 本文档详细介绍适用于 Windows 的 Azure VM 依赖项代理虚拟机扩展支持的平台、配置和部署选项。

操作系统

可针对下表中列出的受支持操作系统运行适用于 Windows 的 Azure VM 依赖关系代理扩展。 下表中的所有操作系统都假定为 x64。 任何操作系统均不支持 x86。

操作系统 Azure VM 依赖关系代理
Windows Server 2022
Windows Server 2022 Core
Windows Server 2019
Windows Server 2019 Core
Windows Server 2016
Windows Server 2016 Core
Windows Server 2012 R2
Windows Server 2012
Windows 11 Client 和 Pro 1, 2
Windows 11 企业版
(包括多会话)
Windows 10 1803 (RS4) 及更高版本 1
Windows 10 企业版
(包括多会话)和专业版
(仅限服务器方案)
Windows 8 企业版和专业版
(仅限服务器方案)
Windows 7 SP1
(仅限服务器方案)
Azure Stack HCI
Windows IoT 企业版

1 使用 Azure Monitor 代理客户端安装程序
2 在基于 Arm64 的计算机上也受支持。

扩展架构

以下 JSON 显示了 Azure Windows VM 上 Azure VM 依赖项代理扩展的架构。

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "type": "string",
      "metadata": {
        "description": "The name of existing Azure VM. Supported Windows Server versions:  2008 R2 and above (x64)."
      }
    }
  },
  "variables": {
    "vmExtensionsApiVersion": "2017-03-30"
  },
  "resources": [
    {
      "type": "Microsoft.Compute/virtualMachines/extensions",
      "name": "[concat(parameters('vmName'),'/DAExtension')]",
      "apiVersion": "[variables('vmExtensionsApiVersion')]",
      "location": "[resourceGroup().location]",
      "dependsOn": [],
      "properties": {
          "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
          "type": "DependencyAgentWindows",
          "typeHandlerVersion": "9.10",
          "autoUpgradeMinorVersion": true,
          "settings": {
                "enableAMA": "true"
		    }
      }
    }
  ],
    "outputs": {
    }
}

属性值

名称 值/示例
apiVersion 2015-01-01
发布者 Microsoft.Azure.Monitoring.DependencyAgent
type DependencyAgentWindows
typeHandlerVersion 9.10
autoUpgradeMinorVersion true
设置 “enableAMA”:“true”

重要

如果你使用的是 Azure Monitor 代理,请务必将 enableAMA 添加到模板;否则,依赖关系代理会尝试将数据发送到旧版 Log Analytics 代理。

模板部署

可使用 Azure 资源管理器模板部署 Azure VM 扩展。 可以在 Azure 资源管理器模板中使用上一部分中详细介绍的 JSON 架构,以便在 Azure 资源管理器模板部署过程中运行 Azure VM 依赖项代理扩展。

用于虚拟机扩展的 JSON 可以嵌套在虚拟机资源中。 或者,可以将其置于资源管理器 JSON 模板的根部或顶层。 JSON 的位置会影响资源名称和类型的值。 有关详细信息,请参阅设置子资源的名称和类型

以下示例假定依赖项代理扩展嵌套在虚拟机资源内。 嵌套扩展资源时,JSON 放置在虚拟机的 "resources": [] 对象中。

{
	"type": "extensions",
	"name": "DAExtension",
	"apiVersion": "[variables('apiVersion')]",
	"location": "[resourceGroup().location]",
	"dependsOn": [
		"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
	],
	"properties": {
      "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
      "type": "DependencyAgentWindows",
      "typeHandlerVersion": "9.10",
      "autoUpgradeMinorVersion": true,
      "settings": {
            "enableAMA": "true"
    		    }
    }
}

将扩展 JSON 放置在模板的根部时,资源名称包括对父虚拟机的引用。 类型反映了嵌套的配置。

{
	"type": "Microsoft.Compute/virtualMachines/extensions",
	"name": "<parentVmResource>/DAExtension",
	"apiVersion": "[variables('apiVersion')]",
	"location": "[resourceGroup().location]",
	"dependsOn": [
		"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
	],
	"properties": {
      "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
      "type": "DependencyAgentWindows",
      "typeHandlerVersion": "9.10",
      "autoUpgradeMinorVersion": true,
      "settings": {
            "enableAMA": "true"
    		    }
	}
}

PowerShell 部署

可以使用 Set-AzVMExtension 命令将依赖项代理虚拟机扩展部署到现有的虚拟机。 运行该命令之前,需将公共和专用配置存储在 PowerShell 哈希表中。


Set-AzVMExtension -ExtensionName "Microsoft.Azure.Monitoring.DependencyAgent" `
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Publisher "Microsoft.Azure.Monitoring.DependencyAgent" `
    -ExtensionType "DependencyAgentWindows" `
    -TypeHandlerVersion 9.10 `
    -Location WestUS

自动扩展升级

现已提供自动升级依赖项扩展次要版本的新功能。

要为扩展启用自动扩展升级,必须确保将 enableAutomaticUpgrade 属性设置为 true 并添加到扩展模板。 必须单独在每个 VM 或 VM 规模集上启用此属性。 可使用启用部分所述的其中一种方法为 VM 或 VM 规模集启用该功能。

在 VM 或 VM 规模集中启用自动扩展升级后,每当扩展发布者发布了扩展的新版本,该扩展就会自动升级。 按照此处所述的可用性优先原则安全地应用升级。

enableAutomaticUpgrade 属性的功能与 autoUpgradeMinorVersion 不同。 扩展发布者发布新版本时,autoUpgradeMinorVersion 属性不会自动触发次要版本更新。 autoUpgradeMinorVersion 属性指示扩展是否应使用更新的次要版本(如果在部署时可用)。 但是,部署后,除非重新部署,否则扩展不会升级次要版本,即使此属性设置为 true 也是如此。

为了使扩展版本保持更新,建议对扩展部署使用 enableAutomaticUpgrade

重要

如果将 enableAutomaticUpgrade 添加到模板,请确保使用 API 2019-12-01 或更高版本。

故障排除和支持

疑难解答

有关扩展部署状态的数据可以从 Azure 门户和使用 Azure PowerShell 模块进行检索。 若要查看给定 VM 的扩展部署状态,请使用 Azure PowerShell 模块运行以下命令:

Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName

扩展执行输出记录到在以下目录中发现的文件:

C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Monitoring.DependencyAgent\

支持

如果对本文中的任何内容需要更多帮助,可以联系 Microsoft Q&A 和 Stack Overflow 论坛上的 Azure 专家。 或者,可以提出 Azure 支持事件。 请转到 Azure 支持站点并选择“获取支持”。 有关如何使用 Azure 支持的信息,请阅读 Microsoft Azure 支持常见问题解答