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 se puede establecer 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 y un mensaje adjunto 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 obtener una descripción detallada de las claves de item, consulte claves de item del agent de Zabbix.
Notas sobre los elementos de contadores de rendimiento descubiertos en sistemas NUMA
Algunos contadores de rendimiento de Windows pueden no estar disponibles para algunos de los procesadores lógicos en sistemas NUMA.
Por ejemplo, los elementos descubiertos con un prototipo de elemento con la clave siguiente pueden funcionar solo para el primer nodo NUMA. Los elementos para los otros nodos NUMA pueden estar en estado no soportado.
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 tales contadores de rendimiento como:
perf_counter["\Processor Information(<índice de nodo NUMA>,<índice de CPU en nodo NUMA>)\% Processor Time",60]
Mientras que los elementos system.cpu.util dependen de diferentes contadores de rendimiento para monitorizar el porcentaje de utilización de la CPU dependiendo del número de grupos de procesadores y del número de procesadores. Además, existe un error poco frecuente relacionado con grupos de procesadores en Windows.