De la mateixa manera que es descobreixen sistemes de fitxers, també és possible descobrir CPU i nuclis de CPU.
La clau de l'element que cal emprar a la regla de descoberta és
Aquesta clau de descoberta retorna dues macros: {#CPU.NUMBER} i {#CPU.STATUS}, que identifiquen el nombre de comanda i l'estat del processador respectivament.
Llista els processadors des de 0 a N - 1, on N és el recompte total de processadors.
[
{
"{#CPU.NUMBER}": 0,
"{#CPU.STATUS}": "online"
},
{
"{#CPU.NUMBER}": 1,
"{#CPU.STATUS}": "offline"
},
{
"{#CPU.NUMBER}": 2,
"{#CPU.STATUS}": "unknown" /* "unknown" is at Windows only */
},
{
"{#CPU.NUMBER}": 3,
"{#CPU.STATUS}": "online"
}
]
Tingueu en compte que no es pot fer una distinció clara entre processadors físics, nuclis i hyperthreads reals. {#CPU.STATUS} a sistemes Linux, UNIX i BSD retorna l'estat de la CPU, que pot ésser "en línia" o "fora de línia". Als sistemes Windows, aquesta mateixa macro pot representar un tercer valor - "desconegut" - que indica que s'ha detectat un processador, però encara no s'ha recopilat cap informació.
La descoberta de la CPU depèn del procés de recollida de l'agent per mantindre coherència amb les dades proporcionades pel recopilador i estalviar recursos en obtindre les dades. Això fa que aquesta clau d'element no funcioni amb l'assenyalador de la línia d'ordres de prova (-t) del binari de l'agent, que retorna un estat NOT_SUPPORTED i un missatge que l'acompanya que el procés del col·lector no s'ha iniciat.
Els prototips d'elements que es poden crear basant-se en la descoberta de la CPU inclouen, per exemple:
system.cpu.util[{#CPU.NUMBER}, <tipus>, <mode>]
system.hw.cpu[{#CPU.NUMBER}, <informació>]
Per obtindre una descripció detallada de la clau d'element, veieu Clau d'element de l'agent Zabbix.
És possible que alguns comptadors de rendiment de Windows no siguin pas disponibles per a alguns dels processadors lògics dels sistemes NUMA.
Per exemple, els elements trobats amb un prototip d'element amb la clau següent poden funcionar només per al primer node NUMA. És possible que els elements dels altres nodes NUMA siguin en estat no compatible.
perf_counter[\Processor({#CPU.NUMBER})\% Processor Time,60]
A més, una regla de descoberta amb la clau "system.cpu.discovery" no dona pas cap valor de macro de descoberta de baix nivell per substituir a comptadors de rendiment com:
perf_counter["\Processor Information(<NUMA node index>,<CPU index in NUMA node>)\% Processor Time",60]
Mentre que system.cpu.util els elements depenen de diferents comptadors de rendiment per monitorar el percentatge d'utilització de la CPU en funció del nombre de grups de processadors i del nombre de processadors. A més, hi ha un error rar relacionat amb grups de processadors a Windows.