Zum Inhalt springen

Serverraum-Temperatur mit dem Raspberry Pi überwachen

raspberry_piWenn ihr die Raumtemperatur z.B. von einem Serverraum überwachten wollt und dazu deinen Raspi (Raspberry Pi) verwendet wollt, dann möchte ich euch folgende Seite ans Herz legen.

Sie war mir wirklich sehr, sehr behilflich, als ich so ein Projekt zum umsetzten hatte. Allerdings hatte ich bei mir auch noch einige Problemchen, welche ich hier ergänzend zu obigen Post aufführen möchte.

Als ich „w1-gpio“ und „w1-therm“ installiert hatte, wollte ich im angegebenen Pfad nachschauen, ob da mein Sensor auftaucht. Tat er nicht. 
Somit machte ich mich auf die Suche nach dem Problem und bin auch folgende Seite gestossen:

Auf diesem Forumseintrag ist die entscheidende Passage:
Mit neuer Firmware muss man unter: /boot/config.txt folgenden Eintrag ergänzen:
dtoverlay=w1-gpio,gpiopin=4,pullup=on

Als ich das gemacht hatte, wurde der Sensor (nach einem Reboot) bei mir erkannt und ich konnte damit die gemessene Temperatur auslesen.

Dann hatte ich noch ein größeres Problem. Ok, die Temperatur wurde nun gemessen, aber das Script wollte nicht das tun, was es sollte.
Es wurde einfach keine Warn-Email verschickt. 
Ok, jetzt bin ich nicht der Shell-Guru. Aber nachdem ich mir das Script etwas länger und genauer angeschaut habe, bin ich (für mich) zu dem Schluss gekommen, dass die Bedingungen in der If-Then-Else-Schleife falsch bzw. vertauscht angegeben waren und habe diese nun einfach mal „umgedreht“.

Und was soll ich sagen? Nach dieser „Drehung“ funktioniert das Script bei mir tadellos und tut das, was es soll. Meine Version des Script schaut jetzt so aus:

#!/bin/sh
 
# Variablen-Definitionen
# Temperaturen
tempok=30
tempfile="/home/pi/temp.txt"
tempfile2="/home/pi/temp_zu_hoch.txt"
 
# Datum
d=`date +%Y-%m-%d-%H-%M`
d2=`date +%Y-%m-%d`
# Mailversand
subject="!!!!! WARNUNG !!!!! TEMPERATUR IM SERVERRAUM KRITISCH!"
email="markus@ostermeier.net"
emailmessage="/home/pi/tempmail.txt"
 
# Temperatur auslesen, bewerten und reagieren
 
temp=`echo "scale=0; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/28-000007741036/w1_slave | awk -F't=' '{print $2}')/1000" | bc -l`
 
if [ $temp -ge $tempok ]
then 
 # Nur Mail versenden, wenn nicht bereits eine Mail an diesem Tag verschickt wurde!
 grep -i $d2 $tempfile2
 if [ $? -eq 0 ]
 then
 # Logdatei befuellen
 echo "$d -- T=$temp" >> $tempfile2
 # Inhalt der Mail erstellen und in emailmessage.txt zwischenspeichern
 echo "!!ACHTUNG!! Die kritische Temperatur von 30 Grad im Serverraum wurde ueberschritten!" >>$emailmessage
 echo " " >> $emailmessage
 echo "Ein Ausfall der Klimaanlage bei einer Raumtemperatur von T=$temp Grad Celsius ist wahrscheinlich." >>$emailmessage
 echo " " >> $emailmessage
 echo "Bitte Klimatisierung pruefen und ggf. Server herunterfahren!" >> $emailmessage
 echo " " >> $emailmessage
 echo " " >> $emailmessage
 echo "Beste Gruesse, der Severraum" >> $emailmessage
 
 # emailmessage verschicken
 mail -s "$subject" "$email" < $emailmessage
 
 # temporäre emailmessege.txt löschen
 rm $emailmessage
 
 else
 echo "$d -- T=$temp" >> $tempfile2 
 fi
else
 echo "$d -- T=$temp" >> $tempfile
fi


5 Gedanken zu „Serverraum-Temperatur mit dem Raspberry Pi überwachen“

  1. Pingback: ostermeier.net » Temperaturmessung und -erfassung an einem (Windows)-PC

  2. Danke für die guten Tipps zum IT-Alerting. Bekannte haben mit ihrem Raspi auch die Überwachung organisiert. Mit einem Simkartenmodul sind sie jetzt in der Lage den Admin zu jeder Zeit eine SMS oder einen Anruf zu senden. Es ist schon toll, was man mit dem 35 EUR Platinchen alles realisieren kann.

    1. Hallo Mia,

      das mit dem Simkartenmodul hört sich sehr interssant an.
      Kannst Du bitte einen entsprechenden Link posten?

      Grüße aus Hessen
      Kai

  3. Tolle Idee über Serverraum-Temperatur Überwachung. Bei der Arbeit haben wir ein großer Serverraum mit vielen Klimaanlagen. Um der Raum zu überwachen, haben wir Schwierigkeiten. Vielleicht müssen wir Raspberry Pi im Büro für diese bestimmte Sache benutzen.

    1. Hallo Fabian,
      ja, die Idee mit dem Raspberry Pi ist grundsätzlich gut, benötigt aber etwas Zeit.
      Wir überwachen mittlerweile unsere RZs mit den „Querx“ von Egnite (http://sensors.egnite.de) – und das funktioniert wirklich ganz hervorragend. Und noch dazu kann der Querx auch die Luftfeuchtigkeit messen, was auch sehr praktisch sein kann.

      Und mit „Querx“ ist nicht das kleinwüchsige Volk aus der Lausnitzer Sagenwelt gemeint ;.)

      Servus Markus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.