Temperatura CPU monitorizada con Pandora FMS

La temperatura de la “central processing unit”, más conocida como CPU, es uno de los valores más significativos que hay que tener en cuenta a la hora de monitorizar recursos hardware. La razón es que una temperatura CPU elevada puede causar desconexiones abruptas del sistema para protegerse de causar daños irreversibles en su funcionamiento, puede fundir la CPU, e incluso terminar con la vida del dispositivo.

No queremos que nuestros sistemas de producción, bases de datos, backups, servidores web, ni ninguna de nuestras máquinas se apague de forma repentina como resultado de una temperatura elevada. Por este motivo, hoy vamos a ver diferentes formas de implementar la monitorización de la temperatura de CPU con Pandora FMS, en Windows, Linux y dispositivos de red, pudiendo tener siempre un control de sus valores y estableciendo diferentes tipos de alertas, que nos avisen antes de que surjan problemas críticos en la compañía.

banner full pandora fms free demo
banner tablet pandora fms free demo
banner mobile pandora fms free demo

Implementación en Sistemas Windows

Nos ayudaremos de la utilidad wmic del sistema operativo, que nos permite conocer información de todo tipo utilizando el sistema de administración de sistemas Windows WMI. Para conocer la temperatura CPU ejecutaremos el siguiente comando desde un cmd con privilegios de administrador:

wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature

El resultado mostrará la temperatura CPU en decenas de grados kelvin, pero si queremos mostrarlo en grados Celsius tendremos que hacer una operación como la siguiente:

Resultado_Celsius = (Resultado_Kelvin / 10) – 273

Hemos creado en nuestro agente software un módulo con la siguiente estructura:

module_begin
module_name temperature tenths kelvin
module_type generic_data
module_exec wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature | tail -2
module_end

Y creado un módulo sintético para hacer la conversión de grados Kelvin a grados Celsius y poder tener la información en un formato más cómodo.

El resultado final ha sido este:

temperatura cpu

Implementación en Sistemas Linux

En el caso de los sistemas Linux encontramos diferentes formas de extraer esta información en función de la distribución que estemos utilizando. Debemos tener en cuenta que este tipo de chequeos solo tienen sentido en máquinas físicas, con sensores que detecten cosas como la temperatura CPU, ya que las máquinas virtuales son íntegramente gestionadas por software.

En el caso de sistemas Ubuntu/Debian generalmente encontraremos esta información bajo los siguientes directorios:

/sys/class/hwmon/

En nuestra máquina hemos mostrado el contenido de los siguientes ficheros:

$ cat temp1_input temp2_input temp3_input
43000
40000
41000

En este caso se muestra la temperatura CPU general y la temperatura de cada núcleo. Las primeras dos cifras muestran los grados y las tres restantes los decimales. La mayoría de los sistemas no disponen de sensores con una precisión mayor que la de los propios grados “enteros”, por lo que podemos quedarnos solo con los dos primeros dígitos a la hora de mostrar el módulo, por lo cual emplearemos un postprocesado. La configuración de uno de los módulos será la siguiente:

module_begin
module_name Temperature CPU 1
module_type generic_data
module_exec cat /sys/class/hwmon/hwmon1/temp2_input
module_postprocess 0.001
module_unit º C
module_end

Y el resultado que visualizamos en la consola de Pandora FMS sería este:

temperatura cpu

Como antes mencionamos, es importante tener en cuenta que la localización de esta información puede variar en función de la distribución de Linux que estemos utilizando, de manera que será necesaria una pequeña investigación previa antes de crear estos chequeos.

Implementación en Dispositivos de red

Para el caso de los dispositivos de red emplearemos otro tipo de monitorización; en este caso los chequeos a través de la red, haciendo uso del protocolo SNMP (Simple Network Management Protocol).

Los dispositivos de red modernos soportan en su gran mayoría el protocolo SNMP, que permitirá obtener de una forma rápida y sencilla mucha información sobre el dispositivo.

Aquí tendremos también que hacer una pequeña labor de investigación, ya que cada dispositivo de red, en función de su fabricante y modelo, devuelve información SNMP en un orden determinado; no existe un “valor universal” que se pueda emplear de forma genérica para todos.

Necesitaremos, por supuesto, la dirección IP del dispositivo, su comunidad y versión SNMP, y el OID del chequeo. Un OID es un código identificador que nos permite obtener información determinada del aparato, siendo un OID a un dato en concreto.

La configuración del módulo en la consola de Pandora FMS tendrá el siguiente aspecto:

temperatura cpu

Para finalizar, recuerda que Pandora FMS es un software de monitorización flexible, capaz de monitorizar dispositivos, infraestructuras, aplicaciones, servicios y procesos de negocio.

¿Quieres conocer mejor qué es lo que Pandora FMS puede ofrecerte? Descúbrelo entrando aquí: https://pandorafms.com/es

Si cuentas con más de 100 dispositivos para monitorizar puedes contactar con nosotros a través del siguiente formulario: https://pandorafms.com/es/contactar/

Además, recuerda que si tus necesidades de monitorización son más limitadas tienes a tu disposición la versión OpenSource de Pandora FMS. Encuentra más información aquí: https://pandorafms.org/es/

No dudes en enviar tus consultas. ¡El equipo de Pandora FMS estará encantado de atenderte!

Shares