6 Windows パフォーマンスカウンタ

概要

Windowsのパフォーマンスカウンタは、perf_counter[] キーを使用して効率的に監視することができます。

例えば:

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

あるいは

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

このキーまたは英語版のみの同等物 perf_counter_en の使用に関する詳細については、[Windows-specific item keys]((/manual/config/items/itemtypes/zabbix_agent/win_keys)を参照してください。

監視可能なパフォーマンスカウンタの全リストを取得するには、次のコマンドを実行します。

typeperf -qx

また、ローレベルディスカバリ機能を使用して、複数の object instancesを検出し、複数のインスタンスオブジェクトに対する
perf_counter item の作成を自動化することも可能です。

数値表現

Windows は、オブジェクト名およびパフォーマンスカウンター名の数値表現(インデックス)を保持しています。Zabbix は、これらの数値表現を perf_counterperf_counter_en アイテムキーのパラメータ、および PerfCounterPerfCounterEn 設定パラメータでサポートしています。

ただし、数値インデックスが特定のホスト上で正しい文字列に対応していることを保証できない限り、これらを使用することは推奨されません。さまざまなローカライズ版 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

パフォーマンスカウンタパラメーター

Windowsのパフォーマンスカウンタを監視するために、いくつかのPerfCounterパラメータを導入することができます。

例えば、Zabbixエージェント設定ファイルに以下を追加することができます。

   PerfCounter=UserPerfCounter1,"\Memory\Page Reads/sec",30
   または
   PerfCounter=UserPerfCounter2,"\4\24",30

このようなパラメータを設定すると、それぞれの item を作成するためのキーとして UserPerfCounter1 または UserPerfCounter2
使用するだけでよくなります。

設定ファイルを変更した後は、Zabbixエージェントを再起動することを忘れないでください。