使用 Azure Monitor 代理收集性能计数器

性能计数器数据收集规则 (DCR) 中使用的数据源之一。 有关创建 DCR 的详细信息,请参阅使用 Azure Monitor 代理收集数据。 本文提供有关 Windows 事件数据源类型的更多详细信息。

性能计数器提供对硬件组件、操作系统和应用程序性能的见解。 Azure Monitor 代理可以频繁地从 Windows 和 Linux 计算机收集性能计数器来进行准实时分析。

先决条件

配置性能计数器数据源

按照使用 Azure Monitor 代理收集数据中的说明,创建数据收集规则。 在“收集和传递”步骤中,从“数据源类型”下拉列表中选择“性能计数器”。

对于性能计数器,请从一组预定义对象及其采样率中进行选择。

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

选择“自定义”来指定 XPath,收集默认情况下不可用的任何性能计数器。 使用 \PerfObject(ParentInstance/ObjectInstance#InstanceIndex)\Counter 格式。 如果计数器名称包含与符号 (&),请将其替换为 &。 例如 \Memory\Free & Zero Page List Bytes。 如需示例,可以查看默认计数器。

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

警告

为与 Windows 和 Linux 计算机关联的 DCR 手动定义计数器时要小心,因为某些 Windows 和 Linux 样式的计数器名称可解析为相同的指标并导致重复收集。 例如,在同一 DCR 中同时指定 \LogicalDisk(*)\Disk Transfers/secLogical Disk(*)\Disk Transfers/sec 将导致每个采样周期报告两次磁盘传输指标。 通过在非类型化 DCR 中不收集性能计数器,可避免此行为;确保 Windows 样式的计数器仅在 Windows 类型的 DCR 中指定,并且仅与 Windows 计算机关联(对于 Linux 样式的计数器亦然)。

注意

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

目标

性能计数器数据可以发送到以下位置。

目标 表/命名空间
Log Analytics 工作区 Perf(请参阅 Azure Monitor 日志参考
Azure Monitor 指标 Windows:虚拟机来宾
Linux:azure.vm.linux.guestmetrics

注意

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

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

使用性能记录的日志查询

以下查询是检索性能记录的示例。

特定计算机中的所有性能数据

Perf
| where Computer == "MyComputer"

所有计算机的平均 CPU 使用率

Perf 
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| summarize AVGCPU = avg(CounterValue) by Computer

每小时特定计算机的 CPU 使用率的平均值、最小值、最大值和第 75 百分位数

Perf
| where CounterName == "% Processor Time" and InstanceName == "_Total" and Computer == "MyComputer"
| summarize ["min(CounterValue)"] = min(CounterValue), ["avg(CounterValue)"] = avg(CounterValue), ["percentile75(CounterValue)"] = percentile(CounterValue, 75), ["max(CounterValue)"] = max(CounterValue) by bin(TimeGenerated, 1h), Computer

注意

Perf 表的查询中提供了其他查询示例。

后续步骤