[comment]: # ({9d6e5905-432ed722})
# 2 发现CPU和CPU核心

与发现[文件系统](/manual/discovery/low_level_discovery#configuring_low-level_discovery)的方式相似，如此也可以发现CPUs和CPU核心。

[comment]: # ({/9d6e5905-432ed722})

[comment]: # ({fc8fc6ca-3494efeb})
#### 键值

在[发现规则](/manual/discovery/low_level_discovery#discovery_rule)中的键值应用是：

    system.cpu.discovery

此监控项从Zabbix 2.4开始支持。

[comment]: # ({/fc8fc6ca-3494efeb})

[comment]: # ({1eaf108f-df853e8a})
#### 支持宏

此发现键值反馈两个宏——{\#CPU.NUMBER} 和
{\#CPU.STATUS}，分别识别CPU编号和状态。请注意，在实际的，物理的处理器，内核和超线程之间无法做出明确的区分。Linux，UNIX和BSD系统上的{\#CPU.STATUS}可以反馈处理器的状态，“在线状态”或“离线状态”。在Windows系统中，这个相同的宏可能代表第三个值——“未知状态”——代表已检测到处理器，但尚未收集任何信息。

CPU发现依赖于代理的收集器进程来保持与收集器提供的数据一致，并节省获取数据的资源。这样会产生有此键值无法使用代理二进制文件的test（-t）命令行标志的效果，从而反馈一个NOT\_SUPPORTED状态以及一条伴随的信息表示收集器进程尚未启动。

可以基于CPU发现创建监控项原型包括，例如：

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

[comment]: # ({/1eaf108f-df853e8a})
