CPU和CPU核心的自动发现与 文件系统 的自动发现工作方式相似。
在 自动发现规则 中使用的监控项的键是
从Zabbix agent 2.4起支持此监控项。
这个键使用两个宏 - {#CPU.NUMBER} 用于识别CPU序号, {#CPU.STATUS} 用于识别CPU状态。 注意,没有办法清楚地区分出来实际的物理处理器、核心与超线程这三者。Linux、UNIX和BSD系统上的 {#CPU.STATUS} 返回处理器的状态,状态可以是 "在线" 或者 "离线"。在Windows操作系统上,同样的宏可能会返回第三个取值 - "未知" - 表示已检测到处理器,但还未收集到相关信息。
为了保持与收集器提供的数据一致,CPU自动发现功能依赖agent的收集器进程,通过此方式还能在获取数据方面节省资源,但是这会导致此监控项的键不支持二进制agent的测试(-t)命令行参数,并且会返回一个NOT_SUPPORTED状态,并附带信息,表明收集器进程未启动。
可基于CPU自动发现来创建监控项原型,比如:
system.cpu.util[{#CPU.NUMBER},<type>,<mode>]
system.hw.cpu[{#CPU.NUMBER},<info>]
关于监控项的键的详细信息, 参考 Zabbix agent 监控项的键。