Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

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

A chave do item a ser usada na regra de descoberta é

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 o status. Ela enumera os processadores de 0 a N - 1, onde N é o número total de processadores.

[
           {
               "{#CPU.NUMBER}": 0,
               "{#CPU.STATUS}": "online"
           },
           {
               "{#CPU.NUMBER}": 1,
               "{#CPU.STATUS}": "offline"
           },
           {
               "{#CPU.NUMBER}": 2,
               "{#CPU.STATUS}": "unknown" /* "unknown"  existe no 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 ainda não foram coletadas informações para ele.

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 o parâmetro de linha de comando de teste (-t) do binário do agent, que retornará um status NOT_SUPPORTED e uma mensagem indicando que o processo coletor não foi iniciado.

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 de item, consulte Chaves de item do Zabbix agent.

Observações sobre itens de contadores 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 ficar 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 de baixo nível para substituir nesses 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.