ファイルシステムが検出されるのと同様の方法で、CPUとCPUコアも検出できます。
ディスカバリールールで使用するアイテムキーは
このディスカバリーキーは、CPUの順序番号とステータスをそれぞれ識別する{#CPU.NUMBER}と{#CPU.STATUS}の2つのマクロを返します。 プロセッサは0からN-1まで列挙され、Nはプロセッサの総数です。
[
{
"{#CPU.NUMBER}": 0,
"{#CPU.STATUS}": "online"
},
{
"{#CPU.NUMBER}": 1,
"{#CPU.STATUS}": "offline"
},
{
"{#CPU.NUMBER}": 2,
"{#CPU.STATUS}": "unknown" /* "unknown"はWindowsのみ */
},
{
"{#CPU.NUMBER}": 3,
"{#CPU.STATUS}": "online"
}
]実際の物理プロセッサ、コア、ハイパースレッドの間で明確な区別ができないことに注意してください。Linux、UNIX、BSDシステムでは、{#CPU.STATUS}はプロセッサのステータスを返し、その値は"online"または"offline"のいずれかです。Windowsシステムでは、このマクロは"unknown"という3番目の値を表す場合があり、これはプロセッサが検出されたが、まだ情報が収集されていないことを示します。
CPUディスカバリーは、エージェントのコレクタープロセスがコレクターによって提供されるデータと一貫性を保ち、データ取得のリソースを節約することに依存しています。このため、このアイテムキーはエージェントバイナリのtest(-t)コマンドラインフラグでは動作せず、NOT_SUPPORTEDステータスと、コレクタープロセスが開始されていないことを示すメッセージが返されます。
CPUディスカバリーに基づいて作成できるアイテムプロトタイプの例は以下の通りです。
system.cpu.util[{#CPU.NUMBER},<type>,<mode>]system.hw.cpu[{#CPU.NUMBER},<info>]アイテムキーの詳細な説明については、Zabbixエージェントのアイテムキーを参照してください。
一部のWindowsパフォーマンスカウンターは、NUMAシステムの論理プロセッサによっては利用できない場合があります。
たとえば、以下のキーを持つアイテムプロトタイプで検出されたアイテムは、最初のNUMAノードでのみ機能する場合があります。他のNUMAノードのアイテムは、サポートされていない状態になる場合があります。
perf_counter[\Processor({#CPU.NUMBER})\% Processor Time,60]
また、キー「system.cpu.discovery」を持つディスカバリールールは、以下のようなパフォーマンスカウンターに代入するための低レベルディスカバリーマクロ値を提供しません。
perf_counter["\Processor Information(<NUMA node index>,<CPU index in NUMA node>)\% Processor Time",60]
system.cpu.utilアイテムは、プロセッサグループ数やプロセッサ数に応じて、CPU使用率の監視に異なるパフォーマンスカウンターを利用します。 また、Windowsのプロセッサグループに関連するまれなバグも存在します。