3 CPUとCPUコアの検出
ファイルシステムが検出されるのと同様の方法で、CPUとCPUコアも検出できます。
アイテムキー
ディスカバリールールで使用するアイテムキーは次のとおりです。
system.cpu.discovery
サポートされているマクロ
このディスカバリキーは、CPUの順序番号とステータスをそれぞれ識別する2つのマクロ - {#CPU.NUMBER} と {#CPU.STATUS} - を返します。 プロセッサーは 0 から N - 1 まで列挙されます。ここで、N はプロセッサーの総数です。
[
{
"{#CPU.NUMBER}": 0,
"{#CPU.STATUS}": "online"
},
{
"{#CPU.NUMBER}": 1,
"{#CPU.STATUS}": "offline"
},
{
"{#CPU.NUMBER}": 2,
"{#CPU.STATUS}": "unknown" /* "unknown" is only on Windows */
},
{
"{#CPU.NUMBER}": 3,
"{#CPU.STATUS}": "online"
}
]
実際の物理プロセッサー、コア、ハイパースレッドを明確に区別することはできない点に注意してください。Linux、UNIX、BSD システム上の {#CPU.STATUS} はプロセッサーのステータスを返し、その値は "online" または "offline" のいずれかです。Windows システムでは、この同じマクロが3つ目の値
- "unknown" - を表す場合があります。これは、プロセッサーは検出されているものの、まだその情報が収集されていないことを示します。
CPUディスカバリは、collector によって提供されるデータとの一貫性を保ち、データ取得時のリソースを節約するために、エージェントの collector プロセスに依存しています。そのため、このアイテムキーはエージェントバイナリのテスト用コマンドラインフラグ (-t) では動作せず、NOT_SUPPORTED ステータスと、collector プロセスが開始されていないことを示すメッセージを返します。
CPUディスカバリに基づいて作成できるアイテムのプロトタイプには、たとえば次のものがあります。
system.cpu.util[{#CPU.NUMBER},<type>,<mode>]system.hw.cpu[{#CPU.NUMBER},<info>]
アイテムキーの詳細な説明については、Zabbix agent item keys を参照してください。
NUMAシステムで検出されたパフォーマンスカウンターアイテムに関する注意事項
一部の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のプロセッサーグループに関連するまれなバグもあります。