Scoperta di CPU e core CPU
In modo simile a come vengono scoperti i file system, è possibile scoprire anche CPU e core CPU.
Chiave dell'item
Per configurare la regola di discovery, usa la chiave dell'item dell'agent Zabbix system.cpu.discovery.
Macro supportate
Questa chiave di discovery restituisce due macro - {#CPU.NUMBER} e {#CPU.STATUS} - che identificano rispettivamente il numero d'ordine della CPU e il suo stato.
Enumera i processori da 0 a N - 1, dove N è il numero totale di processori.
[
{
"{#CPU.NUMBER}": 0,
"{#CPU.STATUS}": "online"
},
{
"{#CPU.NUMBER}": 1,
"{#CPU.STATUS}": "offline"
},
{
"{#CPU.NUMBER}": 2,
"{#CPU.STATUS}": "unknown" /* "unknown" is only on Windows */
},
{
"{#CPU.NUMBER}": 3,
"{#CPU.STATUS}": "online"
}
]
Si noti che non è possibile distinguere chiaramente tra processori fisici effettivi, core e hyperthread. {#CPU.STATUS} su sistemi Linux, UNIX e BSD restituisce lo stato del processore, che può essere "online" oppure "offline".
Sui sistemi Windows, questa stessa macro può rappresentare un terzo valore - "unknown" - che indica che un processore è stato rilevato, ma non sono ancora state raccolte informazioni su di esso.
La discovery della CPU si basa sul processo collector dell'agent per rimanere coerente con i dati forniti dal collector e risparmiare risorse nell'acquisizione dei dati.
Questo fa sì che questa chiave di item non funzioni con il flag da riga di comando di test -t del binario dell'agent, che restituirà uno stato NOT_SUPPORTED e un messaggio associato che indica che il processo collector non è stato avviato.
I prototipi di item che possono essere creati in base alla discovery della CPU includono, ad esempio:
system.cpu.util[{#CPU.NUMBER},<type>,<mode>]system.hw.cpu[{#CPU.NUMBER},<info>]
Per una descrizione dettagliata della chiave dell'item, vedere Chiavi degli item dell'agent Zabbix.
Note sugli item dei contatori di prestazioni rilevati sui sistemi NUMA
Alcuni contatori di prestazioni di Windows potrebbero non essere disponibili per alcuni dei processori logici nei sistemi NUMA.
Ad esempio, gli item rilevati con un prototipo di item con la chiave seguente potrebbero funzionare solo per il primo nodo NUMA. Gli item per gli altri nodi NUMA potrebbero trovarsi nello stato non supportato.
perf_counter[\Processor({#CPU.NUMBER})\% Processor Time,60]
Inoltre, una regola di discovery con chiave "system.cpu.discovery" non fornisce alcun valore di macro di low-level discovery da sostituire in contatori di prestazioni come:
perf_counter["\Processor Information(<NUMA node index>,<CPU index in NUMA node>)\% Processor Time",60]
Mentre gli item system.cpu.util si basano su contatori di prestazioni diversi per monitorare la percentuale di utilizzo della CPU a seconda del numero di gruppi di processori e del numero di processori. Esiste inoltre un bug raro relativo ai gruppi di processori su Windows.