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 ディスカバリは、コレクタープロセスによって提供されるデータとの整合性を保ち、データ取得時のリソースを節約するために、 エージェントのコレクタープロセスに依存しています。そのため、このアイテムキーは エージェントバイナリのテスト用コマンドラインフラグ (-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 node index>,<CPU index in NUMA node>)\% Processor Time",60]

system.cpu.utilアイテムは、プロセッサグループ数やプロセッサ数に応じて、CPU使用率の監視に異なるパフォーマンスカウンターを利用します。 また、Windowsのプロセッサグループに関連するまれなバグも存在します。