3 CPUおよびCPUコアのディスカバリ

ファイルシステムがディスカバリされるのと同様に、CPUおよびCPUコアもディスカバリできます。

アイテムキー

ディスカバリルールを設定するには、Zabbix エージェントのアイテムキー 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 ディスカバリは、収集プロセスによって提供されるデータと整合性を保ち、データ取得のためのリソースを節約するために、エージェントの収集プロセスに依存します。そのため、このアイテムキーはエージェントバイナリのテスト (-t) コマンドラインフラグでは動作せず、NOT_SUPPORTED ステータスと、収集プロセスが開始されていないことを示すメッセージが返されます。

CPU ディスカバリに基づいて作成できるアイテムのプロトタイプには、たとえば次のものがあります。

  • system.cpu.util[{#CPU.NUMBER},<type>,<mode>]
  • system.hw.cpu[{#CPU.NUMBER},<info>]

アイテムキーの詳細な説明については、Zabbix エージェントのアイテムキー を参照してください。

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 のプロセッサグループ に関連するまれな不具合もあります。