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

监视 Azure 虚拟机

本文介绍:

  • 可以为此服务收集的监视数据的类型。
  • 分析这些数据的方法。

注意

如果已熟悉此服务和/或 Azure Monitor,并且只想了解如何分析监视数据,请参阅本文末尾附近的“分析”部分。

如果具有依赖于 Azure 资源的关键应用程序和业务流程,则需要监视并获取系统的警报。 Azure Monitor 服务会从系统的每个组件收集并聚合指标和日志。 Azure Monitor 提供可用性、性能和复原能力视图,并在出现问题时向你发送通知。 可以使用 Azure 门户、PowerShell、Azure CLI、REST API 或客户端库来设置和查看监视数据。

本文概述了如何监视 Azure 虚拟机 (VM) 运行状况和性能。

注意

本文提供了可帮助你开始监视 Azure 虚拟机的基本信息。 有关监视 Azure 和混合虚拟机的整个环境的完整指南,请参阅监视虚拟机部署指南

概述:监视 VM 主机和来宾指标和日志

可以从以下来源收集指标和日志:

  • VM 主机 - 此数据与管理来宾操作系统的 Hyper-V 会话相关,并包含有关 CPU、网络和磁盘利用率的信息。
  • VM 来宾 - 此数据与在虚拟机内运行的操作系统和应用程序相关。

主机级数据可让你了解 VM 的整体性能和负载,而来宾级数据可让你了解计算机上运行的应用程序、组件和进程及其性能和运行状况。 例如,如果你正在排查性能问题,可以从主机指标开始了解哪个 VM 负载过重,然后使用来宾指标深化到操作系统和应用程序性能的详细信息。

VM 主机数据

无需进行额外的设置即可获取 VM 主机数据。

场景 详细信息 数据收集 可用数据 建议
VM 主机指标和日志 监视运行 VM 的物理主机的稳定性、运行状况和效率。
根据应用程序的负载纵向扩展或缩减
默认情况下可用,无需任何其他设置。 启用建议的警报规则,以便在关键主机指标偏离其预期基线值时收到通知。

VM 来宾数据

使用 VM 来宾数据可对 VM 上运行的工作负载的性能和操作效率进行分析和故障排除。 若要监视 VM 来宾数据,需要在 VM 上安装 Azure Monitor 代理并设置数据收集规则 (DCR)VM 见解功能会自动在 VM 上安装 Azure Monitor 代理,并设置默认数据收集规则,以便快速轻松地完成加入。

场景 详细信息 数据收集 可用数据 建议
基本监视:关键性能指标 通过收集一组预定义的基本关键性能计数器来识别与操作系统性能相关的问题(包括 CPU 和磁盘利用率、可用内存和网络性能)。 启用 VM 见解 一组预定义的关键来宾性能计数器
  • 用作起点。
  • 针对 VM 启用建议的 Azure Monitor 基线警报
  • 根据需要添加相关的来宾性能计数器和建议的操作系统日志。
基本监视:应用程序组件映射 在特定的 VM 上以及在 VM 之间映射应用程序组件,并发现应用程序组件之间存在的依赖关系。

此信息对于故障排除、优化性能以及规划应用程序基础结构的更改或更新非常重要。
启用 VM 见解的映射功能 VM 上运行的应用程序组件之间的依赖关系
VM 操作系统指标和日志(建议) 监视应用程序性能和事件、特定应用程序和进程的资源消耗以及操作系统级别的性能和事件。

此数据对于排查特定于应用程序的问题、优化 VM 中的资源使用情况以及确保 VM 中运行的工作负载的最佳性能非常重要。
在 VM 上安装 Azure Monitor 代理,并设置 DCR
  • 在 Windows 中,收集“严重”、“错误”和“警告”级别的应用程序日志
  • 在 Linux 中,收集 LOG_WARNING 级别的 LOG_SYSLOG 设施日志
高级/自定义 VM 来宾数据 监视要从 VM 收集的 Web 服务器、Linux 设备以及任何类型的数据。 在 VM 上安装 Azure Monitor 代理,并设置 DCR

VM 见解

VM 见解在单个接口中监视 Azure 和混合虚拟机。 VM 见解为监视 Azure Monitor 中的 VM 提供以下优势:

  • 简化 Azure Monitor 代理和 Dependency Agent 的载入,以便对虚拟机 (VM) 来宾操作系统和工作负载进行监视。
  • 预定义数据收集规则,用于收集最常见的性能数据集。
  • 预定义的趋势性能图表和工作簿,便于分析虚拟机来宾操作系统中的核心性能指标。
  • 依赖项映射,用于显示在每个虚拟机上运行的进程,以及与其他计算机和外部源关联的组件。

VM 见解“逻辑磁盘性能”视图的屏幕截图。

VM 见解“映射”视图的屏幕截图。

有关为虚拟机启用 VM 见解的教程,请参阅通过 VM 见解为 Azure 虚拟机启用监视。 有关启用见解和载入 VM 的各种方法的一般信息,请参阅启用 VM 见解概述

如果启用 VM 见解,则会安装 Azure Monitor 代理,并开始将一组预定义的性能数据发送到 Azure Monitor 日志。 可以创建其他数据收集规则来收集事件和其他性能数据。 要了解如何安装 Azure Monitor 代理和创建数据收集规则 (DCR) 来定义要收集的数据,请参阅教程:从 Azure 虚拟机收集来宾日志和指标

在 VM 见解中,可以使用 Azure Monitor 映射功能查看 Azure 或你的环境中运行的应用程序组件。 Dependency Agent VM 扩展适用于 WindowsLinux

数据存储

对于 Azure Monitor:

  • 指标数据存储在 Azure Monitor 指标数据库中。
  • 日志数据存储在 Azure Monitor 日志存储中。 Log Analytics 是 Azure 门户中可以查询此存储的工具。
  • Azure 活动日志是一个单独的存储区,在 Azure 门户中有自己的接口。

可以选择将指标和活动日志数据路由到 Azure Monitor 日志存储。 然后,可以使用 Log Analytics 查询数据并将其与其他日志数据关联。

许多服务可以使用诊断设置将指标和日志数据发送到 Azure Monitor 外部的其他存储位置。 示例包括 Azure 存储、托管的合作伙伴系统使用事件中心的非 Azure 合作伙伴系统

有关 Azure Monitor 如何存储数据的详细信息,请参阅 Azure Monitor 数据平台

Azure Monitor 平台指标

Azure Monitor 为大多数服务提供平台指标。 这些指标是:

  • 针对每个命名空间单独定义。
  • 存储在 Azure Monitor 时序指标数据库中。
  • 是轻型数据,并且能够支持准实时警报。
  • 用于跟踪资源随时间推移的性能变化。

集合:Azure Monitor 会自动收集平台指标。 不需要任何配置。

路由:还可将某些平台指标路由到 Azure Monitor 日志/Log Analytics,从而可以使用其他日志数据对其进行查询。 检查每个指标的“DS 导出”设置,查看是否可以使用诊断设置将指标路由到 Azure Monitor 日志/Log Analytics

有关可以为 Azure Monitor 中的所有资源收集的所有指标的列表,请参阅 Azure Monitor 中支持的指标

Azure VM 的平台指标包括 CPU、网络和磁盘利用率等重要主机指标。 主机 OS 指标与托管来宾操作系统(来宾 OS)会话的 Hyper-V 会话相关。

vm 中运行的来宾 OS 的指标必须通过一个或多个代理(例如在来宾 OS 上运行或作为来宾 OS 的 Azure Monitor 代理)收集。 来宾 OS 指标包括性能计数器,该性能计数器跟踪来宾 CPU 百分比或内存使用率,这两者经常用于自动缩放或警报功能。 有关详细信息,请参阅来宾 OS 和主机 OS 指标

有关 Azure Monitor 代理如何收集 VM 监视数据的详细信息,请参阅使用 Azure Monitor 监视虚拟机:收集数据

有关虚拟机可用指标的列表,请参阅虚拟机监视数据参考

Azure 活动日志

活动日志包含订阅级事件,这些事件跟踪从资源外部看到的每个 Azure 资源的操作;例如,创建新资源或启动虚拟机。

收集:活动日志事件会自动生成并收集在单独的存储中,以便在 Azure 门户中查看。

路由:可将活动日志数据发送到 Azure Monitor 日志,以便可以将它们与其他日志数据一起进行分析。 也可使用其他位置(例如 Azure 存储、Azure 事件中心和某些 Microsoft 监视合作伙伴)。 有关如何路由活动日志的详细信息,请参阅 Azure 活动日志概述

数据收集规则

数据收集规则 (DCR) 定义 Azure Monitor 代理中的数据收集,并存储在 Azure 订阅中。 对于 VM,DCR 定义要收集的事件和性能计数器等数据,并指定要发送数据的位置,例如 Log Analytics 工作区。 一个 VM 可以与多个 DCR 相关联,一个 DCR 可以与多个 VM 相关联。

VM 见解 DCR

VM 见解会创建 DCR,用于收集客户端操作系统的常见性能计数器,并将其发送到 Log Analytics 工作区中的 InsightsMetrics 表。 有关收集的性能计数器的列表,请参阅如何从 VM 见解查询日志。 可以将此 DCR 与其他 VM 一起使用,而不是为每个 VM 创建新的 DCR。

还可以选择启用进程和依赖项的集合,这些进程和依赖项会填充下表并启用 VM 见解映射功能。

分析监视数据

有许多工具可用于分析监视数据。

Azure Monitor 工具

Azure Monitor 支持以下基本工具:

支持更复杂可视化效果的工具包括:

  • 仪表板,它支持将不同类型的数据合并到 Azure 门户的单个窗格中。
  • 工作簿,它们是可在 Azure 门户中创建的可自定义报表。 工作簿可以包括文本、指标和日志查询。
  • Grafana,它是一个适用于操作仪表板的开放平台工具。 可以使用 Grafana 创建包含来自除 Azure Monitor 以外多个源的数据的仪表板。
  • Power BI,它是一项业务分析服务,可提供跨各种数据源的交互式可视化效果。 可将 Power BI 配置为自动从 Azure Monitor 导入日志数据,以利用这些可视化效果。

Azure Monitor 导出工具

可以使用以下方法将数据从 Azure Monitor 中提取到其他工具中:

要开始使用适用于 Azure Monitor 的 REST API,请参阅 Azure 监视 REST API 演练

Kusto 查询

可使用 Kusto 查询语言 (KQL) 来分析 Azure Monitor 日志/Log Analytics 存储中的监视数据。

重要

在门户的服务菜单中选择“日志”时,会打开 Log Analytics,并且其查询范围设置为当前服务。 此范围意味着日志查询将仅包含来自该资源类型的数据。 如果希望运行的查询包含来自其他 Azure 服务的数据,请从“Azure Monitor”菜单中选择“日志”。 有关详细信息,请参阅 Azure Monitor Log Analytics 中的日志查询范围和时间范围

有关任何服务的常见查询的列表,请参阅 Log Analytics 查询界面

若要分析从 VM 中收集的日志数据,可以使用 Log Analytics 中的日志查询。 VM 的多个内置查询可供使用,你也可以创建自己的查询。 可以采用交互方式处理这些查询的结果,将它们包括在工作簿中以使其可供其他用户使用,或根据结果生成警报。

若要访问 VM 的内置 Kusto 查询,请在 VM 的 Azure 门户页上左侧导航监视部分中选择“日志”。 在“日志”页上,选择“查询”选项卡,然后选择要运行的查询。

显示 Log Analytics 查询结果的“日志”窗格的屏幕截图。

警报

在监视数据中发现特定情况时,Azure Monitor 警报会主动向你发出通知。 有了警报,你就可以在客户注意到你的系统中的问题之前找出和解决问题。 有关详细信息,请参阅 Azure Monitor 警报

Azure 资源的常见警报具有许多来源。 有关 Azure 资源常见警报的示例,请参阅示例日志警报查询Azure Monitor 基线警报 (AMBA) 站点提供了实现重要平台指标警报、仪表板和指南的半自动化方法。 该站点适用于持续扩展的 Azure 服务子集,包括属于 Azure 登陆区域 (ALZ) 的所有服务。

通用警报模式对 Azure Monitor 警报通知的使用体验进行了标准化。 有关详细信息,请参阅常见警报架构

警报类型

可以针对 Azure Monitor 数据平台中的任何指标或日志数据源发出警报。 警报具有许多不同类型,具体取决于要监视的服务以及要收集的监视数据。 不同类型的警报各有优缺点。 有关详细信息,请参阅选择正确的监视警报类型

以下列表介绍了可以创建的 Azure Monitor 警报类型:

  • 指标警报会定期评估资源指标。 指标可以是平台指标、自定义指标、Azure Monitor 中的日志转换为的指标或 Application Insights 指标。 指标警报还可以应用多个条件和动态阈值。
  • 日志警报支持用户使用 Log Analytics 查询按照预定义的频率评估资源日志。
  • 当发生匹配所定义条件的新活动日志事件时,会触发活动日志警报。 资源运行状况警报和服务运行状况警报是报告服务和资源运行状况的活动日志警报。

某些 Azure 服务还支持智能检测警报Prometheus 警报建议的警报规则

对于某些服务,你可以通过将相同的指标警报规则应用于同一 Azure 区域中的多个相同类型资源,进行大规模的监视。 将为每个受监视的资源发送单独通知。 有关受支持的 Azure 服务和云,请参阅使用一项警报规则监视多个资源

可以创建一个多资源警报规则,该规则适用于同一区域中特定资源组或订阅中的所有 VM。 有关使用可用性指标的教程,请参阅为 Azure 虚拟机创建可用性警报规则(预览版)

对于某些 Azure 服务,可以启用推荐的现成警报规则

系统根据以下内容编译了一个建议的警报规则列表:

  • 资源提供程序对用于监视资源的重要信号和阈值的了解。
  • 指明客户通常针对此资源的哪些方面设置警报的数据。

注意

建议的警报规则适用于:

  • 虚拟机
  • Azure Kubernetes 服务 (AKS) 资源
  • Log Analytics 工作区

建议的 Azure VM 警报规则包括 VM 可用性指标,该指标会在 VM 停止运行时发出警报。

有关详细信息,请参阅教程:为 Azure 虚拟机启用建议的警报规则

常用警报规则

若要查看 Azure 门户中的常见 VM 日志警报规则,请转到 Log Analytics 中的“查询”窗格。 对于“资源类型”,输入“虚拟机”,对于“类型”,输入“警报”。

有关常见虚拟机警报规则的列表和讨论,请参阅“常见警报规则”。

顾问建议

对于某些服务,如果在资源操作期间出现严重情况或即将发生变化,则门户中的服务“概述”页面上会显示一个警报。 可以在左侧菜单“监视”下的“顾问建议”中找到警报的详细信息和建议补丁。 在正常操作期间,不会显示任何顾问建议。

有关 Azure 顾问的详细信息,请参阅 Azure 顾问概述

其他 VM 监视选项

Azure VM 具有以下非 Azure Monitor 监视选项:

启动诊断

启动诊断是 Azure VM 的调试功能,它允许你通过在 VM 启动时收集 VM 的串行日志信息和屏幕截图来诊断 VM 启动失败。 在 Azure 门户中创建 VM 时,默认情况下会启用“启动诊断”。 有关详细信息,请参阅 Azure 启动诊断

排查性能问题

Performance Diagnostics 工具可通过快速诊断并提供有关计算机上当前所发现问题的见解,帮助排查 Windows 或 Linux 虚拟机上的性能问题。 该工具不会分析你收集的历史监视数据,而是检查计算机的当前状态,以了解已知问题、最佳做法的实现情况,以及涉及 VM 性能缓慢或 CPU、磁盘空间或内存使用率较高的复杂问题。