7 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_counter, perf_counter_en item キーのパラメータとして、
また PerfCounter, PerfCounterEn 設定パラメータとしてサポートしています。

しかし、数値インデックスが特定のホストで正しい文字列にマップされることを保証できない限り、これらを使用することは推奨されません。
ローカライズされた Windows バージョンの異なるホストで動作するポータブルな item を作成する必要がある場合は、
perf_counter_en キーまたは PerfCounterEn 設定パラメータを使用して、システムのロケールにかかわらず英語名を使用することが可能です。

数値に相当するものを見つけるには、regedit を実行し、以下を見つけます。
HKEY_LOCAL_MACHINE_SOFTWARE_Microsoft⇄Windows NT\CurrentVersion\Perflib\009

レジストリエントリには、このような情報が含まれています。

1
       1847
       2
       システム
       4
       メモリ
       6
       プロセッサー時間
       10
       ファイル読み込み操作/秒
       12
       ファイル書込み動作/秒
       14
       ファイルコントロール動作/秒
       16
       ファイル読込バイト数/秒
       18
       ファイル書込みバイト数/秒
       ....

ここで、'\System\% Processor Time' のように、パフォーマンスカウンタの各文字列部分に対応する数値が表示されます。

システム -> 2
       % プロセッサー時間 -> 6

そして、この数字を使って、パスを数字で表すことができます。

\2\6

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

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

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

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

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

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