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

排查更改跟踪和清单问题

重要

使用 Log Analytics 代理的更改跟踪和清单功能已于 2024 年 8 月 31 日停用,在 2025 年 2 月 1 日之前将提供有限支持。 建议使用 Azure Monitoring 代理作为新的支持代理。 遵循有关从使用 Log Analytics 更改跟踪和库存到使用 Azure Monitoring Agent 版本更改跟踪和库存的迁移指南。

本文介绍了如何排查和解决 Azure 自动化更改跟踪和库存的问题。 有关更改跟踪和库存的一般信息,请参阅更改跟踪和库存概述

常规错误

场景:计算机已注册到其他帐户

问题

看到以下错误消息:

Unable to Register Machine for Change Tracking, Registration Failed with Exception System.InvalidOperationException: {"Message":"Machine is already registered to a different account."}

原因

计算机已部署到另一个工作区以进行更改跟踪。

解决

  1. 请确保你的计算机向正确的工作区报告。 有关如何对此进行验证的指导,请参阅验证代理与 Azure Monitor 的连接。 此外,请确保此工作区已链接到 Azure 自动化帐户。 若要进行验证,请转到自动化帐户,选择“相关资源”下的“链接的工作区” 。

  2. 确保链接到自动化帐户的 Log Analytics 工作区中显示计算机。 在 Log Analytics 工作区中运行以下查询。

    Heartbeat
    | summarize by Computer, Solutions
    

    如果查询结果中未显示你的计算机,则表示该计算机最近尚未签入。 可能存在本地配置问题。 应重新安装 Log Analytics 代理。

    如果你的计算机在查询结果中列出,请在“Solutions”属性下验证是否列出了“changeTracking”。 这可验证它是否已注册到“更改跟踪和清单”。 如果未注册,请检查是否存在范围配置问题。 范围配置决定了为“更改跟踪和清单”配置哪些计算机。 若要配置目标计算机的范围配置,请参阅从自动化帐户启用“更改跟踪和清单”

    在工作区中运行此查询。

    Operation
    | where OperationCategory == 'Data Collection Status'
    | sort by TimeGenerated desc
    
  3. 如果结果为 Data collection stopped due to daily limit of free data reached. Ingestion status = OverQuota,则表示工作区中定义的配额已满,这导致无法保存数据。 在工作区中,转到“使用情况和预估成本”。 选择允许你使用更多数据的新“定价层”,或者单击“每日上限”并删除上限。

使用情况和预估成本。

如果问题仍未解决,请遵循部署 Windows 混合 Runbook 辅助角色中的步骤来为 Windows 重新安装混合辅助角色。 对于 Linux,请按照部署 Linux 混合 Runbook 辅助角色中的步骤操作。

Windows

方案:未显示 Windows 计算机的更改跟踪和库存记录

问题

对于已启用更改跟踪和库存功能的 Windows 计算机,你未看到任何更改跟踪和库存结果。

原因

此错误的可能原因如下:

  • 适用于 Windows 的 Azure Log Analytics 代理未运行。
  • 与自动化帐户的通信被阻止。
  • 未下载更改跟踪和库存管理包。
  • 要启用的 VM 可能来自某台克隆的计算机,但尚未通过系统准备工具 (sysprep) 准备该计算机以使其安装有适用于 Windows 的 Log Analytics 代理。

解决方法

在 Log Analytics 代理计算机上,转到 C:\Program Files\Microsoft Monitoring Agent\Agent\Tools 并运行以下命令:

net stop healthservice
StopTracing.cmd
StartTracing.cmd VER
net start healthservice

如果仍需帮助,可以收集诊断信息并联系支持人员。

注意

默认情况下,Log Analytics 代理会启用错误跟踪。 若要如上例所示启用详细错误消息,请使用 VER 参数。 要进行信息跟踪,请在调用 StartTracing.cmd 时使用 INF

适用于 Windows 的 Log Analytics 代理未运行

验证适用于 Windows 的 Log Analytics 代理 (HealthService.exe) 是否正在计算机上运行。

与自动化帐户的通信被阻止

检查计算机上的事件查看器,查看是否有任何事件包含 changetracking 一词。

若要了解必须允许哪些地址和端口才能让更改跟踪和库存正常运行,请参阅网络规划

未下载管理包

验证是否在本地安装了以下更改跟踪和库存管理包:

  • Microsoft.IntelligencePacks.ChangeTrackingDirectAgent.*
  • Microsoft.IntelligencePacks.InventoryChangeTracking.*
  • Microsoft.IntelligencePacks.SingletonInventoryCollection.*
VM 来自尚未使用 sysprep 进行配置的克隆计算机

如果使用克隆的映像,请先使用 sysprep 配置该映像,然后安装适用于 Windows 的 Log Analytics 代理。

Linux

方案:Linux 计算机上未显示更改跟踪和盘存结果

问题

对于已启用更改跟踪和库存功能的 Linux 计算机,你未看到任何更改跟踪和库存结果。

原因

下面是此问题的具体可能原因:

  • 适用于 Linux 的 Log Analytics 代理未运行。
  • 适用于 Linux 的 Log Analytics 代理未正确配置。
  • 发生了文件完整性监视 (FIM) 冲突。

解决

适用于 Linux 的 Log Analytics 代理未运行

验证适用于 Linux 的 Log Analytics 代理 (omsagent) 的守护程序是否正在计算机上运行。 在链接到自动化帐户的 Log Analytics 工作区中运行以下查询。

Heartbeat
| summarize by Computer, Solutions

如果查询结果中未显示你的计算机,则表示该计算机最近未签入。 可能存在本地配置问题,因此应该重新安装代理。 有关安装和配置的信息,请参阅使用 Log Analytics 代理收集日志数据

如果你的计算机显示在查询结果中,请验证作用域配置。 参阅在 Azure Monitor 中设定监视解决方案的目标

有关此问题的更多故障排除,请参阅问题:看不到任何 Linux 数据

适用于 Linux 的 Log Analytics 代理未正确配置

适用于 Linux 的 Log Analytics 代理可能未正确配置,因此无法使用 OMS 日志收集器工具来收集日志和命令行输出。 请参阅更改跟踪和库存概述

FIM 冲突

Microsoft Defender for Cloud 的 FIM 功能可能错误地验证了 Linux 文件的完整性。 请验证 FIM 是否正常运行,以及是否针对 Linux 文件监视进行了正确配置。 请参阅更改跟踪和库存概述

后续步骤

如果你的问题未在本文中列出,或者无法解决问题,请尝试通过以下渠道之一获取更多支持:

  • 通过 Azure 论坛获取 Azure 专家的解答。
  • 联系 @AzureSupport,这是用于改进客户体验的官方 Microsoft Azure 帐户。 Azure 支持人员会将你连接到 Azure 社区,从中可以获得解答、支持和专家建议。
  • 提出 Azure 支持事件。 请转到 Azure 支持站点并选择“获取支持”