你当前正在访问 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 | Destinations |
---|---|---|---|
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 代理配置最佳做法评估。
先决条件
- 在工作区中创建数据收集规则对象的权限。
- 有关任何其他先决条件,请参阅介绍每个数据源的文章。
创建数据收集规则 (DCR)
Azure 门户在为虚拟机和虚拟机规模集创建 DCR 方面提供了简化的体验。 使用此方法时,除非想要实现转换等高级功能,否则无需了解 DCR 的结构。 还可以使用在 Azure Monitor 中创建数据收集规则 (DCR) 中所述的其他创建方法。
在 Azure 门户中的“监视器”菜单上,选择“数据收集规则”>“创建”以打开 DCR 创建页面。
“基本”页面包含有关 DCR 的基本信息。
设置 | 说明 |
---|---|
规则名称 | DCR 的名称。 此名称应该是有助于识别规则的描述性名称。 |
订阅 | 用于存储 DCR 的订阅。 此订阅不需要与虚拟机订阅相同。 |
资源组 | 用于存储 DCR 的资源组。 此资源组不需要是虚拟机所在的同一个资源组。 |
区域 | 存储 DCR 的区域。 此区域必须与 DCR 目标中使用的任何 Log Analytics 工作区或 Azure Monitor 工作区相同。 如果在不同的区域中有工作区,则可以创建与同一组计算机关联的多个 DCR。 |
平台类型 | 指定 DCR 可用的数据源类型,即 Windows 或 Linux。 如果指定“无”,则可以使用两者。 1 |
数据收集终结点 | 指定用于收集数据的数据收集终结点 (DCE)。 仅当使用 Azure Monitor 专用链接时,才需要 DCE。 此 DCE 必须与 DCR 位于同一个区域。 有关详细信息,请参阅如何根据部署设置数据收集终结点。 |
1 此选项设置 DCR 中的 kind
属性。 可以为此属性设置其他值,但这些值在门户中不可用。
添加资源
在“资源”页面中,可以添加要与 DCR 关联的 VM。 单击“+ 添加资源”以选择资源。 Azure Monitor 代理将自动安装在任何尚未安装该代理的资源上,并在计算机与 DCR 之间创建数据收集规则关联 (DCRA)。
重要
门户可以在目标资源上启用系统分配的托管标识,还包括现有的用户分配的标识(如有)。 对于现有应用程序,除非在请求中指定用户分配的标识,否则计算机将默认使用系统分配的标识。
如果监视的计算机与目标 Log Analytics 工作区不在同一区域,并且要收集需要 DCE 的数据类型,请选择“启用数据收集终结点”并选择每个受监视计算机所在区域中的终结点。 如果受监视的计算机与目标 Log Analytics 工作区位于同一区域,或者如果不需要 DCE,请不要在“资源”选项卡上选择数据收集终结点。
添加数据源
“收集和传递”页面允许为 DCR 添加和配置数据源以及每个数据源的目标。
屏幕元素 | 说明 |
---|---|
数据源 | 选择“数据源类型”,然后根据所选的数据源类型定义相关字段。 有关配置每种数据源的详细信息,请参阅数据源中的文章。 |
目标 | 为每个数据源添加一个或多个目标。 你可以选择多个相同或不同类型的目标。 例如,你可以选择多个 Log Analytics 工作区,这也称为多宿主。 请参阅每个数据类型的详细信息,了解它们支持的不同目标。 |
DCR 可以包含多个不同的数据源,单个 DCR 最多可包含 10 个数据源。 可以将不同的数据源合并到同一 DCR 中,但通常需要为不同的数据收集方案创建不同的 DCR。 有关如何整理 DCR 的建议,请参阅在 Azure Monitor 中创建和管理数据收集规则的最佳做法。
注意
使用数据收集规则向导创建数据收集规则后,最多可能需要 5 分钟才能将数据发送到目标。
验证操作
创建 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 的监视。
- 查看指标以确定是否正在收集数据以及是否删除了任何行。
- 查看日志以识别数据收集中的错误。
后续步骤
- 使用 Azure Monitor 代理收集文本日志。
- 详细了解 Azure Monitor 代理。
- 详细了解数据收集规则。