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 监控项键以及 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 作为key来创建相应的监控项。

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