閱讀英文

共用方式為

使用 Azure Monitor 从虚拟机收集性能计数器

性能计数器提供虚拟硬件组件、操作系统和工作负载性能的见解。 搭配使用数据收集规则 (DCR) 和性能计数器数据源,从 Windows 和 Linux 虚拟机收集计数器

有关创建 DCR 的详细信息,请参阅 使用 Azure Monitor 从 VM 客户端收集数据。 本文提供了性能计数器数据源类型的其他详细信息。

注意

若要直接使用 DCR 定义或使用 ARM 模板等其他方法进行部署,请参阅 Azure Monitor 中的数据收集规则(DCR)示例

配置性能计数器数据源

根据使用 Azure Monitor 从虚拟机客户端收集数据的过程创建 DCR。 在 DCR 的“收集和传递”选项卡上,从“数据源类型”下拉列表中选择“性能计数器”。 从预定义的一组对象和其采样率中进行选择。 采样率越低,收集值的频率就越高。

显示 Azure 门户中用于在数据收集规则中选择基本性能计数器的窗体的屏幕截图。

选择“自定义”以指定XPath来收集使用基本选择不可获取的任何性能计数器。 使用 \PerfObject(ParentInstance/ObjectInstance#InstanceIndex)\Counter 格式。

提示

如果计数器名称包含和符号 (&),请将其替换成 &。 例如,\Memory\Free & Zero Page List Bytes

此屏幕截图显示了 Azure 门户表单,用于在数据收集规则中选择自定义性能计数器。

警告

在手动定义与 Windows 和 Linux 计算机关联的 DCR 计数器时要小心,因为某些 Windows 和 Linux 样式计数器名称可以解析为相同的指标并导致重复收集。 例如,在同一 DCR 中同时指定 \LogicalDisk(*)\Disk Transfers/sec (Windows) 和 Logical Disk(*)\Disk Transfers/sec (Linux) 将导致每个采样周期收集磁盘传输指标两次。

通过不在未指定平台类型的 DCR 中收集性能计数器,可以避免此行为。 确保 Windows 计数器仅包含在与 Windows 计算机关联的 DCR 中,并且 Linux 计数器仅包含在与 Linux 计算机关联的 DCR 中。

注意

Microsoft.HybridCompute(已启用 Azure Arc 的服务器)资源当前无法在 指标资源管理器中查看,但可以通过指标 REST API(指标命名空间 - 列表、指标定义 - 列表和指标 - 列表)获取其指标数据。

添加目标

性能计数器可以发送到一个 Log Analytics 工作区,存储在 Perf 表和/或 Azure Monitor 指标(预览版)中,在指标资源管理器中可用。 添加 Azure Monitor 日志 类型的目标并选择 Log Analytics 工作区。 虽然可以添加多个工作区,但请注意,这会向每个工作区发送重复的数据,这将导致额外的成本。 对于 Azure Monitor 指标(预览版),不需要进一步的详细信息,因为这存储在受监视资源的订阅级别

注意

对于 Linux,v1.10.9.0 或更高版本中支持使用 Azure Monitor 指标作为唯一目标。

显示数据收集规则中 Azure Monitor 日志目标的配置的屏幕截图。

验证数据收集

若要验证是否正在 Log Analytics 工作区中收集数据,请检查 Perf 表中的记录。 在虚拟机或 Azure 门户中的 Log Analytics 工作区中,选择 “日志 ”,然后单击“ ”按钮。 在“虚拟机”类别下,单击 Perf 旁边的“运行”。

显示从 Perf 表返回的记录的屏幕截图。

若要验证数据是否正在 Azure Monitor 指标中收集,请从 Azure 门户中的虚拟机中选择 “指标 ”。 为命名空间选择 虚拟机来宾 (Windows)或 azure.vm.linux.guestmetrics ,然后选择要添加到视图的指标。

显示指标资源管理器中的客户端指标的屏幕截图。

性能计数器

适用于 Windows 和 Linux 虚拟机的 Azure Monitor 代理可收集以下性能计数器。 创建或更新数据收集规则时,可以更改采样频率。

Linux 性能计数器

性能计数器 类别 默认采样频率
Processor(*)\% Processor Time 中央处理器 六十
处理器(*)\% 空闲时间 中央处理器 六十
Processor(*)\% User Time 中央处理器 六十
Processor(*)\% Nice Time 中央处理器 六十
Processor(*)\% Privileged Time 中央处理器 六十
处理器(*)\% 输入/输出等待时间 中央处理器 六十
处理器(*)\% 中断时间 中央处理器 六十
内存(*)\可用内存(MB) 内存 六十
Memory(*)\% Available Memory 内存 六十
内存(*)\已用内存 MB 内存 六十
内存(*)\% 已用内存 内存 六十
内存(*)\页/秒 内存 六十
内存(*)\页面读取/秒 内存 六十
Memory(*)\页面写入次数/秒 内存 六十
Memory(*)\Available MBytes Swap 内存 六十
内存(*)\% 可用交换空间 内存 六十
Memory(*)\Used MBytes Swap Space 内存 六十
内存(*)\% 已用交换空间 内存 六十
Process(*)\Pct User Time 内存 六十
Process(*)\Pct Privileged Time 内存 六十
进程(*)\已用内存 内存 六十
Process(*)\Virtual Shared Memory 内存 六十
Logical Disk(*)\% Free Inodes 磁盘 六十
Logical Disk(*)\% Used Inodes 磁盘 六十
Logical Disk(*)\Free Megabytes 磁盘 六十
逻辑磁盘(*)\% 空闲空间 磁盘 六十
逻辑磁盘(*)\% 已用空间 磁盘 六十
逻辑磁盘(*)\逻辑磁盘字节/秒 磁盘 六十
逻辑磁盘(*)\磁盘读取字节数/秒 磁盘 六十
逻辑磁盘(*)\磁盘写入字节/秒 磁盘 六十
逻辑磁盘(*)\磁盘传输次数/秒 磁盘 六十
逻辑磁盘(*)\磁盘读取次数/秒 磁盘 六十
逻辑磁盘(*)\磁盘写入次数/秒 磁盘 六十
网络(*)\传输的总字节数 网络 六十
网络(*)\接收的总字节数 网络 六十
网络(*)\总字节数 网络 六十
网络(*)\传输的数据包总数 网络 六十
网络(*)\总接收的数据包数量 网络 六十
Network(*)\Total Rx Errors 网络 六十
Network(*)\Total Tx Errors 网络 六十
网络(*)\总碰撞次数 网络 六十
System(*)\Uptime 系统 六十
System(*)\Load1 系统 六十
System(*)\Load5 系统 六十
System(*)\Load15 系统 六十
System(*)\Users 系统 六十
System(*)\Unique Users 系统 六十
System(*)\CPUs 系统 六十

后续步骤