• Blog
  • Raspberry Pi
  • Über mich
  • Projekte
  • devowl.io

Raspberry Pi: Überwachen mit Monitoring

12. Dezember 2013
Raspberry Pi
41 Kommentare

Der Raspberry Pi ist übertaktet und soll im 24/7 Dauerbetrieb laufen. Wie man einen Stabilen Betrieb hinbekommt, haben wir uns schon im Artikel Stabiler 24/7 Dauerbetrieb angesehen. Jedoch ist es nicht verkehrt, Daten über den Raspberry Pi zu sammeln, um diese im Bedarfsfall analysieren zu können. Zum Anderen können solche Daten auch helfen, ein Frühwarnsystem zu bauen, dass z.B. Alarm schlägt, wenn der Raspberry Pi zu heiß wird. Im Folgenden werde ich zwei Monitoring Systeme benennen, zu welchen ich jeweils Installationsanleitungen verlinkt habe, und darauffolgend werden wir ein kleines Script einrichten, dass bei einer außergewöhnlichen Wärmeentwicklung eine E-Mail versendet.

Voraussetzung: Raspbian oder vergleichbare Distribution installiert

RPi-Monitor

Dieses kleine Programm ist ein, extra für den Raspberry Pi geschriebenes, Monitoring Tool. Neben dem Auslesen aktueller Werte des Raspberry Pis, schreibt es auch die CPU-, RAM-, SWAP- und Netzwerk-Auslastung wie auch die Prozessor Temperatur, Uptime und SD-Karten Nutzung mit und bereitet diese Daten in ein paar übersichtlichen Graphen auf. Der Funktionsumfang ist nicht der Größte, aber es erfüllt den Zweck, dass man sich die gesammelten Daten im Nachhinein ansehen kann.

Wie man RPi-Monitor installiert erklärte ich bereits hier im Blog.

Munin

Ein meines Wissens nach sehr weit verbreitetes Monitoring Tool ist Munin. Und das keines Wegs zu unrecht, denn dieses Tool hat, insbesondere weil es modular aufgebaut ist und damit einfach erweitert werden kann, einen wirklich großartigen Funktionsumfang. Im Gegensatz zu anderen Monitoring Tools ist die grafische Ausgaben jedoch eher funktional als eine Augenweide.

Wie man einen Munin Server auf dem Raspberry Pi installiert, wurde auf Pingbin (Englisch) erklärt. Die Vorgehensweise, wie man ein Plugin installiert, dass viele Werte aus dem Raspberry Pi ausließt, erklärte Jörg Bösche in seinem Blog.

Nachdem wir nun zwei Lösungen zum Monitoring auf längere Dauer kennen, sollten wir ein Script einrichten, dass im Fall einer Überhitzung des Raspberry Pis direkt eine E-Mail an uns versendet. Natürlich könnte man auch Scripts schreiben, die in anderen Fällen Alarm schlagen, jedoch denke ich, dass die Überhitzung des Raspberry Pis das größte Problem ist, dass auftreten kann. Im Folgenden beziehen wir uns auf die Angabe des Prozessor Temperatur Sensors.

Step 1

Zunächst legen wir folgendes Script auf dem Raspberry Pi z.B. im Home-Verzeichnis des Benutzers pi ab. Dabei müssen wir die Variablen smtpHost (Adresse des SMTP-Servers), smtpPort (Port des SMTP-Servers), smtpUser (SMTP-Benutzername), smtpPassword (Passwort des SMTP-Benutzers), mailSender (Absender der E-Mail), mailReceiver (Empfänger der E-Mail) und criticalTemperature (CPU Temperatur ab der eine E-Mail versendet werden soll) anpassen. Die E-Mails werden dann über ein SMTP-Account versendet (möglichst das der Absender E-Mail-Adresse), sodass sie möglichst nicht in Spam-Filtern hängen bleiben. In dem Editor nano kann man mittels STRG + X, Y und Enter speichern.

nano monitoring-cpu-temp.py

import os
import smtplib
import time
from email.mime.text import MIMEText

### Settings
# SMTP
smptHost = "smtp.example.de"
smtpPort = 587
smtpUser = "[email protected]"
smtpPassword = "thisisapassword"

# E-Mail
mailSender = "[email protected]"
mailReceiver = "[email protected]"

# Warning
criticalTemperature = 60 # in degree celsius
###

date = "%02i.%02i.%04i" % (int(time.localtime()[2]), int(time.localtime()[1]), int(time.localtime()[0]))
time = "%02i:%02i:%02i" % (int(time.localtime()[3]), int(time.localtime()[4]), int(time.localtime()[5]))

def getCPUtemperature():
    res = os.popen('vcgencmd measure_temp').readline()
    return(res.replace("temp=","").replace("'C\n",""))

tempFloat = float(getCPUtemperature())

if (tempFloat > criticalTemperature):
    server = smtplib.SMTP(smptHost, smtpPort)
    # server.starttls() # If TLS authentication should be used remove the hash at start of line
    server.login(smtpUser, smtpPassword)

    value = "Die aktuelle Temperatur des Raspberry Pi liegt bei " + str(tempFloat) + " Grad Celsius." + "\n" + "Zeit: " + time + " am " + date
    msg = MIMEText(value)
    msg['Subject'] = "[Warning] Rasperry Pi Temperatur " + str(tempFloat) + " Grad!"
    msg['From'] = mailSender
    msg['To'] = mailReceiver
    server.sendmail(mailSender, mailReceiver, msg.as_string())
    server.quit()
Step 2

Nun legen wir einen Cronjob an, der alle fünf Minuten das Script ausführt. Dadurch wird alle fünf Minuten die Temperatur des Raspberry Pis überprüft und gegebenenfalls eine Warnung per E-Mail versendet.

crontab -e

*/5 * * * * python monitoring-cpu-temp.py >/dev/null 2>&1

Wir kennen nun zwei Systeme um ein Monitoring des Raspberry Pis über längere Zeit durchzuführen und haben ein Warnungssystem eingerichtet, welches Alarm schlägt sobald sich der Raspberry Pi überhitzt.

Quelle: Python Script modifiziert von Alex Bloggt

41 Kommentare. Hinterlasse eine Antwort

  • David K
    Dezember 14, 2013 2:12 pm

    Hallo,

    alle 3 Programme/Scripte funktionieren sehr gut bei mir. Allerdings stört es mich etwas, dass in dem monitoring-cpu-temp Script das Passwort im Klartext gespeichert werden muss. Gibt es dafür eine andere Lösung, die mit Hash Werten arbeitet? Oder evt. über die Shadow-Datei o.ä.?

    Vielen Dank für die Antwort!
    David

    Antworten
    • Jan Karres
      Dezember 15, 2013 12:35 pm

      Könnte man machen. Die Frage ist nur was es bringt, denn im Endeffekt müsste das Script das Passwort wieder entschlüsseln können um es zum verbinden zu verwenden. Entsprechend wäre das nur Mehraufwand, der nicht wirklich etwas bringt. Tipp: Lege dir für solche Scripts einfach ein eigenes Mail Account an 😉

      Antworten
    • Leon
      April 2, 2014 2:23 pm

      Ansonsten kannst du es ja etwas schützen mit chmod 660 monitoring-cpu-temp.py

      Antworten
  • Markus
    Dezember 15, 2013 4:39 pm

    Also irgendwas ist bei mir dabei falsch gelaufen denke ich. Zunächst hat alles funktioniert und hab das image gesichert. Danach habe ich noch andere Sachen getestet was nicht funktioniert hatte. Nachdem ich nun das image mit dem monitoring wieder laden wollte ist der pi nicht hoch gefahren. irgendwas mit keine root rechte glaube ich kam.
    Jetzt hab ich das image vor dem monitoring geladen und er läuft wieder.

    Werde denke ich das ganze nochmal versuchen und dann schauen ob dann alles geht oder nicht.

    ps. das mit dem passwort in klartext finde ich auch nicht so schön. hab mir daher auch gleich ne eigene mailadresse für den pi angelegt.

    Antworten
    • Jan Karres
      Dezember 15, 2013 5:35 pm

      Andere Möglichkeit wäre das Passwort verschlüsselt mit dem Schlüssel zum entschlüsseln dort reinzuschreiben (was folglich keinen Sicherheitsmehrwert bring), da du ja nicht immer beim versenden der E-Mail das Passwort zum entschlüsseln des Passwortes eingeben möchtest, oder? 😉

      Antworten
  • Franz
    Januar 9, 2014 8:50 pm

    Hi Jan,
    ich schaue öfter mal hier rein wegen der Artikel über den RasPi. Danke dafür! Die kontinuierliche Überwachung der Temperatur geht aber einfacher. Ein einfaches Bash-Script tut es:

    #!/bin/bash

    temp=$(cat /sys/class/thermal/thermal_zone0/temp)
    tempC=$(echo $temp/1000 | bc -l | sed -e 's*00000000000000000**')
    prozesse=$(ps -Aeo "%C %c" | awk '{ if (int($1) > 1) { print $0 } }')

    if (test "$temp" -ge 65000) && (test "$temp" != 85000)
    then
    echo -e "CPU-Temperatur $temp Grad\n%CPU Prozess\n$prozesse" | mail -s "Warnung: RasPi - CPU ist $temp Grad warm!" [email protected]
    fi

    Alles nach „echo“ ist eine Zeile. Was macht das Script? In der ersten Zeile wird die Temperatur ausgelesen und in der Variable temp festgehalten. Die Temperatur wird in Milligrad ausgelesen, 65 Grad Celsius wären also 65000. In der Variable tempC wird das in Grad Celsius umgerechnet, der Ausdruck nach sed schneidet die überflüssigen Nullen der Rechenoperation ab.

    Die nächste Zeile überschlagen wir zunächst. Dann wird mit der Zeile if … der Grenzwert festgelegt – hier 65 Grad. Wenn temp also größer oder gleich (ge steht für greater equal) 65000 ist, wird eine Mail verschickt (then echo …) Der Inhalt der Mail kann angepasst werden. Hier zunächst die Warnmeldung mit der Temperatur (tempC), dann ein Zeilenumbruch (\n) und dann noch eine Auflistung der Prozesse, die mehr als 1 Prozent Prozessorlast verursachen. Diese Prozesse werden mit der dritten Zeile des Scripts ausgelesen (Variable prozesse). So kann man dann den Übeltäter für die Temperatursteigerung finden. Nach -s steht das Subject der Mail, welches natürlich auch angepasst werden muss und natürlich die Mail-Adresse.

    Das Testkriterium (Zeile if …) enthält noch „&& (test „$temp“ != 85000)“ – wozu das? Das habe ich nachträglich eingefügt, weil ich von Zeit zu Zeit Meldungen bekommen habe, dass die Temperatur exakt 85 Grad beträgt. Wenn die Temperatur 5 Minuten davor noch normal und fünf Minuten später ebenfalls normal ist, die Temperatur immer exakt 85,000 Grad ist, und keine auffällig hohe Prozessorlast vorhanden ist, muss das ein Fehlalarm sein. Also wird eine Temperatur von exakt 85 Grad keine Mail auslösen.

    Statt 40 Zeilen Python-Code sind es einfache 10 Zeilen. Das Ganze wie von Dir beschrieben alle 5 Minuten von Cron aufgerufen. Eine Mailkonfiguration können wir uns sparen, denn ein fertig konfigurierter MTA ist in den meisten Fällen sowieso schon da.

    Antworten
    • Jan Karres
      Januar 11, 2014 1:41 pm

      Bzgl. Mail: Wenn dein Mail Client/Server jedoch einen Spam Check auf MX Records hat (z.B. Gmail) ist der von dir verwendete Mailversand von Nachteil, da die Mail mit hoher Wahrscheinlichkeit im Spamfilter hängen bleibt. Ansonsten auch eine gute Lösung – wobei ich nicht glaube, dass es nicht wirklich relevant ist ob es ein paar Zeilen mehr oder weniger sind 😉

      Antworten
      • Franz
        Januar 11, 2014 2:00 pm

        Der MTA (meist Postfix, aber auch Sendmail, Elim, ich verwende SSMTP) soll ja nicht selbst die Mail versenden, sondern als „Satellit“ arbeiten. Er verschickt die Mail also an meinen regulären SMTP-Server, z.B. von Googlemail, GMX, etc. Da sollte also kein Problem mit dem MX Record/MX Resource Record/SPF auftreten. Bei mir persönlich gibt es keine Probleme.

        Richtig, ob 10 oder 40 Zeilen Code ist nicht tragisch, wobei 10 Zeilen irgendwie übersichtlicher sind. Aber für mich noch wichtiger: Das von Dir gebrachte Script macht eine unverschlüsselte SMTP-Verbindung auf. Hier gehen nicht nur die Nachricht, sondern auch Benutzername und Passwort auch im Klartext über die Leitung. Das muss nicht sein. Wenn ich einen der oben genannten MTAs verwende, kann ich auch TLS-verschlüsselte Verbindungen zum Mailserver aufbauen. Ob die verwendete Python-Bibliothek smtplib das auch kann, weiß ich nicht. Wenn, dann wäre das eine Ergänzung wert.

        Antworten
        • Franz
          Januar 11, 2014 2:45 pm

          Und noch eine Ergänzung: Ich habe gerade von meinem Pi aus eine Mail erfolgreich über smtp.googlemail.com verschickt. Kein Problem mit Spam-Verhinderung.

          Antworten
        • Jan Karres
          Januar 12, 2014 12:51 am

          Deine Methode bedarf meines Wissens nach dann aber weiteren Einrichtungen im System und die Anleitung sollte möglichst „easy to use“ sein. Habe deinen Verbesserungsvorschlag mit TLS mal aufgenommen und das Script entsprechend angepasst. Danke!

          Antworten
          • Franz
            Januar 12, 2014 10:36 am

            Es bedarf lediglich eines konfigurierten MTA. Wie ich schon schrieb, wird das oft schon vorhanden sein. Wenn nicht, hast Du natürlich Recht. Andererseits komme ich ohne Munin oder RpiMonitor aus.

          • Leon
            April 2, 2014 2:30 pm

            Ja aber Postfix können die wenigsten wirklich konfigurieren. Wählt jemand aus Unwissenheit „Internet Site“ kann das jammern schon groß sein.

            Grundsätzlich ist es aber wie du sagst eine gute Alternative, da man ja bei „Satellite System“ alle ausgehenden Emails über einen Smarthost verschickt. (GMX, Web oder was auch immer) Bei Smarthost muss man je nach Anbieter noch das eine oder andere beachten.

          • Franz
            April 2, 2014 4:47 pm

            Völlig richtig, Postfix ist ein Monster. Glücklicherweise gibt es da keine Default-Einstellung, bei der Installation wird man gefragt, welchen Modus man verwenden möchte. Dann sollte man sich schon Gedanken machen und nicht „irgendwas“ anklicken. Wie ich schon schrieb: Ich verwende SSMTP, das ist wirklich einfach einzurichten. Vorteil eines funktionierenden MTA ist, dass ich den für verschiedene Zwecke verwenden kann, z.B. auch für die Mails von cron. Nutze ich das py-Script und keinen MTA, kann nur das Script Mails versenden. Aber gut, viele Wege führen nach Rom, jeder muss seinen eigenen finden.

    • jan
      Oktober 27, 2014 8:20 pm

      @franz: was ist bc in Zeile 4? Wird bei mir angemeckert. SSMTP konnte ich in 2 Minuten gem http://www.raspberry-projects.com/pi/software_utilities/email/ssmtp-to-send-emails zum laufen bringen, das ist wirklich auch für mich Anfänger super easy. Um einen gmail-Account zu nutzen, musste ich lediglich unter https://www.google.com/settings/security/lesssecureapps genehmigen, dass Programme sich mit weniger sicheren Methoden anmelden dürfen – kein Problem bei einer dedizierten E-Mail-Adresse.

      Antworten
      • Jan Karres
        November 1, 2014 12:57 am

        Das Programm bc ist eine interaktive Algebrasprache.

        Antworten
      • Franz
        November 1, 2014 5:49 pm

        Hm, ich hatte hier geantwortet, die Antwort ist weg. Nun denn. Ich hatte bc als Rechner bezeichnet, ist etwas einfacher als „interaktive Algebrasprache 🙂 bc bezeichnet sich selbst als „The GNU bc arbitrary precision calculator language“ und ist in den Paketquellen enthalten. sudo apt-get install bc installiert es. Ich setze es in dem Script nur ein, um die Ausgabe in Milligrad in Grad umzurechnen, damit mir die Temperatur korrekt im Mail-Subject angegeben wird. Grundsätzlich ist es hier verzichtbar und dient nur der Kosmetik.

        Antworten
    • Stefan
      Mai 24, 2015 11:06 pm

      Hallo Franz,
      im Mailtext + Mailbetreff steht die falsche Variable drin, mit $tempC wirds richtig in °C ausgegeben.
      Eine Prima Lösung, grade wo ich vorher einen MTA installiert hatte…

      Antworten
      • Franz
        Mai 25, 2015 6:15 pm

        Hallo Stefan,

        ja, völlig richtig. Da habe ich mich verschrieben.

        Antworten
        • Martin
          Juni 26, 2015 11:58 am

          Hallo

          Dein Script funktioniert super, nur werden bei mir die Prozesse nicht angezeigt, es steht bei mit %CPU Prozess und dann nichts mehr, wie kann ich das beheben?

          Danke

          Antworten
          • Franz
            Juni 26, 2015 2:13 pm

            Hm, schwer zu sagen auf die Entfernung. Sieht so aus, als würden die Variablen nicht richtig abgefragt.

            Funktionieren denn die Befehle:

            cat /sys/class/thermal/thermal_zone0/temp
            ps -Aeo „%C %c“ | awk ‚{ if (int($1) > 1) { print $0 } }‘

  • Raspberry PI als Mediacenter mit USB-Festplatte | splitt-it.de
    Mai 3, 2014 12:49 pm

    […] Ich habe immer den Wunsch jegliches System so ordentlich wie möglich zu überwachen. Da ich den RPi ja auch als “NAS” verwende, habe ich entsprechende Programme/Scripte gesucht. Ein schickes Script die Temperatur zu überwachen findet Ihr inkl. Anleitung hier: https://jankarres.de/2013/12/raspberry-pi-ueberwachen-mit-monitoring/ […]

    Antworten
  • Broken_Mind
    Juli 2, 2014 11:10 pm

    Hallo,
    ich habe mich mit dem Python Script versucht. Ich bekomme aber folgende Fehlermeldung:

    Traceback (most recent call last):
    File „/home/pi/GUI/GUI-Test_mail.py“, line 84, in
    server.sendmail(mailSender, mailReceiver, msg.as_string())
    File „/usr/lib/python2.7/smtplib.py“, line 722, in sendmail
    raise SMTPSenderRefused(code, resp, from_addr)
    smtplib.SMTPSenderRefused: (550, ‚Requested action not taken: mailbox unavailable\nInsufficient security or privacy level.‘, ‚[email protected]‘)

    Ich nutze Web.de Weiß jemand was dies bedeutet?

    Antworten
    • Franz
      Juli 2, 2014 11:43 pm

      Hast Du Zeile 32 im Script auskommentiert? Kann sein, dass web.de zwingend verschlüsseln möchte.

      Antworten
      • Kevin
        November 5, 2015 12:23 pm

        Hey, mein Fehler lautet wie folgt:

        Traceback (most recent call last):
        File “monitoring-cpu-temp.py”, line 26, in
        server = smtplib.SMTP(smptHost, smtpPort)

        File “/usr/lib/python2.7/smtplib.py”, line 249, in _init_
        (code, msg) = self.connect(host, port)
        File “/usr/lib/python2.//smtplib.py”, line 309, in connect
        self.sock = self._get_socket(host, port, self.timeout)
        File “/usr/lib/python2.7/smtplib.py”, line 284, in _get_socket
        return socket.create_connection((port, host), timeout)
        File “/usr/lib/lib/python2.7/socket.py”, line 571, in create_connection
        raise err

        socket.error: [Errno 110] Connection timed out

        kann mir da jemand weiterhelfen.

        Danke

        Antworten
  • Raspberry Pi & IFTTT – Temperaturtracking via Push | EE Webdesign | designeer.de
    August 31, 2014 10:01 am

    […] Grundidee vom Skript: JanKarres […]

    Antworten
  • Satras
    November 4, 2014 4:21 pm

    Du könntest das noch anpassen das es über PushBullet läuft 🙂

    Das würde mir gefallen.

    Antworten
    • Jan Karres
      November 9, 2014 1:14 am

      Python ist nicht so meine Stärke, weshalb das in nächster Zukunft auf jeden Fall nicht passieren wird 😛

      Antworten
  • Philipp
    Dezember 11, 2014 11:37 am

    Hab zum Test mal die Warnungs-Temperatur auf 30 Grad gestellt und keine Mail bekommen. Das Script habe ich dann per Hand ausgeführt und folgende Meldung erhalten:

    Traceback (most recent call last):
    File „monitoring-cpu-temp.py“, line 20, in
    date = „%02i.%02i.%04i“ % (int(time.localtime()[2]), int(time.localtime()[1]), int(time.localtime()[0]))
    NameError: name ‚time‘ is not defined

    Was ist denn da falsch gelaufen?

    Wäre super, wenn mir ja jemand helfen könnte!

    Grüße
    Philipp

    Antworten
    • Jan Karres
      Dezember 22, 2014 6:35 pm

      Evl. ist etwas beim Kopieren des Scriptes schief gegangen? Ich würde es einfach versuchen noch einmal anzulegen.

      Antworten
  • alicedeh
    Juli 24, 2015 5:29 pm

    Hallo Grüße,

    ich habe hier folgende Probleme:

    ### Settings
    # SMTP
    smptHost = „Gmail.com“
    smtpPort = 587
    smtpUser = „???“ Username oder meine email-adresse?
    smtpPassword = „???“ Meine ganz normale Gmail-Daten?

    # E-Mail
    mailSender = „[email protected]“
    mailReceiver = „[email protected]“

    Wäre es so korrekt?
    Wenn ich das Skript starte kommt keine Fehlermeldung. Es beendet sich aber nicht und es wird keine email gesendet. Habe de´n kritischen Wert extra auf 2°C gesetzt um sicher zu gehen.

    Muss ich für das Skript noch eine Portweiterleitung am Raspberry oder an meinem Router vornehmen?

    Ich hoffeihr könnt mir helfen.

    cia

    Antworten
    • Jan Karres
      August 3, 2015 11:38 pm

      Du musst im Falle von Google Mail deine ganz normalen Zugangsdaten angeben. Portweiterleitungen sind nicht notwendig.

      Antworten
  • Willi
    August 27, 2016 8:22 am

    Vielen Dank für das Skript!
    Super, läuft auf anhieb.

    Wird hier jetzt eigentlich Nutzername und Passwort im Klartext übertragen?

    Gruß

    Antworten
    • Franz
      August 30, 2016 2:33 pm

      Das Script arbeitet so wie dargestellt unverschlüsselt. Benutzername und Passwort gehen also im Klartext über die Leitung. Wenn Du in Zeile 32 das „# “ am Anfang entfernst, arbeitet es per TLS verschlüsselt (ich habe es nicht gestestet).

      Antworten
      • Willi
        August 30, 2016 6:26 pm

        Ah, Danke.
        Es geht. Jedenfalls werden Emails versendet.

        Antworten
        • Franz
          August 30, 2016 10:38 pm

          Ob die Mails verschlüsselt verschickt werden, kannst Du in den Kopfzeilen der Mail nachschauen. Dort müssten sich Zeilen wie:

          Received: from [111.222.33.44] (helo=domain.de)
          by smtpserver.provider.de with esmtpsa (TLSv1:AES128-SHA:128)

          finden.

          Antworten
          • Willi
            August 31, 2016 10:44 am

            So etwa? 🙂

            from [127.0.1.1] (u78A7K5CD.dip0.adresse.de [IP]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by -xxxxxserver.de (Postfix) with ESMTPSA id 4A07CA126 for … datum usw

  • Franz
    August 31, 2016 11:01 am

    Das sieht doch gut aus. So einfach kann das Leben sein 😉

    Antworten
  • Gabriel
    Januar 8, 2017 1:27 am

    Hallo zusammen,
    was muss ich tun, wenn bei der Ausführung des Scripts folgender Fehler auftritt:

    Traceback (most recent call last):
    File „monitoring-cpu-temp.py“, line 33, in
    server.login(smtpUser, smtpPassword)
    File „/usr/lib/python2.7/smtplib.py“, line 585, in login
    raise SMTPException(„SMTP AUTH extension not supported by server.“)
    smtplib.SMTPException: SMTP AUTH extension not supported by server.

    Vielen Dank im Vorraus
    LG

    Antworten
    • Franz
      Januar 8, 2017 6:55 pm

      Tante Google spuckt zu Deiner Fehlermeldung eine Menge aus. Versuche mal nach Zeile 31 im Script

      server.connect(„smtp.example.com“,465)

      Antworten
  • Manuel
    August 16, 2017 7:28 am

    Hallo Jan,

    gibt es eine möglichkeit das Script zu testen, weiß gerade nicht ob es auch richtig läuft.

    Antworten
  • Raspberry PI als Mediacenter mit USB-Festplatte
    Mai 6, 2020 12:01 am

    […] Ich habe immer den Wunsch jegliches System so ordentlich wie möglich zu überwachen. Da ich den RPi ja auch als „NAS“ verwende, habe ich entsprechende Programme/Scripte gesucht. Ein schickes Script die Temperatur zu überwachen findet Ihr inkl. Anleitung hier: http://jankarres.de/2013/12/raspberry-pi-ueberwachen-mit-monitoring/ […]

    Antworten

Schreibe einen Kommentar Antworten abbrechen

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

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Jan Karres
Jan Karres
Wirtschaftsinformatiker
Facebook
Twitter
YouTube
LinkedIn
Xing
GitHub

Themen

  • Blogging
  • Debian (Linux)
  • Eine Geschichte aus dem Leben des Jan
  • Fotos
  • Gaming
  • Gedanken
  • Linksammlungen
  • Privates
  • Projekte
  • Raspberry Pi
    • Einplatinencomputer (außer Raspberry Pi)
  • Schule und Studium
  • Tipps und Tricks
  • Videos
  • Vorgestellt
  • WordPress

Projekte

Dieser Blog ist meine kleine Base im Internet, in der ich über Themen schreibe, die mich persönlich beschäftigen. Abseits davon habe ich weitere Projekte im Netz, die teils aus Spaß entstanden, jedoch zum Teil auch meinen Kühlschrank füllen.

Alle Projekte

JanKarres.de © 2007-2022

Neueste Beiträge

  • Raspberry Pi: WLAN Access Point mit NordVPN (VPN Router) einrichten Dezember 5, 2020
  • Real Cookie Banner: Wie das Opt-in Cookie Banner für WordPress entstand November 18, 2020
  • Blog Setup erneut: Aufräumen einer kleinen Historie Oktober 13, 2020
  • devowl.io: Auf geht’s in das WordPress Business! März 10, 2020
  • Kuschelpartys: Nähe und Geborgenheit einfach erleben September 30, 2018

devowl.io

Meine Brötchen verdiene ich im Internet. Dazu habe ich gemeinsam mit meinem Kollegen Matze die devowl.io GmbH gegründet. Gemeinsam entwickeln und vertreiben wir in unser Plugins und Entwickler-Tools im WordPress Umfeld.

Mehr erfahren
  • Datenschutzerklärung
  • Impressum