收集 VM 客户端事件日志

已完成

Azure Monitor 指标和 VM 见解性能计数器可帮助你识别性能异常并在达到阈值时发出警报。 但是,若要分析检测到的问题的根本原因,则需要分析日志数据,以查看哪些系统事件导致或促成了问题。 在本单元中,你将设置数据收集规则 (DCR) 来收集 Linux VM Syslog 数据,并使用简单的 Kusto 查询语言 (KQL) 查询在 Azure Monitor Log Analytics 中查看日志数据。

VM Insights 会安装 Azure Monitor 代理并创建 DCR,用于收集预定义的性能计数器、映射进程依赖项并在预构建的工作簿中显示数据。 可以创建自己的 DCR 来收集 VM 见解 DCR 不收集的 VM 性能计数器,或收集日志数据。

在 Microsoft Azure 门户中创建 DCR 时,可以从一系列性能计数器和采样率中进行选择,也可以添加自定义性能计数器。 或者,可以从一组预定义的日志类型和严重性级别中进行选择,或者定义自定义日志架构。 可以将单个 DCR 与订阅中的任何或所有 VM 关联,但可能需要多个 DCR 以从不同 VM 收集不同类型的数据。

创建 DCR 以收集日志数据

在 Microsoft Azure 门户中,搜索并选择“监视器”以转到 Azure Monitor“概述”页。

Screenshot that shows the Azure Monitor Overview page.

创建数据收集终结点

必须有一个数据收集终结点,以将日志数据发送到该终结点。 若要创建终结点,请执行以下操作:

  1. 在 Azure Monitor 左侧导航菜单的“设置”下,选择“数据收集终结点”。
  2. 在“数据收集终结点”页上,选择“创建”。
  3. 在“创建数据收集终结点”页上,对于“名称”,输入 linux-logs-endpoint
  4. 选择 VM 所使用的同一订阅资源组区域
  5. 选择“查看 + 创建”,然后在验证通过后选择“创建”。

创建数据收集规则

若要创建 DCR 以收集事件日志,请执行以下操作:

  1. 在 Monitor 左侧导航菜单的“设置”下,选择“数据收集规则”。

  2. 在“数据收集规则”页上,可以查看 VM 见解创建的 DCR。 选择“创建”以创建新的数据收集规则。

    Screenshot of the Data Collection Rules screen with Create highlighted.

  3. 在“创建数据收集规则”屏幕的“基本”选项卡上,提供以下信息:

    • 规则名称:输入 collect-events-linux
    • 订阅资源组区域:选择与 VM 相同的设置。
    • 平台类型:选择“Linux”
  4. 选择“下一页:资源”或“资源”选项卡。

    Screenshot of the Basics tab of the Create Data Collection Rule screen.

  5. 在“资源”屏幕上,选择“添加资源”。

  6. 在“选择范围”屏幕上,选择 monitored-linux-vm VM,然后选择“应用”。

  7. 在“资源”屏幕上,选择“启用数据收集终结点”。

  8. monitored-linux-vm 的“数据收集终结点”下,选择所创建的 linux-logs-endpoint

  9. 选择“下一页:收集并传送”,或“收集并传送”选项卡。

    Screenshot of the Resources tab of the Create Data Collection Rule screen.

  10. 在“收集和传送”选项卡上,选择“添加数据源”。

  11. 在“添加数据源”屏幕的“数据源类型”下,选择 Linux Syslog

  12. 在“添加数据源”屏幕上,选择“下一步:目标”或“目标”选项卡,并确保帐户或命名空间与要使用的 Log Analytics 工作区匹配。 可以使用 VM Insights 设置的默认 Log Analytics 工作区,也可以创建或使用其他 Log Analytics 工作区。

  13. 在“添加数据源”屏幕上,选择“添加数据源”。

  14. 在“创建数据收集规则”屏幕上,选择“查看 + 创建”,验证通过后,选择“创建”。

    Screenshot of Review + create highlighted on the Create Data Collection Rule screen.

查看日志数据

可以使用 KQL 日志查询查看和分析 DCR 收集的日志数据。 提供了一组可用于 VM 的示例 KQL 查询,但你可以编写一个简单的查询来查看 DCR 正在收集的事件。

  1. 在 VM 的“概述”页上,从“监控”下的左侧导航菜单中选择“日志”。 Log Analytics 将打开一个空的查询窗口,其范围设置为你的 VM。

    也可以通过从 Azure Monitor“概述”页的左侧导航中选择“日志”来访问日志数据。 如有必要,请选择查询窗口顶部的“选择范围”,将查询范围限定为目标 Log Analytics 工作区和 VM。

    注意

    打开 Log Analytics 时,可能会同时打开包含示例查询的“查询”窗口。 现在,请关闭此窗口,因为你要手动创建一个简单的查询。

  2. 在空查询窗口中,输入 Syslog,然后选择“运行”。 系统将显示 DCR 在时间范围内收集的所有系统日志事件。

  3. 可以优化查询以识别感兴趣的事件。 例如,可以仅显示“严重级别”为“警告”的事件。

    Screenshot that shows the events returned from the Syslog by the DCR.

知识检查

1.

如何从 VM 收集事件日志数据?

2.

如何查看 DCR 收集的日志数据?