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的监控项Key.

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

typeperf -qx

数字表达

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

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

找出数字等价物, 运行 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
       ....

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

System → 2
       % Processor Time → 6

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

\2\6

性能计数器参数

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

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

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

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

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

故障处理

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