MENU
linux-server

Monitorare gli utenti della tua rete? Ci pensa psacct

macosx-unity

Trasforma Ubuntu in Mac OS X

26 febbraio 2013 Comments (0) Views: 0 HowTo

Controllare le temperature di un server Linux o Unix

Si chiama Opsview ed è il software che controlla al posto nostro le temperature di funzionamento delle periferiche installate su un server. Ci avvisa inoltre del raggiungimento dei valori critici tramite SMS, e-mail o una notifica sull’iPhone.


Gestire il consumo di energia di un datacenter è un fattore fondamentale che permette di mantenere bassi i costi complessivi e garantire al tempo stesso prestazioni ottimali del server stesso: come ben sappiamo, infatti, il surriscaldamento non solo può portare un aumento dei costi necessari al raffreddamento, ma si traduce anche in un rischio più elevato di danni sul server.

Se siamo alla ricerca di un software che controlli la temperatura del server al posto nostro, avvisandoci del limite superato da ogni singolo componente (memoria, CPU o dischi rigidi), Opsview è quello che fa al caso nostro.

Per installarlo è necessario che sul sistema sia installato lm_sensors e hddtemp (i nomi possono differire a seconda della distro utilizzata). Se stiamo utilizzando CentOS/Red Hat Enterprise Linux/Fedora possiamo soddisfare questa dipendenza avviando il terminale e digitando il comando:

yum install lm_sensors hddtemp

Abbiamo poi bisogno di sensors-detect, da installare seguendo la medesima procedura. Se vogliamo verificare che hddtemp stia facendo il suo dovere, proviamo a lanciare:

hddtemp /dev/sda

In output dovrebbe apparire la temperatura di lavoro attuale del disco.

Da questo link scarichiamo il plugin check_lm_sensors e copiamolo nella directory /usr/local/utente/libexec. Fatto ciò, estraiamolo con:

tar-zxvf check_lm_sensors-3.1.1.tar.gz

Sistemiamo poi i permessi di esecuzione lanciando prima:

chmod +x /usr/local/utente/libexec/check_lm_sensors-3.1.1/check_lm_sensors

e successivamente:

chown -R utente:utente /usr/local/utente/libexex/check_lm_sensors-3.1.1/

Aggiungiamo anche una riga al file /etc/sudoers in modo tale da poter eseguire il comando senza essere necessariamente digitare la password di amministrazione. Più in particolare, aggiungiamo:

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

Siamo quasi in dirittura d’arrivo: dobbiamo aggiungere i comandi di controllo per il nostro agente. Per farlo, dobbiamo modificare il file overrides.cfg che si trova nel percorso /usr/local/utente/etc/nrpe_local/override.cfg. Apriamo il file con un editor come vim o nano e aggiungiamo righe simili alla seguente:

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

Riavviamo il servizio con:

service opsview-agent restart

Possiamo verificare che tutto sia andato per il verso giusto raggiungendo la directory /usr/local/utente/libexec e lanciando il comando:

./check_nrpe –H localhost –c Core_temp

Non ci resta che creare un profilo relativo al nostro server. Avviamo Opsview e spostiamoci in Settings e da qui accediamo a Service Checks. Clicchiamo sul pulsante verde Plus: verrà caricata una nuova pagina che sarà necessario compilare con le varie impostazioni quali il nome, il gruppo di servizi, ecc. Le sezioni più importanti sono Plugin e gli arguments. Dal primo, selezioniamo check_nrpe e nel secondo qualcosa del genere:

-H $HOSTADDRESS$ -c Core_temp

dove Core_temp è il comando aggiunto al file overrides.cfg. Ci basta poi trasferire proprio questo file sul nostro server e spostarci nel menu Hosts presente sempre in Settings. Selezioniamo la scheda Monitor in cui è possibile selezionare quali periferiche monitorare. Clicchiamo su Apply Change e confermiamo con Reload configuration.

Infine, possiamo creare dei profili di notifica che ci avvisano nel caso in cui la temperatura critica viene raggiunta. L’avviso può essere comunicato tramite SMS, messaggio di posta elettronica, o una notifica push su iOS.

server-temperature-monitoring

Fonte: HowtoForge