6 Windows性能计数器

概述

你可以使用_perf_counter[]_Key有效的监控Windows性能计数器。

示例:

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

或者

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

有关使用此Key的更多信息,请参阅 特定于Windows的监控项Key.

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

  1. typeperf -qx

数字表达

由于性能计数器的命名可能因不同的Windows服务器而异,具体取决于本地设置,因此在创建用于监视具有不同区域设置的多台Windows计算机的模板时会引发一定的问题。

同时,每个性能计数器也可以通过其数字形式来引用,无论语言设置如何,它都是唯一的,因此你可以使用数字表示而不是字符串。

找出数字等价物, 运行 regedit, 然后找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009.

注册表项包含这样的信息:

  1. 1
  2. 1847
  3. 2
  4. System
  5. 4
  6. Memory
  7. 6
  8. % Processor Time
  9. 10
  10. File Read Operations/sec
  11. 12
  12. File Write Operations/sec
  13. 14
  14. File Control Operations/sec
  15. 16
  16. File Read Bytes/sec
  17. 18
  18. File Write Bytes/sec
  19. ....

这里,你可以找到性能计数器的每个字符串的相应数字, 例如 '\System\% Processor Time':

  1. System -> 2
  2. % Processor Time -> 6

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

  1. \2\6

性能计数器参数

你可以部署一些PerfCounter参数来监控Windows性能计数器。

例如,你可以将它们添加到Zabbix代理配置文件中:

  1. PerfCounter=UserPerfCounter1,"\Memory\Page Reads/sec",30
  2. 或者
  3. PerfCounter=UserPerfCounter2,"\4\24",30

使用这些参数,你可以简单地使用UserPerfCounter1 或者 UserPerfCounter2 作为创建相应监控项的Key。

记住在更改配置文件后重新启动Zabbix代理。

故障处理

有时,Zabbix代理无法在基于Windows 2000的系统中检索性能计数器值,因为pdh.dll文件已过时。它显示为Zabbix代理和服务器日志文件中的失败消息。在这种情况下,pdh.dll应该更新到更新的5.0.2195.2668版本。