使用 Azure Monitor 代理收集性能计数器
性能计数器是数据收集规则 (DCR) 中使用的数据源之一。 有关创建 DCR 的详细信息,请参阅使用 Azure Monitor 代理收集数据。 本文提供有关 Windows 事件数据源类型的更多详细信息。
性能计数器提供对硬件组件、操作系统和应用程序性能的见解。 Azure Monitor 代理可以频繁地从 Windows 和 Linux 计算机收集性能计数器来进行准实时分析。
先决条件
- 如果要将性能数据发送到 Log Analytics 工作区,必须创建一个你在其中至少具有参与者权限的工作区。
- 使用 Azure Monitor 代理收集数据中描述的新 DCR 或现有 DCR。
配置性能计数器数据源
按照使用 Azure Monitor 代理收集数据中的说明,创建数据收集规则。 在“收集和传递”步骤中,从“数据源类型”下拉列表中选择“性能计数器”。
对于性能计数器,请从一组预定义对象及其采样率中进行选择。
选择“自定义”来指定 XPath,收集默认情况下不可用的任何性能计数器。 使用 \PerfObject(ParentInstance/ObjectInstance#InstanceIndex)\Counter
格式。 如果计数器名称包含与符号 (&),请将其替换为 &
。 例如 \Memory\Free & Zero Page List Bytes
。 如需示例,可以查看默认计数器。
警告
为与 Windows 和 Linux 计算机关联的 DCR 手动定义计数器时要小心,因为某些 Windows 和 Linux 样式的计数器名称可解析为相同的指标并导致重复收集。 例如,在同一 DCR 中同时指定 \LogicalDisk(*)\Disk Transfers/sec
和 Logical 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 指标作为唯一目标。
使用性能记录的日志查询
以下查询是检索性能记录的示例。
特定计算机中的所有性能数据
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 表的查询中提供了其他查询示例。
后续步骤
- 使用 Azure Monitor 代理收集文本日志。
- 详细了解 Azure Monitor 代理。
- 详细了解数据收集规则。