Monitoreo Servidores · 5 min read · Oct 18, 2025

Monitoreo de Temperaturas de Servidores Linux y Unix con Opsview

Monitoreo de Temperaturas de Servidores Linux y Unix con Opsview

Gestionar el consumo de energía en un centro de datos es un factor clave para ayudar a mantener bajos los costos generales de energía del negocio y asegurar que los servidores funcionen a un rendimiento óptimo. El sobrecalentamiento puede llevar a un aumento de los costos de refrigeración y también corre el riesgo de que los servidores se bloqueen.

El software de monitoreo de servidores Opsview se puede utilizar para verificar y alertar sobre la temperatura del servidor y también la temperatura de componentes individuales dentro de un servidor (Memoria, CPU y Discos duros). Se pueden establecer umbrales y alertas para cuando se superen temperaturas críticas, ayudando a mantener bajo control los servidores que funcionan a altas temperaturas.

Esta publicación de blog detalla cómo configurar Opsview para monitorear la temperatura de servidores Linux y Unix.

Pasos:

[ NB: Esta guía asume que el sistema que deseamos monitorear ya tiene instalado el agente Opsview]

1. Como root, necesitaremos instalar “lm_sensors” y “hddtemp” (los nombres pueden diferir según las distribuciones de Linux); en CentOS/RHEL se adquieren a través de “ yum install lm_sensors hddtemp ”.

2. Una vez que estos elementos estén instalados, necesitaremos ejecutar “sensors-detect” como root para detectar los elementos de los que nos gustaría monitorear la temperatura. Una vez completado, necesitaremos guardar esto (simplemente presione ENTER) y el sensors-detect estará completo.

3. Ahora que lm_sensors y hddtemp están instalados, podemos probarlos localmente como se muestra a continuación:

Temp HDD:

[root@rhelserver ~]# hddtemp /dev/sda
/dev/sda: ST3120811AS: 31°C

lm_sensors:

[root@rhelserver ~]# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +38.0°C  (alto = +84.0°C, crítico = +100.0°C)
Core 1:      +39.0°C  (alto = +84.0°C, crítico = +100.0°C)
Core 2:      +37.0°C  (alto = +84.0°C, crítico = +100.0°C)
Core 3:      +38.0°C  (alto = +84.0°C, crítico = +100.0°C)  
  
i5k_amb-isa-0000
Adapter: ISA adapter
Ch. 0 DIMM 0: +67.0°C  (bajo  = +110.5°C, alto = +124.0°C)

Ch. 1 DIMM 0: +62.0°C  (bajo  = +110.5°C, alto = +124.0°C)

Podemos ver según la salida anterior, que nuestros sensores y sus lecturas de temperatura son detectados y funcionan como se desea, ahora necesitamos agregar plugins para tomar esta salida en una base “por sensor” para que podamos agregarla a una verificación de servicio para monitorear la temperatura del servidor.

4. Descargue el plugin “check_lm_sensors” desde el enlace aquí y cópielo a /usr/local/nagios/libexec. Una vez hecho, extráigalo a través de

tar -zxvf check_lm_sensors-3.1.1.tar.gz

5. Podemos probar nuestro nuevo plugin como root ejecutando:

/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –list

que debería listar nuevamente los sensores y sus temperaturas. Si esto no funciona o da errores de Perl, entonces edite el archivo check_lm_sensors usando nano/vim, y en la parte superior del script agregue lo siguiente:

use lib "/usr/local/nagios/perl/lib/";

6. Para permitirnos ejecutar este comando como el usuario “nagios” (requerido para las verificaciones de servicio check_nrpe), necesitamos:

chmod +x /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors
chown –R nagios:nagios /usr/local/nagios/libexec/check_lm_sensors-3.1.1/

7. También necesitamos agregar una línea al archivo /etc/sudoers. Como usuario root, agregue la siguiente línea al final de /etc/sudoers:

nagios ALL=(root) NOPASSWD:/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors

Esto permite al usuario nagios ejecutar check_lm_sensors como root sin tener que autenticarse mediante contraseña.

8. Ahora tenemos que agregar nuestros comandos de verificación a nuestro agente, ya que los ejecutaremos localmente en el servidor y pasaremos la salida de vuelta a nuestro servidor Opsview a través del comando check_nrpe (NRPE siendo N agios R emote P lugin E xecutor). Para hacer esto, necesitamos delinear cuáles son nuestros comandos y cómo nos referiremos a ellos. Para hacer esto, necesitamos editar el archivo “overrides.cfg”, ubicado en /usr/local/nagios/etc/nrpe_local/override.cfg.

9. Necesitamos editar este archivo usando un editor de texto como vim o nano, es decir,

nano /usr/local/nagios/etc/nrpe_local/override.cfg

y agregar líneas similares a las siguientes:

check_command[core0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core0=45,55

check_command[core1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core1=45,55

check_command[core2_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core2=45,55

check_command[core3_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core3=45,55

check_command[dimm0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.0DIMM0=60,75

check_command[dimm1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.1DIMM0=60,75

check_command[sda_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high sdaTemp=60,75

Esto creará 7 nuevos comandos, como “core0_temp”, que ejecutan la ruta completa especificada a la derecha del “=”.

10. A continuación, necesitamos recargar el agente Opsview ejecutando

service opsview-agent restart

por ejemplo.

11. Ahora podemos probar estos nuevos comandos como el usuario nagios, navegando a /usr/local/nagios/libexec y ejecutando un comando como el siguiente:

./check_nrpe –H localhost –c dimm0_temp

Esto mostrará el resultado, como a continuación, si se completa con éxito:

[nagios@rhelserver libexec]$ ./check_nrpe -H localhost -c dimm0_temp  
LM_SENSORS WARNING - Ch.0DIMM0=67.0|Ch.0DIMM0=67.0;60;75;;

12. Ahora que todo está confirmado como funcionando, simplemente necesitamos crear nuestras verificaciones de servicio en Opsview y agregarlas a un host. Para hacer esto, simplemente inicie sesión en Opsview y navegue a “ CONFIGURACIONES > VERIFICACIONES DE SERVICIO ” y haga clic en el símbolo verde de “PLUS”. Esto cargará una nueva página, que deberá completar con varias configuraciones como nombre, grupo de servicio, etc.

Las secciones importantes para este ejemplo son Plugin y argumentos; en “Plugin” debemos seleccionar check_nrpe y en argumentos debemos ingresar algo similar a “ -H $HOSTADDRESS$ -c dimm0_temp ”; donde “dimm0_temp” es el comando que ejecutamos anteriormente y agregamos a nuestro archivo overrides.cfg.

13. Una vez que hayamos creado verificaciones de servicio para todas nuestras líneas que agregamos en “overrides.cfg” en nuestro servidor, podemos navegar a “ CONFIGURACIONES > HOSTS”, hacer clic en el host correspondiente (o agregarlo si no está actualmente en Opsview), y navegar a la pestaña MONITORES donde puede seleccionar sus nuevas verificaciones de servicio como a continuación:

14. Una vez agregado, finalmente necesitamos recargar Opsview para aplicar nuestros cambios, a través de “ CONFIGURACIONES > APLICAR CAMBIOS ” y “recargar configuración”. Una vez recargado, podemos navegar a nuestro host y ver nuestros nuevos monitores de temperatura del servidor como a continuación:

15. Ahora podemos comenzar a crear perfiles de notificación basados en temperaturas, es decir, “Notifícame si una temperatura se vuelve crítica para cualquiera de mis servidores en el centro de datos ‘XYZ’ durante estos tiempos”, por ejemplo. De esta manera, podemos asegurarnos de enterarnos instantáneamente cuando la temperatura de un servidor se vuelve crítica, a través de SMS/correos electrónicos/notificaciones push de iOS, e investigar de inmediato.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.