Windows 性能计数器

概述

您可以使用 perf_counter[] 键有效地监控 Windows 性能计数器。

例如:

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

或

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

有关如何使用此键或其仅支持英文的等效键 perf_counter_en 的更多信息,请参阅 Windows 专用监控项键。

要获取可用于监控的性能计数器完整列表,可以运行:

typeperf -qx

您还可以使用低级别发现来发现 Windows 性能计数器的多个对象实例,并自动为多个实例对象创建 perf_counter 监控项。

数字表示

Windows 会为对象名称和性能计数器名称维护数字表示(索引)。

Zabbix 支持将这些数字表示作为 perf_counter、perf_counter_en 监控项键的参数,以及 PerfCounter、PerfCounterEn 配置参数的参数。

但是,除非您能够确保数字索引在特定主机上对应正确的字符串,否则不建议使用这些数字表示。 如果您需要创建可移植的监控项,使其能够在不同主机以及各种本地化 Windows 版本上正常工作,可以使用 perf_counter_en 键或 PerfCounterEn 配置参数。它们允许您无论系统区域设置如何,始终使用英文名称。

要查找数字对应值,请运行 regedit,然后在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009 中找到 Counter。

注册表项包含如下信息:

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
....

在这里,您可以找到性能计数器每个字符串部分对应的数字,例如 \System\% 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

配置这些参数后,您只需使用 UserPerfCounter1 或 UserPerfCounter2 作为键,即可创建相应的监控项。

请注意,修改配置文件后,需要重启 Zabbix agent。