# - \#6 Windows性能计数器

#### 概述

你可以使用*perf\_counter\[\]*Key有效的监控Windows性能计数器。

示例:

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

或者

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

有关使用此Key的更多信息，请参阅
[特定于Windows的监控项Key](/manual/config/items/itemtypes/zabbix_agent/win_keys).

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

    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版本。
