18 关于Windows系统上的system.cpu.util 监控项的说明

在Zabbix监控Windows系统时,system.cpu.util 是一个用于监控CPU使用率的项。这个监控项能够提供关于CPU时间分配的详细信息,包括用户模式、系统模式、优先级中断和等待时间的使用情况。

监控项 是一个占位符,通常会被具体的监控参数所替换,例如 system.cpu.util[,user] 表示监控用户模式下的CPU使用率。

在Windows系统中,Zabbix使用特定的机制来收集这些数据,这可能与在Linux系统上的数据收集方式有所不同。因此,理解system.cpu.util在Windows环境下的具体含义和工作原理对于有效监控和故障排查至关重要。

请确保已经正确配置了Zabbix Agent,并且在Windows主机上启用了必要的性能计数器,以便Zabbix能够准确地收集CPU使用数据。此外,根据监控需求,可能需要调整监控项的更新频率和数据收集的精度。

system.cpu.util 监控项 提供了CPU利用率的百分比。

当在Zabbix agent为Windows的系统上启动采集进程时,会为N个逻辑处理器(线程)初始化一个N 监控项的缓冲区。使用Windows性能计数器定期更新缓冲区中的值。当请求system.cpu.util[n]时,会报告这些值,其中0 <= n < N。

缓冲区中还有一个额外的监控项用于system.cpu.util[total]

Zabbix自动选择不同的性能计数器,以支持NUMA系统和不支持处理器组的旧版Windows版本。

如果逻辑处理器(线程)的数量小于或等于64,且处理器组的数量等于1,则:

N is logical processor (thread) count.
       
       \Processor(_Total)\% Processor Time
       \Processor(0)\% Processor Time
       \Processor(1)\% Processor Time
       \Processor(2)\% Processor Time
       ...
       \Processor(N-1)\% Processor Time
       ```否则:
       
       ```bash
       G is processor group count and N is logical processor (thread) count in group.
       
       \Processor Information(_Total)\% Processor Time
       \Processor Information(0,0)\% Processor Time
       \Processor Information(0,1)\% Processor Time
       \Processor Information(0,2)\% Processor Time
       ...
       \Processor Information(0,N-1)\% Processor Time
       ...
       \Processor Information(G-1,0)\% Processor Time
       \Processor Information(G-1,1)\% Processor Time
       \Processor Information(G-1,2)\% Processor Time
       ...
       \Processor Information(G-1,N-1)\% Processor Time