2022 Zabbix中国峰会
2022 Zabbix中国峰会

3 自动发现CPU和CPU核心

就像自动发现 文件系统一样,也可以自动发现 CPU 和 CPU 核心。

监控项的键

自动发现规则 中使用的监控项的键是

system.cpu.discovery

支持的宏

这个自动发现监控键返回两个宏 - {#CPU.NUMBER}和 {#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 监控项的键