3 CPUとCPUコアの検出
file systems の検出と同様に、CPUとCPUコアも検出できます。
アイテムキー
discovery rule で使用するアイテムキーは次のとおりです。
system.cpu.discovery
サポートされるマクロ
このディスカバリキーは 2 つのマクロ - {#CPU.NUMBER} と {#CPU.STATUS} を返し、それぞれ CPU の順序番号と状態を示します。 これはプロセッサを 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 ディスカバリは、収集プロセスによって提供されるデータと整合性を保ち、データ取得のリソースを節約するために、エージェントの収集プロセスに依存します。そのため、このアイテムキーはエージェントバイナリのテスト (-t) コマンドラインフラグでは動作せず、NOT_SUPPORTED 状態と、収集プロセスが開始されていないことを示すメッセージが返されます。
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ノードのインデックス>,<NUMAノードのCPUインデックス>)\% Processor Time",60]
system.cpu.util 項目は、プロセッサグループ数とプロセッサ数に応じて異なるパフォーマンスカウンターを使用してCPU使用率を監視します。 また、Windowsのプロセッサグループに関連する稀なバグがあります。