Da viele eine Node betreiben die auf einem Raspberry Pi basiert, wollte ich hier mal ein paar Anregungen zum Thema Monitoring droppen. Der Fokus liegt dabei auf technisch einfacher Realisierung.
Erstmal ist so ein Raspberry Pi ja „nur“ ein Computer bei dem man gewisse Parameter im Auge behalten sollte. Läuft beispielsweise der Speicherplatz voll stürzt der Rechner idR. ab. Dauerhaft hohe Auslastung spricht dafür, das zu viele Prozesse laufen oder „hängen geblieben“ sind. Zu hohe Temperaturen sind selbstredend ebenfalls nicht von Vorteil.
Ok, genug Einleitung, was kann man also machen? Man kann z.B. den RPi-Monitor installieren.
Damit hat man dann eine Website auf der man sich anschauen kann wie es dem Raspi gerade geht.
Man sieht die CPU-Auslastung, Systemtemperatur, RAM-Auslastung, Swap, SD-Karte, Festplatte, usw…
Praktisch ist auch das diese Daten geloggt werden und man die Entwicklung sieht.
Hier hab ich z.B. mal einen kleinen Lüfter vor den Raspi gestellt und sehe wie die Temperatur sinkt.
Man kann sehen wie sich Scripte ect. auf die Auslastung des Raspi’s auswirken und vieles mehr.
Ich denke es es klar geworden worauf ich hinaus will.
Wie bekommt man das auf den Raspi drauf?
Hier hat der Entwickler alles super beschrieben, aber letztendlich sind es folgende Schritte die man auf der Commandline als User admin ausführen muss:
1. RPi-Monitor Pub-key installieren
sudo apt-get install dirmngr
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F
2. RPi-Monitor ins Repository aufnehmen
sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list
3. RPi-Monitor installieren
sudo apt-get update
sudo apt-get install rpimonitor
4. Firewall-Port öffnen, damit ihr auf die Website zugreifen könnt
sudo ufw allow 8888 comment ‚rpimonitor‘
5. (Optional) Verfügbare Update packages anzeigen
sudo /etc/init.d/rpimonitor update
sudo /etc/init.d/rpimonitor install_auto_package_status_update
6. (Optional) gesendete/empfangene Datenmenge übers Netzwerk anzeigen
sudo nano /etc/rpimonitor/template/network.conf
hier alle Auskommentierungen entfernen (# weg) und dafür die Platzhaltertexte auskommentieren (# davor)
sieht dann so aus:
und auf der Website so:
7. Speicherverbrauch der externen Festpatte anzeigen
sudo nano /etc/rpimonitor/data.conf
gaaaaaanz nach unten scrollen und bei der Zeile
#include=/etc/rpimonitor/template/storage.conf
das # weg
danach mit
sudo nano /etc/rpimonitor/template/storage.conf das Template für die Festplatten öffnen und dort
alle Zeilen die irgendwas mit „storage2“ enthalten auskommentieren (# davor)
dann noch die ext2 Einträge auf ext4 ändern:
8. Änderungen an den Templates sichtbar machen
sudo service rpimonitor restart
9. (ganz Optional) Daten per JSON ausgeben und in anderen Systemen weiterverabeiten
unter http://ip_eurer_node:8888/static.json und http://ip_eurer_node:8888/dynamic.json werden die Daten im JSON Format bereitgestellt. So kann man sich das z.B. ins Monitoring oder in die Haussteuerung ect. integrieren.
Da kann man sich das nach Wunsch visualisieren
oder sich bei Überschreitung von Schwellwerten alarmieren lassen.
Weil ichs noch nicht erwähnt habe, die Monitoring-Seite ruft man mit http://ip_eurer_node:8888 auf.
Zwar kann der RPi-Monitor auch Services monitoren, aber das würde an dieser Stelle zu tief in die Materie führen. Da geht es schon damit los, das ein offener Port nicht gleich bedeutet das der Service dahinter auch funktioniert.
Um zu monitoren ob die Node von Außerhalb auch korrekt erreichbar ist, empfehle ich Dienste wie z.B. Bolt Observer .
Dort die Node registrieren und sich dann per Mail und/oder Telegram benachrichtigen lassen. Einfacher gehts eigentlich kaum.
So, da habt ihr wieder was zum spielen. Ich wünsch euch nen schönen Abend.
(Er hat frei gesprochen und viele Bilder verwendet )