性能计数器提供虚拟硬件组件、操作系统和工作负载性能的见解。 搭配使用数据收集规则 (DCR) 和性能计数器数据源,从 Windows 和 Linux 虚拟机收集计数器。
有关创建 DCR 的详细信息,请参阅 使用 Azure Monitor 从 VM 客户端收集数据。 本文提供了性能计数器数据源类型的其他详细信息。
注释
若要直接使用 DCR 定义或使用 ARM 模板等其他方法进行部署,请参阅 Azure Monitor 中的数据收集规则(DCR)示例。
配置性能计数器数据源
根据使用 Azure Monitor 从虚拟机客户端收集数据的过程创建 DCR。 在 DCR 的“收集和传递”选项卡上,从“数据源类型”下拉列表中选择“性能计数器”。 从预定义的一组对象和其采样率中进行选择。 采样率越低,收集值的频率就越高。
选择“自定义”以指定XPath来收集使用基本选择不可获取的任何性能计数器。 使用 \PerfObject(ParentInstance/ObjectInstance#InstanceIndex)\Counter
格式。
小窍门
如果计数器名称包含和符号 (&),请将其替换成 &
。 例如,\Memory\Free & Zero Page List Bytes
。
警告
在手动定义与 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 指标作为唯一目标。
验证数据收集
若要验证是否正在 Log Analytics 工作区中收集数据,请检查 Perf 表中的记录。 在虚拟机或 Azure 门户中的 Log Analytics 工作区中,选择 “日志 ”,然后单击“ 表 ”按钮。 在“虚拟机”类别下,单击 Perf 旁边的“运行”。
若要验证数据是否正在 Azure Monitor 指标中收集,请从 Azure 门户中的虚拟机中选择 “指标 ”。 为命名空间选择 虚拟机来宾 (Windows)或 azure.vm.linux.guestmetrics ,然后选择要添加到视图的指标。
性能计数器
适用于 Windows 和 Linux 虚拟机的 Azure Monitor 代理可收集以下性能计数器。 创建或更新数据收集规则时,可以更改采样频率。
Windows 性能计数器
性能计数器 | 类别 | 默认采样频率 |
---|---|---|
\处理器信息(_总计)\% 处理器时间 | 中央处理器 | 六十 |
\Processor Information(_Total)\% Privileged Time | 中央处理器 | 六十 |
\Processor Information(_Total)\% User Time | 中央处理器 | 六十 |
\处理器信息(_Total)\处理器频率 | 中央处理器 | 六十 |
\系统\进程 | 中央处理器 | 六十 |
\进程(_Total)\线程计数 | 中央处理器 | 六十 |
\Process(_Total)\Handle Count | 中央处理器 | 六十 |
\System\System Up Time | 中央处理器 | 六十 |
\System\Context Switches/sec | 中央处理器 | 六十 |
\System\处理器队列长度 | 中央处理器 | 六十 |
\Memory\% Committed Bytes In Use | 内存 | 六十 |
\内存\可用字节 | 内存 | 六十 |
\Memory\Committed Bytes | 内存 | 六十 |
\内存\缓存字节 | 内存 | 六十 |
\Memory\Pool Paged Bytes | 内存 | 六十 |
\Memory\Pool Nonpaged Bytes | 内存 | 六十 |
\Memory\Pages/sec | 内存 | 六十 |
\Memory\Page Faults/sec | 内存 | 六十 |
\Process(_Total)\Working Set | 内存 | 六十 |
\Process(_Total)\Working Set - Private | 内存 | 六十 |
\LogicalDisk(_Total)\% Disk Time | 磁盘 | 六十 |
\LogicalDisk(_Total)\% Disk Read Time | 磁盘 | 六十 |
\LogicalDisk(_Total)\% Disk Write Time | 磁盘 | 六十 |
\LogicalDisk(_Total)\% Idle Time | 磁盘 | 六十 |
\LogicalDisk(_Total)\Disk Bytes/sec | 磁盘 | 六十 |
\LogicalDisk(_Total)\Disk Read Bytes/sec | 磁盘 | 六十 |
\LogicalDisk(_Total)\Disk Write Bytes/sec | 磁盘 | 六十 |
\LogicalDisk(_Total)\磁盘传输次数/秒 | 磁盘 | 六十 |
\LogicalDisk(_Total)\Disk Reads/sec | 磁盘 | 六十 |
\LogicalDisk(_Total)\Disk Writes/sec | 磁盘 | 六十 |
\LogicalDisk(_Total)\Avg.Disk sec/Transfer | 磁盘 | 六十 |
\LogicalDisk(_Total)\Avg.Disk sec/Read | 磁盘 | 六十 |
\LogicalDisk(_Total)\Avg.Disk sec/Write | 磁盘 | 六十 |
\LogicalDisk(_Total)\平均磁盘队列长度 | 磁盘 | 六十 |
\LogicalDisk(_Total)\平均磁盘读取队列长度 | 磁盘 | 六十 |
\LogicalDisk(_Total)\Avg.Disk Write Queue Length | 磁盘 | 六十 |
\LogicalDisk(_Total)\% 空闲空间 | 磁盘 | 六十 |
\LogicalDisk(_Total)\Free Megabytes | 磁盘 | 六十 |
\网络接口(*) \字节总数/秒 | 网络 | 六十 |
\网络接口(*) \字节发送/秒 | 网络 | 六十 |
\网络接口(*) \接收字节数/秒 | 网络 | 六十 |
\网络接口(*) \数据包/秒 | 网络 | 六十 |
\网络接口(*) \每秒发送的数据包 | 网络 | 六十 |
\网络接口(*) \数据包接收/秒 | 网络 | 六十 |
\网络接口(*) \数据包输出错误 | 网络 | 六十 |
\网络接口(*) \接收数据包错误 | 网络 | 六十 |
后续步骤
- 详细了解 Azure Monitor 代理程序。
- 详细了解数据收集规则。