Azure Monitor 会自动从已启用 Azure 和 Arc 的虚拟机收集主机指标和活动日志。 不过,若要从客户端作系统及其工作负荷收集指标和日志,需要创建 数据收集规则(DCR), 以指定要收集的内容和发送位置。 本文介绍如何使用 Azure 门户创建 DCR 从 VM 客户端收集不同类型的常见数据。
注意
如果你有基本的数据收集要求,则应能够按照本文中的指南以及每个 数据源的相关文章来满足所有要求。 可以使用 Azure 门户创建和编辑 DCR, 并且 Azure Monitor 代理 会自动安装在尚未安装的每个 VM 上。
若要利用 转换等更高 级的功能,或者使用 Azure CLI 或 Azure Policy 等其他方法创建和分配 DCR,请参阅 在 Azure Monitor 中安装和管理 Azure Monitor 代理 和 创建 DCR。 还可以在 Azure Monitor 中的 VM 的数据收集规则(DCR)示例中查看此过程创建的示例 DCR。
- 在
Log Analytics 工作区 中,您具有至少< c1>贡献者权限,以收集您配置的数据。 如果还没有可以使用的工作区,请参阅 “创建 Log Analytics 工作区 ”。 - 在工作区中创建 DCR 对象的权限。
- 若要跨租户发送数据,必须先启用 Azure Lighthouse。
- 有关任何其他先决条件,请参阅每个 数据源 的详细文章。
在 Azure 门户中的“监视器”菜单上,选择“数据收集规则”>“创建”以打开 DCR 创建页面。
“基本”选项卡包含有关 DCR 的基本信息。
设置 | DESCRIPTION |
---|---|
规则名称 | DCR 的名称。 此名称应该是有助于识别规则的描述性名称。 |
订阅 | 用于存储 DCR 的订阅。 此订阅不需要与虚拟机订阅相同。 |
资源 | 用于存储 DCR 的资源组。 此资源组不需要是虚拟机所在的同一个资源组。 |
区域 | 用于存储 DCR 的 Azure 区域。 此区域必须与 DCR 目标中使用的任何 Log Analytics 工作区或 Azure Monitor 工作区相同。 如果在不同地区有工作区,可以为同一组计算机创建多个 DCR。 |
平台类型 | 指定 DCR 可用的数据源类型,即 Windows 或 Linux。 如果指定“无”,则可以使用两者。 1 |
数据收集终结点 | 指定用于收集数据的 数据收集终结点 (DCE )。 仅在使用需要 DCE 的数据源时才需要 DCE。 如果未选择 DCE,这些 数据源将在“添加数据源 ”选项卡中灰显。 对于大多数实现,可以对每个 Log Analytics 工作区使用单个 DCE。 有关如何创建 DCE 的详细信息,请参阅 “创建数据收集终结点 ”。 |
1 此选项设置 DCR 中的 kind
属性。 可以为此属性设置其他值,但不能在门户中选择这些值。
在“ 资源 ”窗格中,选择“ 添加资源 ”以添加将使用 DCR 的 VM。 无需添加任何 VM,因为可以在创建 DCR 后更新 DCR 并添加/删除任何资源。 如果在“资源”选项卡上选择“启用数据收集终结点”,则可以为每个 VM 选择 DCE。 仅当使用 Azure Monitor 专用链接时,才需要这样做。 否则,请不要选择此选项。
注意
不能将具有灵活业务流程的虚拟机规模集(VMSS)添加为 DCR 的资源。 而是添加 VMSS 中包含的每个 VM。
重要
将资源添加到 DCR 时,Azure 门户中的默认选项是为资源启用系统分配的托管标识。 对于现有应用程序,如果已设置用户分配的托管标识,如果在使用门户将资源添加到 DCR 时未指定用户分配的标识,则计算机默认使用由 DCR 应用的系统分配标识。
在“ 收集和传递 ”窗格中,单击“ 添加数据源 ”以添加和配置 DCR 的数据源和目标。 可以选择将多个数据源添加到同一 DCR,或者创建具有不同数据源的多个 DCR。 DCR 最多可以有 10 个数据源,VM 可以使用任意数量的 DCR。
设置 | DESCRIPTION |
---|---|
数据源 | 选择 数据源类型 ,并根据所选的数据源类型为字段提供值。 有关配置每种数据源类型的详细信息,请参阅下表。 |
目标 | 为每个数据源添加一个或多个目标。 某些数据源仅允许单个数据源。 如果需要多个 DCR,则可以创建另一个 DCR。 虽然可以为某些数据源选择同一类型的多个目标,但请注意,这会向每个目标发送重复数据,这将导致额外的成本。 请参阅每个数据类型的详细信息,了解它们支持的不同目标。 |
下表列出了可以使用 Azure Monitor 从 VM 客户端收集的数据类型,以及可从何处发送该数据。 请参阅每个链接的文章,了解如何配置该数据源。
数据源 | DESCRIPTION | 客户机操作系统 | 目的地 |
---|---|---|---|
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 工作区 |
创建 DCR 后,数据最多可能需要 5 分钟才能发送到目标。 可以通过查询 Log Analytics 工作区中的数据来验证代理是否正常运行,以及是否正在收集数据。
通过检查 VM 的 心跳 ,验证代理是否正常运行并与 Azure Monitor 通信。 当代理与 Azure Monitor 正常通信时,它会每隔一分钟向心跳表发送一条记录。
在 Azure 门户中的虚拟机中,选择“ 日志 ”,然后单击“ 表 ”按钮。 在“虚拟机”类别下,单击“检测信号”旁边的“运行”。 如果代理正确通信,应该能看到 VM 的检测信号记录。
验证代理是否正确通信后,请确保正在收集所需的数据。 使用与上面的过程相同的过程查看您配置的数据源的表中的数据。 下表列出了每个数据源的类别和表。
数据源 | 类别 | 表 |
---|---|---|
Windows 事件 | 虚拟机 | 事件 |
性能计数器 | 虚拟机 | Perf |
Syslog | 虚拟机 | Syslog |
IIS 日志 | 虚拟机 | W3CIISLog |
文本日志 | 自定义日志 | <自定义表名称> |
JSON 日志 | 自定义日志 | <自定义表名称> |
请注意以下情况,这可能会导致收集重复数据,从而增加计费费用:
- 创建具有相同数据源并将它们关联到同一 VM 的多个 DCR。 如果有具备相同数据源的 DCR,请确保将其配置为筛选出唯一的数据。
- 创建一个 DCR,用于收集安全日志并为同一 VM 启用 Microsoft Sentinel 。 在这种情况下,相同的事件将同时发送到 事件 表(Azure Monitor)和 SecurityEvent 表中(Microsoft Sentinel)。
- 为同时在同一台计算机上运行旧版 Log Analytics 代理的 VM 创建 DCR。 两者可能正在收集相同的数据并将其存储在同一个表中。 请按照从 Log Analytics 代理迁移到 Azure Monitor 代理的指南操作,迁移旧代理。
请参阅 Azure Monitor 中的“管理数据收集规则关联 ”,在 Azure 门户中列出与 VM 关联的 DCR。 还可以使用以下 PowerShell 命令列出 VM 的所有 DCR:
Get-AzDataCollectionRuleAssociation -resourceUri <vm-resource-id>
- 详细了解 Azure Monitor 代理。
- 详细了解数据收集规则。