Sponsors

Google
- Epoch Time
A quick idea by Chris Rowe follow me @chrisrowe  •  Help spread the word and tweet about this site  •  What's the Epoch
Visualizzazione post con etichetta bash. Mostra tutti i post
Visualizzazione post con etichetta bash. Mostra tutti i post

Controllo temperatura server linux

Esigenza: controllare la temperatura di alcuni server linux.

Due delle macchine che compongono la'infrastuttura di backup sono allocate in una stanza non climatizzata, la temperatura non sale mai a livelli di guardia, comunque è sempre bene tenere sotto controllo la temperatura del processore.

Il comando "sensors" rileva i vari sensori prsenti nell'hardware della macchina, nel mio caso posso sfruttare la temperatura delle CPU, il seguente script prende un solo valore in considerazione. Difficilmente avremo una CPU a 28°C e una a 65°C.

Lo script prende la temperatura dal comando sensor e manipola l'output, ottiene la temperatura esterna tramite ClassMeteo nella pagina di Yahoo, questo per dare evidenza della situazione climatica; un esempio banale è quello i avere una temperatura esterna di 36°C e le CPU a 45°C, lo consideramo normale, ma avere l'esterna a -5°C e l'interna a 65°C dovrebbe farci pensare, soprattutto se le CPU non stanno lavorando, magari ci siamo solo dimenticati l'impianto di riscaldamento acceso e su una temperatura decisamente tropicale.

Effettuato il controllo, cercando la soglia massima otlre la quale deve far partire l'aert è di 55°C, la soglia massima consigliata dal produttore è di 65°C, per qeusto mi prendo un "margine" di 10°C, per dare il tempo di controllare in SSH e di intervenire in sede. 


#!/bin/bash
temp=$(sensors|grep Core|sed -e's/[^0-9.]//g' -e 's/^0//g'|tail -1|awk -F"." '{print $1}')
wget http://it.meteo.yahoo.com/italia/toscana/cerreto-guidi-12846264/
external=$(grep -i "<div temp-c \">" index.html |tr "<" "\n"| grep -i "day-temp-current temp-c"|sed -e 's/[^0-9]//g')
clear
echo "Temperatura interna: $temp gradi centigradi"
echo "Temperatura esterna: $external gradi centigradi"
if [ $temp -gt 55 ]; then

cat > /tmp/chktmp.eml <<DT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Tempi di apertura sito</title>
<h1 >TEMPERATURA ALTA</h1>
<h2>La temperatura del server <b>$(hostname)</b> &egrave; di <span ><b>$(echo $temp) &deg; C</b></span>.</h2>
<p>La temperatura esterna &egrave; di <b>$(echo $external)&deg; C</b> rilevata da <a href="http://it.meteo.yahoo.com/italia/toscana/cerreto-guidi-12846264/">ClassMeteo</a>.</p>

<br />

<br />
<p>Rispondendo a questa mail contatterai il gruppo di supporto LBiT soluzioni informatiche.</p>
<p>Mail inviata da $(hostname).</p>

DT
(cat <<EOCAT
Subject: ALLARME TEMPERATURA $(echo $hostnama) $(echo $temp)
MIME-Version: 1.0E
Content-Type: text/html
Content-Disposition: inline
From:$(hostname).lbit-solution.it <no-replay@lbit-solution.it>
To: Gruppo Supporto LBiT soluzioni informatiche <supporto@lbit-solution.it>
EOCAT
cat /tmp/chktmp.eml) | /usr/sbin/sendmail supporto@lbit-solution.it amministrazione@lbit-solution.it
fi
rm -f index.htm*

Script controllo filesystem

Negli ultimi mesi non ho postato nessun articolo, non per voglia ma per tempo.
Riprendo degli argomenti che volevo affrontare nei mesi scorsi ma non ho potuto, il controllo dei dischi con alert mail.
Come al solito nulla di complicato, scriviamo uno script che controlla lo spazio disco e, se inferiore ad una data percentuale, provvede ad in inviare una mail in formato HTML, nel contenuto della mail ci sarà anche il link ad una pagina di gestione per sistemi con IP DINAMICI.

Ecco il codice:

1 #!/bin/bash
2 # SCRIPT ELSAMU VPS
3 # FILESYSTEM /media/160 GIGA
4 ### CONFIG ####
5 FSCHK="/var/www/vhosts"
6 DSCHK="/dev/vzfs"
7 WEBPAGE=""
8 rm -f index.html
9 INTIP="`/sbin/ifconfig eth0 |grep -i inet|head -1|awk '{print $2}'|sed -e 's/addr://g'`"
10 EXTIP="`wget http://www.indirizzo-ip.com/;grep -i TITLE index.html |awk '{print $3}'|sed -e 's/<\/TITLE>//g'`"
11 SPACE=`df -h $DSCHK|awk '{print $5}'|tail -1|sed -e 's/%//g'`
12
13 #### INIZIO SCRIPT
14
15 if [ $SPACE -gt 85 ]
16   then
17 cat > /tmp/alert.html <<DT
18 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
19 <html>
20 <head>
21 <meta http-equiv="content-type" content="text/html; charset=windows-1250">
22 <title>Alert filesystem</title>
23 </head>
24 <body>
25 <h1 style="color: red">RISCHIO FILESYSTEM FULL</h1>
26 <h3>ATTENZIONE FILESYSTEM $SPACE %</h3>
27 <p>HOSTNAME: <b>`hostname`</b></p>
28 <p>PUBBLIC IP: <b>$EXTIP</b></p>
29 <p><a href=`echo "\"http://$EXTIP$WEBPAGE\""`>WEB  PAGE INFO SERVER </p></h5>
30
31
32 <p> <b>STATO FILESYSTEM:</b><br />
33 $(df -h $DSCHK|while read line;
34 do echo "$line <br />"
35 done) </p>
36
37 <p><b>LA DIRECTORY $FSCHK OCCUPA:</b><br />
38 $(du -sh $FSCHK|tail -1)
39 </p>
40
41 <p> <b>STATO FILESYSTEM GENERALE:</b><br />
42 $(df -h|while read line;
43 do echo "$line <br />"
44 done)  </p>
45
46 <br />
47 <h5><a href="http://www.lbit-solution.it">Mail send by LBiT soluzioni informatiche</a></h5>
48 </body>
49 </html>
50
51
52 DT
53
54 (cat <<EOCAT
55 Subject: [ELSAMU-VPS] File System Alert $SPACE
56 MIME-Version: 1.0
57 Content-Type: text/html
58 Content-Disposition: inline
59 EOCAT
60 cat /tmp/alert.html) | /usr/sbin/sendmail supporto@lbit-solution.it
61   rm -f /tmp/alert.html
62   rm -f index.html
63 echo "[$(date +'%F %H:%M:%S')] Filesystem alert - $(df -h $DSCHK|awk '{print $5}'|tail -1|sed -e 's/%//g')% in uso" >> /var/log/chkdsk.log
64 else
65 echo "[$(date +'%F %H:%M:%S')] Filesystem nella norma - $(df -h $DSCHK|awk '{print $5}'|tail -1|sed -e 's/%//g')% in uso" >> /var/log/chkdsk.log
66 fi
67
 


Ora basta mettere in crontab lo script e sperare che il disco non si saturi mai:
00 * * * * /var/script/chkdisk.sh

Per personalizzare lo script basta cambiare le variabili alla riga 5, 6 e7 e la percentuale oltre la quale deve partire la mail a riga 15; alla riga 60 troviamo invece l'indirizzo al quale inviare la mail.

Bash e mio figlio

Mio figlio non mi lascia lavorare, ha ragione prima dobbiamo giocare con loro e poi pensare al nostro lavoro.
Il pinguino mi aiuta a distrarlo mentre finisco alcune pratiche urgenti:

sleep 1;clear;echo ciao SAMUEL|cowsay ; sleep 1;clear;echo "ALLONTANATSI DALLA LINEA GIALLA"|cowsay ;sleep 2;sl;sl;clear;echo "TRENO IN TRANSITO AL BINARIO 1"|cowsay ;sleep 2; sl -F; sl -l;sl -e

Se poi gli mettiamo un loop abbiamo un nuovo gioco!
  while true; do sleep 1;clear;echo ciao SAMUEL|cowsay ; sleep 1;clear;echo "ALLONTANATSI DALLA LINEA GIALLA"|cowsay ;sleep 2;sl;sl;clear;echo "TRENO IN TRANSITO AL BINARIO 1"|cowsay ;sleep 2; sl -F; sl -l;sl -e; done

Un simpatico treno che attraversa il nostro schermo, una mucca controllore! Con un pò di fantasia possiamo farlo diventare un vero gioco, magari con frasi randomiche.

LBiT soluzioni informatiche

Link and Search

Solo lei

Solo lei ha quel che voglio

So di esser pronto ed è già da un pò che ci penso ma tutto quel che so è che so bene con lei ma non capisco cosa intende fare dove vorrà arrivare. Non mi ha mai visto prima ma ora al mondo ci siamo solo io e lei, la conosco da un minuto l'ho appena trovata e già l'ho perduta resta una sconosciuta, un mistero e chissà se è vero quel che i suoi occhi mi stanno dicendo di lei, io lo spero e sta volta è per davvero e tutto questo perchè se puoi io so... può lasciarsi andare e l'accompagnerò e domani ti giuro che me ne andrò può lasciarsi andare e l'accompagnerò e poi ti giuro che sparirò...
Solo lei ha quel che voglio e sono io ciò che sta cercando.
Questa notte potrei darle il mondo potrei darle tutto ciò che cerca ciò di cui ha bisogno quindi molla il tipo che è con te o mi perderai, potresti non rivedermi mai più non si sa mai, non sa cosa sta rischiando pensa che stia scherzando ma sono io ciò che sta cercando, no di sicuro l'uomo che è con lei perchè questa serata spero l'abbia solo accompagnata, mi servon due minuti ma ti assicuro che verrà e questa notte durerà un'eternità, e il mondo gira solo perchè ora c'è lei solo per il suo sguardo che mi fa prendere il volo, muoio, la conosco appena e già vivo per ogni suo respiro ti giuro non ti prendo in giro e mentre l'ammiro mi accorgo quanto sia stupenda e hai sbagliato se pensi che m'arrenda...
Solo lei ha quel che voglio e sono io ciò che sta cercando.
Il mio intuito mi ha spinto e solo ora capisco perchè come un druido ho il fluido che fa per lei non conta quanto sia durato ma che sia stato qualcosa per cui vale la pena d'aver vissuto e quindi lascio che la storia abbia il suo corso naturale ma ti prego fammi capire perchè sto male perchè so che domani io mi sveglierò e sarò ancor del suo profumo intriso dal suo sorriso ucciso ma io sarò con la mia donna e lei col suo uomo visto che ho scoperto che è l'unica lei è la sola....
Solo lei ha quel che voglio e sono io ciò che sta cercando.

top