使用 Azure Monitor 代理收集数据

Azure Monitor 代理 (AMA) 用于从 Azure 虚拟机、虚拟机规模集和已启用 Arc 的服务器收集数据。 数据收集规则 (DCR) 定义要从代理收集的数据以及应将该数据发送到的位置。 本文介绍如何使用 Azure 门户创建 DCR 来收集不同类型的数据,并在需要它的任何计算机上安装代理。

如果你不熟悉 Azure Monitor 或具有基本数据收集要求,则可以使用 Azure 门户和本文中的指南来满足所有要求。 如果要利用其他 DCR 功能(例如转换),则可能需要使用其他方法来创建 DCR,或在门户中创建 DCR 之后对其进行编辑。 如果要使用 CLI、PowerShell、ARM 模板或 Azure Policy 进行部署,则还可以使用不同的方法来管理 DCR 并创建关联。

注意

若要跨租户发送数据,必须先启用 Azure Lighthouse

警告

以下情况可能会收集重复数据,这可能会导致额外费用。

  • 使用相同的数据源创建多个 DCR,并将其关联到同一代理。 确保筛选 DCR 中的数据,以便每个 DCR 收集唯一的数据。
  • 创建一个 DCR 来收集安全日志,并为相同的代理启用 Sentinel。 在这种情况下,可以在事件表和 SecurityEvent 表中收集相同的事件。
  • 在同一台计算机上同时使用 Azure Monitor 代理和旧版 Log Analytics 代理。 将重复事件限制在仅当从一个代理过渡到另一个代理时发生。

数据源

下表列出了当前可以使用 Azure Monitor 代理收集的数据类型,以及可以发送该数据的位置。 每个链接都指向一篇文章,其中介绍了如何配置该数据源的详细信息。 按照本文创建 DCR 并将其分配给资源,然后按照链接的文章配置数据源。

数据源 说明 客户端 OS 目标
Windows 事件 发送到 Windows 事件日志记录系统的信息,包括 sysmon 事件。 Windows Log Analytics 工作区
性能计数器 数值,用于度量操作系统和工作负载的不同方面的性能。 Windows
Linux
Azure Monitor 指标(预览版)
Log Analytics 工作区
Syslog 发送到 Linux 事件日志记录系统的信息。 Linux Log Analytics 工作区
文本日志 发送到本地磁盘上的文本日志文件的信息。 Windows
Linux
Log Analytics 工作区
JSON 日志 发送到本地磁盘上的 JSON 日志文件的信息。 Windows
Linux
Log Analytics 工作区
IIS 日志 Windows 计算机的本地磁盘中的 Internet Information Services (IIS) 日志 Windows Log Analytics 工作区

注意

Azure Monitor 代理还支持 Azure 服务 SQL 最佳做法评估,该评估目前已正式发布。 有关详细信息,请参阅使用 Azure Monitor 代理配置最佳做法评估

先决条件

概述

在 Azure 门户中创建 DCR 时,将演练一系列页面,以提供从指定计算机收集数据所需的信息。 下表描述了每个页面上需要提供的信息。

部分 说明
资源 将使用 DCR 的计算机。 将计算机添加到 DCR 时,它会在计算机与 DCR 之间创建数据收集规则关联 (DCRA)。 可以编辑 DCR 以在创建后添加或删除计算机。
数据源 要从计算机收集的数据类型。 上面的数据源中列出了可用数据源的列表。 每个数据源都有自己的配置设置和可能的先决条件,因此请参阅每个数据源的单独文章以了解详细信息。
目标 从数据源收集的数据应发送到的目标。 如果 DCR 中有多个数据源,则可以将其发送到单独的目标,并且单个数据源中的数据可以发送到多个目标。 有关每个数据源的目标(例如 Log Analytics 工作区中的表)的详细信息,请参阅每个数据源的相关文章。

有关如何使用 Azure 门户创建 DCR 的详细步骤,请参阅创建数据收集规则

验证操作

创建 DCR 并将其与计算机关联后,可以在 Log Analytics 工作区中运行查询来验证代理是否正常运行,以及是否正在收集数据。

验证代理操作

验证代理是否正常运行和通信,方法是在 Log Analytics 中运行以下查询,以检查检测信号表中是否有任何记录。 每个代理应每分钟向此表发送一条记录。

Heartbeat
| where TimeGenerated > ago(24h)
| where Computer has "<computer name>"
| project TimeGenerated, Category, Version
| order by TimeGenerated desc

验证是否收到记录

安装代理并开始运行任何新的或修改过的 DCR 需要几分钟时间。 然后,可以通过检查 Log Analytics 工作区中每个数据源写入的表来验证是否从每个数据源收到记录。 例如,以下查询检查事件表中的 Windows 事件。

Event
| where TimeGenerated > ago(48h)
| order by TimeGenerated desc

故障排除

如果没有收集到预期的数据,请执行以下步骤。

  • 验证代理是否已安装并正在计算机上运行。
  • 对于遇到问题的数据源,请参阅本文的故障排除部分。
  • 请参阅在 Azure Monitor 中监视和排查 DCR 数据收集问题,以启用对 DCR 的监视。
    • 查看指标以确定是否正在收集数据以及是否删除了任何行。
    • 查看日志以识别数据收集中的错误。

后续步骤