2022 Zabbix中国峰会
2022 Zabbix中国峰会

6 Windows 性能计数器

概览

你可以使用 perf_counter[] 这个key有效的监控Windows性能计数器。

例如:

perf_counter["\Processor(0)\Interrupts/sec"]

perf_counter["\Processor(0)\Interrupts/sec",10]

有关使用此key的更多信息请参阅Windows专用监控项

为了获取可用于监控的新能计数器完整列表,你可以运行:

typeperf -qx

可以通过低级别发现来发现windows性能计数器的多对象实例,并自动创建多实例对象的性能计数器监控项。

数字表示

Windows 操作系统为对象和性能计数器名称维护数字表示形式(索引)。Zabbix 支持这些数字表示形式,将其作为参数用于 perf_counter、perf_counter_en 监控项键,以及 PerfCounterPerfCounterEn 配置参数中。

然而,除非您能保证您的数字索引在特定主机上映射到正确的字符串,否则不推荐使用它们。如果您需要创建可在具有不同本地化 Windows 版本的不同主机上工作的可移植监控项,您可以使用 perf_counter_en 键或 PerfCounterEn 配置参数,这些允许您使用英文名称,而不受系统区域设置的限制。

为了找到同义的数字,需要运行 regedit,然后找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009这个注册表。

注册表中包含形如下面所示的信息:

1
       1847
       2
       System
       4
       Memory
       6
       % Processor Time
       10
       File Read Operations/sec
       12
       File Write Operations/sec
       14
       File Control Operations/sec
       16
       File Read Bytes/sec
       18
       File Write Bytes/sec
       ....

在性能计数器的字符串部分,例如'% Processor Time',你可以找到对应的数字:

System → 2
       % Processor Time → 6

然后,你可以使用这些数字来表示路径的数值表示:

\2\6

性能计数器参数

你可以部署一些PerfCounter参数,来完成通过Windows性能计数器监控。

例如,你可以将下面的内容添加到Zabbix agent配置文件中:

   PerfCounter=UserPerfCounter1,"\Memory\Page Reads/sec",30
       
          PerfCounter=UserPerfCounter2,"\4\24",30

配置了这些参数后,你就可以简单的使用 UserPerfCounter1UserPerfCounter2 作为key来创建相应的监控项。

当然,别忘了在更改配置文件后重新启动Zabbix agent。