适用于 Windows 的 Log Analytics 代理虚拟机扩展

Azure Monitor 日志提供跨云和本地资产的监视功能。 Microsoft 发布并支持适用于 Windows 的 Log Analytics 代理虚拟机 (VM) 扩展。 该扩展将在 Azure VM 上安装 Log Analytics 代理,并将 VM 注册到现有 Log Analytics 工作区。 本文介绍了适用于 Windows 的 Log Analytics 代理 VM 扩展支持的平台、配置和部署选项。

重要

Log Analytics 代理“已弃用”,且在 2024 年 8 月 31 日之后将不再受支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请在此日期之前迁移到新的 Azure Monitor 代理

先决条件

请查看使用适用于 Windows 的 Log Analytics 代理 VM 扩展的以下先决条件:

操作系统

有关支持的 Windows 操作系统的详细信息,请参阅 Azure Monitor 代理概述一文。

代理和 VM 扩展版本

下表提供了每次发布的 Windows Log Analytics VM 扩展和 Log Analytics 代理的版本映射。

代理版本 VM 扩展版本 发布日期 发行说明
10.20.18076.0 1.0.18076 2024 年 3 月 - 支持 TLS 1.3 和小型补丁
10.20.18069.0 1.0.18069 2023 年 9 月 - 重新生成了代理以重新签名并替换过期的证书,向安装程序添加了弃用消息
10.20.18067.0 1.0.18067 2022 年 3 月 - 性能计数器 Bug 修复
- 对代理疑难解答进行了改善
10.20.18064.0 1.0.18064 2021 年 12 月 - 对间歇性故障进行了 Bug 修复
10.20.18062.0 1.0.18062 2021 年 11 月 - 对小 bug 进行了修复,改进了稳定性
10.20.18053 1.0.18053.0 2020 年 10 月 - 新代理疑难解答
- 更新了代理处理 Azure 服务的证书更改的方式
10.20.18040 1.0.18040.2 2020 年 8 月 - 解决了 Azure Arc 上的一个问题
10.20.18038 1.0.18038 2020 年 4 月 - 使用 Azure Monitor 专用链接范围启用通过 Azure 专用链接的连接
- 添加引入限制,以避免在引入工作区时突然出现意外流入
- 解决了导致 HealthService.exe 故障的 bug
10.20.18029 1.0.18029 2020 年 3 月 - 添加 SHA-2 代码签名支持
- 改进 VM 扩展安装和管理
- 解决用于服务器的 Azure Arc 集成中的 Bug
- 添加了用于提供客户支持的内置故障排除工具
10.20.18018 1.0.18018 2019 年 10 月 - 对小 bug 进行了修复,改进了稳定性
10.20.18011 1.0.18011 2019 年 7 月 - 次要 bug 修复和稳定性改进
- 将 MaxExpressionDepth 提高到了 10,000
10.20.18001 1.0.18001 2019 年 6 月 - 次要 bug 修复和稳定性改进
- 添加了在建立代理连接时禁用默认凭据的功能(支持 WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH
10.19.13515 1.0.13515 2019 年 3 月 - 轻微的稳定性修复
10.19.10006 不适用 2018 年 12 月 - 轻微的稳定性修复
8.0.11136 不适用 2018 年 9 月 - 添加对 VM 移动时检测资源 ID 更改的支持
- 添加了在使用非扩展安装时报告资源 ID 的支持
8.0.11103 不适用 2018 年 4 月
8.0.11081 1.0.11081 2017 年 11 月
8.0.11072 1.0.11072 2017 年 9 月
8.0.11049 1.0.11049 2017 年 2 月

Microsoft Defender for Cloud

Microsoft Defender for Cloud 自动预配 Log Analytics 代理并将其连接到 Azure 订阅的默认 Log Analytics 工作区。

重要

如果使用的是 Microsoft Defender for Cloud,请不要遵循本文中所述的扩展部署方法。 这些部署过程会覆盖配置的 Log Analytics 工作区,并断开与 Microsoft Defender for Cloud 的连接。

Azure Arc

你可以利用已启用 Azure Arc 的服务器将 Log Analytics 代理 VM 扩展部署到非 Azure Windows 和 Linux 计算机,以及移除和更新该扩展。 此方法简化了混合计算机的整个生命周期的管理。 有关详细信息,请参阅使用已启用 Azure Arc 的服务器进行 VM 管理

Internet 连接

适用于 Windows 的 Log Analytics 代理扩展要求目标 VM 已连接到 Internet。

扩展架构

以下 JSON 显示了适用于 Windows 的 Log Analytics 代理 VM 扩展的架构。 此扩展需要目标 Log Analytics 工作区的工作区 ID 和工作区密钥。 这些内容可在 Azure 门户的工作区设置中找到。

由于工作区密钥应视为敏感数据,因此将它存储在受保护的设置配置中。 Azure VM 扩展保护的设置数据已加密,并且只能在目标 VM 上解密。

注意

workspaceIdworkspaceKey 的值区分大小写。

{
    "type": "extensions",
    "name": "OMSExtension",
    "apiVersion": "[variables('apiVersion')]",
    "location": "[resourceGroup().location]",
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
    ],
    "properties": {
        "publisher": "Microsoft.EnterpriseCloud.Monitoring",
        "type": "MicrosoftMonitoringAgent",
        "typeHandlerVersion": "1.0",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "workspaceId": "myWorkSpaceId"
        },
        "protectedSettings": {
            "workspaceKey": "myWorkspaceKey"
        }
    }
}

属性值

JSON 架构包括以下属性。

名称 值/示例
apiVersion 2015-06-15
publisher Microsoft.EnterpriseCloud.Monitoring
type MicrosoftMonitoringAgent
typeHandlerVersion 1.0
workspaceId (e.g)* 6f680a37-00c6-41c7-a93f-1437e3462574
workspaceKey (e.g) z4bU3p1/GrnWpQkky4gdabWXAhbWSTz70hm4m2Xt92XI+rSRgE8qVvRhsGo9TXffbrTahyrwv35W0pOqQAU7uQ==

*workspaceId 架构属性将被指定为 Log Analytics API 中的 consumerId 属性。

模板部署

可使用 Azure 资源管理器 (ARM) 模板部署 Azure VM 扩展。 上一部分中详细介绍的 JSON 架构可以在 ARM 模板中使用,以便在 ARM 模板部署过程中运行 Log Analytics 代理 VM 扩展。 包含 Log Analytics 代理 VM 扩展的示例模板可以在 Azure 快速入门库中找到。

注意

当你需要将 Log Analytics 代理配置为向多个工作区报告时,ARM 模板不支持指定多个工作区 ID 和工作区键。 若要将 Log Analytics 代理配置为向多个工作区报告,请参阅添加或移除工作区

VM 扩展的 JSON 配置可以嵌套在 VM 资源内,或放置在 JSON ARM 模板的根部或顶层。 JSON 的位置会影响资源名称和类型的值。 有关详细信息,请参阅设置子资源的名称和类型

以下示例假定 Log Analytics 代理 VM 扩展嵌套在 VM 资源内。 嵌套扩展资源时,JSON 放置在 VM 的 "resources": [] 对象中。

{
    "type": "extensions",
    "name": "OMSExtension",
    "apiVersion": "[variables('apiVersion')]",
    "location": "[resourceGroup().location]",
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
    ],
    "properties": {
        "publisher": "Microsoft.EnterpriseCloud.Monitoring",
        "type": "MicrosoftMonitoringAgent",
        "typeHandlerVersion": "1.0",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "workspaceId": "myWorkSpaceId"
        },
        "protectedSettings": {
            "workspaceKey": "myWorkspaceKey"
        }
    }
}

将扩展 JSON 放置在 ARM 模板的根部时,资源 name 将包括对父 VM 的引用,并且 type 反映了嵌套的配置。

{
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "name": "<parentVmResource>/OMSExtension",
    "apiVersion": "[variables('apiVersion')]",
    "location": "[resourceGroup().location]",
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
    ],
    "properties": {
        "publisher": "Microsoft.EnterpriseCloud.Monitoring",
        "type": "MicrosoftMonitoringAgent",
        "typeHandlerVersion": "1.0",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "workspaceId": "myWorkSpaceId"
        },
        "protectedSettings": {
            "workspaceKey": "myWorkspaceKey"
        }
    }
}

PowerShell 部署

Set-AzVMExtension 命令可用于将 Log Analytics 代理 VM 扩展部署到现有的 VM。 运行该命令之前,请将公共和专用配置存储在 PowerShell 哈希表中。

$PublicSettings = @{"workspaceId" = "myWorkspaceId"}
$ProtectedSettings = @{"workspaceKey" = "myWorkspaceKey"}

Set-AzVMExtension -ExtensionName "MicrosoftMonitoringAgent" `
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Publisher "Microsoft.EnterpriseCloud.Monitoring" `
    -ExtensionType "MicrosoftMonitoringAgent" `
    -TypeHandlerVersion 1.0 `
    -Settings $PublicSettings `
    -ProtectedSettings $ProtectedSettings `
    -Location ChinaNorth 

排查问题

下面是有关如何排查部署问题的一些建议。

查看扩展状态

在 Azure 门户中通过使用 PowerShell 或 Azure CLI 来检查扩展部署的状态。

若要查看给定 VM 的扩展部署状态,请运行以下命令。

  • Azure PowerShell:

    Get-AzVMExtension -ResourceGroupName <myResourceGroup> -VMName <myVM> -Name <myExtensionName>
    
  • Azure CLI:

    az vm get-instance-view --resource-group <myResourceGroup> --name <myVM> --query "instanceView.extensions"
    

查看输出日志

请在 C:\WindowsAzure\Logs\Plugins\Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\ 下查看适用于 Windows 的 Log Analytics 代理 VM 扩展的输出日志。

获取支持

如果对本文中的任何观点存在疑问,可以联系 Azure 支持上的 Azure 专家。 或者,你也可以提出 Azure 支持事件。 请转到 Azure 支持站点提交请求。 有关使用 Azure 支持的信息,请阅读 Azure 支持常见问题