3 Descubrimiento de CPU y núcleos de CPU

De forma similar a como se descubren los sistemas de archivos, también es posible descubrir CPU y núcleos de CPU.

Clave de item

La clave de item que se debe usar en la regla de descubrimiento es

system.cpu.discovery

Macros soportadas

Esta clave de descubrimiento devuelve dos macros: {#CPU.NUMBER} y {#CPU.STATUS}, que identifican respectivamente el número de orden y el estado de la CPU. Enumera los procesadores de 0 a N - 1, donde N es el número total de procesadores.

[
    {
        "{#CPU.NUMBER}": 0,
        "{#CPU.STATUS}": "online"
    },
    {
        "{#CPU.NUMBER}": 1,
        "{#CPU.STATUS}": "offline"
    },
    {
        "{#CPU.NUMBER}": 2,
        "{#CPU.STATUS}": "unknown" /* "unknown" solo está en Windows */
    },
    {
        "{#CPU.NUMBER}": 3,
        "{#CPU.STATUS}": "online"
    }
]

Tenga en cuenta que no puede hacerse una distinción clara entre procesadores físicos reales, núcleos e hyperthreads. {#CPU.STATUS} en sistemas Linux, UNIX y BSD devuelve el estado del procesador, que puede ser "online" u "offline". En sistemas Windows, esta misma macro puede representar un tercer valor, "unknown", que indica que se ha detectado un procesador, pero que todavía no se ha recopilado información sobre él.

El descubrimiento de CPU depende del proceso collector del agent para mantener la coherencia con los datos proporcionados por el collector y ahorrar recursos al obtener los datos. Esto provoca que esta clave de item no funcione con la opción de línea de comandos de prueba (-t) del binario del agent, que devolverá un estado NOT_SUPPORTED junto con un mensaje que indica que el proceso collector no se ha iniciado.

Los prototipos de item que pueden crearse a partir del descubrimiento de CPU incluyen, por ejemplo:

  • system.cpu.util[{#CPU.NUMBER},<type>,<mode>]
  • system.hw.cpu[{#CPU.NUMBER},<info>]

Para una descripción detallada de las claves de item, consulte claves de item del agent de Zabbix.

Notas sobre items de contador de rendimiento descubiertos en sistemas NUMA

Es posible que algunos contadores de rendimiento de Windows no estén disponibles para algunos de los procesadores lógicos en sistemas NUMA.

Por ejemplo, los items descubiertos con un prototipo de item con la clave siguiente podrían funcionar solo para el primer nodo NUMA. Los items para los demás nodos NUMA podrían estar en estado no compatible.

perf_counter[\Processor({#CPU.NUMBER})\% Processor Time,60]

Además, una regla de descubrimiento con la clave "system.cpu.discovery" no proporciona ningún valor de macro de descubrimiento de bajo nivel para sustituir en contadores de rendimiento como:

perf_counter["\Processor Information(<NUMA node index>,<CPU index in NUMA node>)\% Processor Time",60]

Mientras que los items system.cpu.util dependen de distintos contadores de rendimiento para supervisar el porcentaje de utilización de la CPU según el número de grupos de procesadores y el número de procesadores. Además, existe un error poco frecuente relacionado con los grupos de procesadores en Windows.