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

使用 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 工作区中的表)的详细信息,请参阅每个数据源的相关文章。

创建数据收集规则

在“监视器”菜单上,选择“数据收集规则”>“创建”以打开 DCR 创建页面。

显示新数据收集规则的“创建”按钮的屏幕截图。

基本”页面包含有关 DCR 的基本信息。

显示新数据收集规则的“基本”选项卡的屏幕截图。

设置 说明
规则名称 DCR 的名称。 这应该是有助于识别规则的描述性名称。
订阅 用于存储 DCR 的订阅。 这不需要与虚拟机订阅相同。
资源组 用于存储 DCR 的资源组。 这不需要与虚拟机处于同一个资源组。
区域 存储 DCR 的区域。 这必须与 DCR 目标中使用的任何 Log Analytics 工作区或 Azure Monitor 工作区相同。 如果在不同的区域中有工作区,则可以创建与同一组计算机关联的多个 DCR。
平台类型 指定 DCR 可用的数据源类型,即 WindowsLinux。 如果指定“”,则可以使用两者。 1
数据收集终结点 指定用于收集数据的数据收集终结点 (DCE)。 仅当使用 Azure Monitor 专用链接时,才需要这样做。 此 DCE 必须与 DCR 位于同一个区域。 有关详细信息,请参阅如何根据部署设置数据收集终结点

1 此选项设置 DCR 中的 kind 属性。 可以为此属性设置其他值,但这些值在门户中不可用。

添加资源

资源”页面允许添加将与 DCR 关联的资源。 单击“+ 添加资源”以选择资源。 Azure Monitor 代理将自动安装在任何尚未安装它的资源上。

重要

门户可以在目标资源上启用系统分配的托管标识,还包括现有的用户分配的标识(如有)。 对于现有应用程序,除非在请求中指定用户分配的标识,否则计算机将默认使用系统分配的标识。

显示新数据收集规则的“资源”选项卡的屏幕截图。

如果监视的计算机与目标 Log Analytics 工作区不在同一区域,并且要收集需要 DCE 的数据类型,请选择“启用数据收集终结点”并选择每个受监视计算机所在区域中的终结点。 如果受监视的计算机与目标 Log Analytics 工作区位于同一区域,或者如果不需要 DCE,请不要在“资源”选项卡上选择数据收集终结点。

添加数据源

收集和传递”页面允许为 DCR 添加和配置数据源以及每个数据源的目标。

屏幕元素 说明
数据源 选择“数据源类型”,然后根据所选的数据源类型定义相关字段。 有关配置每种数据源的详细信息,请参阅上面的数据源中链接的文章。
目标 为每个数据源添加一个或多个目标。 你可以选择多个相同或不同类型的目标。 例如,你可以选择多个 Log Analytics 工作区,这也称为多宿主。 请参阅每个数据类型的详细信息,了解它们支持的不同目标。

DCR 可以包含多个不同的数据源,单个 DCR 最多可包含 10 个数据源。 可以将不同的数据源合并到同一 DCR 中,但通常需要为不同的数据收集方案创建不同的 DCR。 有关如何整理 DCR 的建议,请参阅在 Azure Monitor 中创建和管理数据收集规则的最佳做法

验证操作

创建 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 的监视。
    • 查看指标以确定是否正在收集数据以及是否删除了任何行。
    • 查看日志以识别数据收集中的错误。

后续步骤