3 Descoberta de CPUs e núcleos de CPU
De forma semelhante à descoberta de sistemas de arquivos, também é possível descobrir CPUs e núcleos de CPU.
Chave do item
Para configurar a regra de descoberta, use a chave do item do Zabbix agent system.cpu.discovery.
Macros suportadas
Esta chave de descoberta retorna duas macros - {#CPU.NUMBER} e {#CPU.STATUS} - identificando, respectivamente, o número de ordem da CPU e seu status.
Ela enumera os processadores de 0 a N - 1, onde N é a contagem total de processadores.
[
{
"{#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"
}
]
Observe que não é possível fazer uma distinção clara entre processadores físicos reais, núcleos e hyperthreads. {#CPU.STATUS} em sistemas Linux, UNIX e BSD retorna o status do processador, que pode ser "online" ou "offline". Em sistemas Windows, essa mesma macro pode representar um terceiro valor - "unknown" - que indica que um processador foi detectado, mas nenhuma informação foi coletada para ele ainda.
A descoberta de CPU depende do processo coletor do agent para permanecer consistente com os dados fornecidos pelo coletor e economizar recursos na obtenção dos dados. Isso faz com que essa chave de item não funcione com a flag de linha de comando de teste (-t) do binário do agent, que retornará um status NOT_SUPPORTED e uma mensagem correspondente indicando que o processo coletor não foi iniciado.
Os protótipos de item que podem ser criados com base na descoberta de CPU incluem, por exemplo:
system.cpu.util[{#CPU.NUMBER},<type>,<mode>]system.hw.cpu[{#CPU.NUMBER},<info>]
Para uma descrição detalhada da chave do item, consulte chaves de item do Zabbix agent.
Notas sobre itens de contador de desempenho descobertos em sistemas NUMA
Alguns contadores de desempenho do Windows podem não estar disponíveis para alguns dos processadores lógicos em sistemas NUMA.
Por exemplo, itens descobertos com um protótipo de item com a chave abaixo podem funcionar apenas para o primeiro nó NUMA. Itens para os outros nós NUMA podem estar em estado não suportado.
perf_counter[\Processor({#CPU.NUMBER})\% Processor Time,60]
Além disso, uma regra de descoberta com a chave "system.cpu.discovery" não fornece nenhum valor de macro de descoberta em baixo nível para substituir em contadores de desempenho como:
perf_counter["\Processor Information(<NUMA node index>,<CPU index in NUMA node>)\% Processor Time",60]
Enquanto os itens system.cpu.util dependem de diferentes contadores de desempenho
para monitorar a porcentagem de utilização da CPU, dependendo da contagem de grupos de processadores e da contagem de processadores.
Além disso, há um bug raro relacionado a grupos de processadores no Windows.