Net als bij het ontdekken van bestandssystemen is het mogelijk om ook CPU's en CPU-kernen te ontdekken.
De item-sleutel die moet worden gebruikt in de ontdekkingsregel is
Deze item-sleutel wordt ondersteund sinds Zabbix-agent 2.4.
Deze ontdekkingssleutel retourneert twee macro's - {#CPU.NUMBER} en {#CPU.STATUS} die respectievelijk het volgnummer van de CPU en de status aangeven. Let op dat er geen duidelijk onderscheid kan worden gemaakt tussen feitelijke, fysieke processors, cores en hyperthreads. {#CPU.STATUS} op Linux, UNIX en BSD-systemen geeft de status van de processor weer, die ofwel "online" of "offline" kan zijn. Op Windows-systemen kan dezelfde macro mogelijk een derde waarde aangeven - "unknown" - wat aangeeft dat een processor is gedetecteerd, maar er nog geen informatie over is verzameld.
De CPU-ontdekking vertrouwt op het consistent blijven van het verzamelproces van de agent met de geleverde gegevens door de collector en bespaart resources bij het verkrijgen van de gegevens. Hierdoor werkt deze item-sleutel niet met de test (-t) commandoregeloptie van het agentprogramma, wat een status NOT_SUPPORTED zal retourneren met een bijbehorende melding dat het verzamelproces niet is gestart.
Item-prototypes die op CPU-ontdekking zijn gebaseerd, kunnen bijvoorbeeld zijn:
system.cpu.util[{#CPU.NUMBER},<type>,<mode>]
system.hw.cpu[{#CPU.NUMBER},<info>]
Voor een gedetailleerde beschrijving van item-sleutels, zie Zabbix agent item-sleutels.
Some Windows performance counters might be not available for some of the logical processors at NUMA systems.
For example, items discovered with an item prototype with the key below might work only for the first NUMA node. Items for the other NUMA nodes might be in unsupported state.
perf_counter[\Processor({#CPU.NUMBER})\% Processor Time,60]
Also, a discovery rule with key "system.cpu.discovery" does not provide any low-level discovery macro values to substitute into such performance counters as:
perf_counter["\Processor Information(<NUMA node index>,<CPU index in NUMA node>)\% Processor Time",60]
While system.cpu.util items rely on different performance counters to monitor CPU utilization percentage depending on the processor group count and processor count. Also, there is a rare bug related to processor groups on Windows.