Monitoraggio Server · 5 min read · Oct 18, 2025

Monitoraggio delle temperature dei server Linux e Unix con Opsview

Monitoraggio delle temperature dei server Linux e Unix con Opsview

Gestire il consumo energetico in un Datacenter è un fattore chiave per mantenere bassi i costi energetici complessivi dell’azienda e garantire che i server funzionino a prestazioni ottimali. Il surriscaldamento può portare a costi maggiori per il raffreddamento e comporta anche il rischio di arresto dei server.

Il software di monitoraggio dei server Opsview può essere utilizzato per controllare e avvisare sulla temperatura del server e anche sulla temperatura dei singoli componenti all’interno di un server (Memoria, CPU e Hard disk). Possono essere impostati soglie e avvisi per quando vengono superate temperature critiche, aiutando a mantenere sotto controllo i server che funzionano a temperature elevate.

Questo post del blog descrive come configurare Opsview per monitorare la temperatura dei server Linux e Unix.

Passaggi:

[ NB: Questa guida presume che il sistema che desideriamo monitorare abbia già installato l’agente Opsview]

1. Come root, dovremo installare “lm_sensors” e “hddtemp” (i nomi possono differire a seconda delle distribuzioni Linux); su CentOS/RHEL possono essere acquisiti tramite “ yum install lm_sensors hddtemp ”.

2. Una volta installati questi elementi, dovremo eseguire “sensors-detect” come root per rilevare gli elementi di cui desideriamo monitorare la temperatura. Una volta completato, dovremo salvare questo (basta premere INVIO) e il rilevamento dei sensori è completo.

3. Ora che lm_sensors e hddtemp sono installati, possiamo testarli localmente come di seguito:

Temperatura 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  (high = +84.0°C, crit = +100.0°C)
Core 1:      +39.0°C  (high = +84.0°C, crit = +100.0°C)
Core 2:      +37.0°C  (high = +84.0°C, crit = +100.0°C)
Core 3:      +38.0°C  (high = +84.0°C, crit = +100.0°C)  
 
i5k_amb-isa-0000
Adapter: ISA adapter
Ch. 0 DIMM 0: +67.0°C  (low  = +110.5°C, high = +124.0°C)

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

Possiamo vedere, secondo l’output sopra, che i nostri sensori e le loro letture di temperatura sono stati rilevati e funzionano come desiderato, ora dobbiamo aggiungere plugin per prendere questo output su base “per sensore” in modo da poterlo aggiungere a un controllo di servizio per monitorare la temperatura del server.

4. Scarica il plugin “check_lm_sensors” dal link qui e copialo in /usr/local/nagios/libexec. Una volta fatto, estrailo tramite

tar -zxvf check_lm_sensors-3.1.1.tar.gz

5. Possiamo testare il nostro nuovo plugin come root eseguendo:

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

che dovrebbe nuovamente elencare i sensori e le loro temperature. Se questo non funziona o dà errori Perl, allora modifica il file check_lm_sensors utilizzando nano/vim, e in cima allo script aggiungi quanto segue:

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

6. Per consentirci di eseguire questo comando come utente “nagios” (richiesto per i controlli di servizio check_nrpe), dobbiamo:

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. Dobbiamo anche aggiungere una riga al file /etc/sudoers. Come utente root, aggiungi la seguente riga in fondo a /etc/sudoers:

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

Questo consente all’utente nagios di eseguire check_lm_sensors come root senza dover autenticarsi tramite password.

8. Ora dobbiamo aggiungere i nostri comandi di controllo al nostro agente, poiché li eseguiremo localmente sul server e passeremo l’output al nostro server Opsview tramite il comando check_nrpe (NRPE sta per N agios R emote P lugin E xecutor). Per fare ciò, dobbiamo delineare quali sono i nostri comandi e come ci riferiremo a loro. Per fare ciò, dobbiamo modificare il file “overrides.cfg”, situato in /usr/local/nagios/etc/nrpe_local/override.cfg.

9. Dobbiamo modificare questo file utilizzando un editor di testo come vim o nano, ad esempio.

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

e aggiungere righe simili a quelle di seguito:

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

Questo creerà 7 nuovi comandi, come “core0_temp”, che eseguono il percorso completo specificato a destra dell’“=”.

10. Successivamente, dobbiamo ricaricare l’agente Opsview eseguendo

service opsview-agent restart

ad esempio.

11. Possiamo ora testare questi nuovi comandi come utente nagios, navigando in /usr/local/nagios/libexec ed eseguendo un comando come di seguito:

./check_nrpe –H localhost –c dimm0_temp

Questo restituirà il risultato, come di seguito, se viene completato con successo:

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

12. Ora che tutto è confermato funzionante, dobbiamo semplicemente creare i nostri controlli di servizio in Opsview e aggiungerli a un host. Per fare ciò, accedi semplicemente a Opsview e naviga su “ IMPOSTAZIONI > CONTROLLI DI SERVIZIO ” e fai clic sul simbolo verde “+”. Questo caricherà una nuova pagina, che dovrai popolare con varie impostazioni come nome, gruppo di servizio, ecc.

Le sezioni importanti per questo esempio sono Plugin e argomenti; in “Plugin” dobbiamo selezionare check_nrpe e negli argomenti dobbiamo inserire qualcosa di simile a “ -H $HOSTADDRESS$ -c dimm0_temp ”; dove “dimm0_temp” è il comando che abbiamo eseguito in precedenza e aggiunto al nostro file overrides.cfg.

13. Una volta creati i controlli di servizio per tutte le righe che abbiamo aggiunto in “overrides.cfg” sul nostro server, possiamo quindi navigare su “ IMPOSTAZIONI > HOST”, fare clic sull’host corrispondente (o aggiungerlo se non è attualmente in Opsview), e navigare alla scheda MONITOR dove puoi selezionare i tuoi nuovi controlli di servizio come di seguito:

14. Una volta aggiunti, dobbiamo infine ricaricare Opsview per applicare le nostre modifiche, tramite “ IMPOSTAZIONI > APPLICA MODIFICHE ” e “ricarica configurazione”. Una volta ricaricato, possiamo quindi navigare verso il nostro host e visualizzare i nostri nuovi monitor di temperatura del server come di seguito:

15. Possiamo ora iniziare a creare profili di notifica basati sulle temperature, ad esempio “Notificami se una temperatura diventa critica per uno dei miei server nel Datacenter ‘XYZ’ durante questi orari”, per esempio. In questo modo possiamo assicurarci di scoprire immediatamente quando la temperatura di un server sta diventando critica, tramite SMS/email/notifiche push iOS, e indagare immediatamente.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.