Wie gehts meiner Node eigentlich?

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

image

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:
image

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
image
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
image
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. :grin:
(Er hat frei gesprochen und viele Bilder verwendet :stuck_out_tongue:)

27 „Gefällt mir“

Vielen Dank :+1: Kriege immer mehr Lust eine eigene Node zu betreiben :grin:

Ist natürlich schön mit der Grafik, aber ohne Raspi mache ich das so:

ssh myNode
$ top

Das sieht dann bei mir so aus:

top - 21:29:27 up 17 days,  8:20,  2 users,  load average: 0.75, 1.23, 1.38
Tasks: 545 gesamt,   1 laufend, 544 schlafend,   0 gestoppt,   0 Zombie
%CPU(s):  2.1 be,  0.7 sy,  0.0 ni, 96.5 un,  0.7 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Spch :  15882.5 gesamt,    627.5 frei,   6935.4 belegt,   8319.6 Puff/Cache
MiB Swap:   2048.0 gesamt,      0.6 frei,   2047.4 belegt.   8652.0 verfü Spch 

Mehr über top mit google: „top linux“.

Ja, das kann man natürlich alles machen. Man kann die Temperaturwerte mit sensors -j im JSON ausgeben, den Output in ne HTML umleiten und das per JSON-Decoder in IPSymcon einlesen und hat dann so nen Bild in der Haussteuerung.
image
Den Raid-Status kann man sich auch einfach per „mdjson“ rauslassen und weiterverarbeiten usw.

Aber das hat alles eines gemeinsam… die wenigsten können damit etwas anfangen und fühlen sich auf der Commandline dauerhaft wohl. Der Fokus liegt daher darauf das man einmal ein paar Befehle absetzt und danach nur noch eine Website bedienen muss. :slight_smile:

1 „Gefällt mir“

Trifft mich ziemlich gut :slightly_smiling_face:

Vielen Dank euch beiden. Natürlich würde ich mich gerne auch über die Commandline mit der Node unterhalten (können), ist nur leider nicht mein Fachgebiet :frowning:

Bei mir sieht es leider so aus. Mit Storage2 das Ausklammern hatte ich acuh schon gemacht, aber die Website kann mir den Speicher nicht anzeigen. Hätte da einer ne Idee?
image

Ansonsten vielen Dank für die Befehle und die Idee dazu kieselbert

was kommt wenn du
df -t ext4
eingibst? am besten schreib auch mal die Ausgabe von
df -h
noch dazu.

image

Deine Storage.conf sieht am Anfang so aus?


So sollte er das im Grunde dann verarbeiten können.
Ein sudo service rpimonitor restart hast da dann sicher schon gemacht, ohne das sieht man die Änderungen am Template nicht.

Ja sieht genau so aus. Habe Storage2 nun auch mal ausgeklammert. Die Anzeige bleibt leider fehlerhaft. Hatte bereits den Pi komplett neugestartet
image

Zeig’ doch mal, was genau in deiner Storage.conf drin steht, bitte.

Das stimmt nicht, sieht nicht genauso aus!

Simpler Fehler: aktive Zeilen, wo am Ende „ext2“ steht, muss „ext4“ stehen! Das sind zwei fehlerhafte Zeilen in deiner Storage.conf, wo dann die Regexp fehlschlägt und keine Zahlen findet, die dann durch 1024 geteilt werden können.
Ein „df -t ext2“ liefert dann als Ergebnis nur:

df: keine Dateisysteme bearbeitet

1 „Gefällt mir“

Top. Danke. Läuft. Hatte nach Syntaxfehlern etc gesucht. Aber totzdem komisch, dass die Werte nach einer Instalaltion falsch waren

1 „Gefällt mir“

Offenbar erkennt oder prüft die Installation nicht, welche Dateisysteme tatsächlich verwendet werden und passt die Konfigurationsdateien nicht automatisch an.

Ah mist, das hatte ich bei mir angepasst gehabt, aber nicht mehr auf dem Schirm. Sorry.
Jab das wird bei der Installation nicht automatisch ermittelt, man muss schauen was man für ein Dateisystem hat.
Hab das mal in die Anleitung mit aufgenommen. Den „klassischen“ RaspiNutzer mit externer HDD wird das ext4 Problem ja immer treffen.

4 „Gefällt mir“

Super Beitrag. Hat alles funktioniert :smile: :+1:

1 „Gefällt mir“