Nachtrag Umstellung #FHEM #Filelog auf #DBlog
Ich habe grob überschlagen, in 3 Jahren wird die #Datenbank ein #Terabyte groß sein.
Und ich habe noch keinen schnellen Weg gefunden, VIELE, also S E H R viele Datensätze schnell zu löschen. An 30.000, also grob 3% knabbert #MariaDB schon seit ca. 30 min.
#fhem #filelog #dblog #datenbank #terabyte #mariadb
3. Akt der #FHEM-MIgration
#Filelog auf #DBlog umstellen.
Also das war kein Akt, das war ein Trauerspiel, eine furchtbare Kombination von Unwissenheit und Unverständlichkeit.
Zuerst die positiven Dinge: #MariaDB zu installieren war einfach, den FHEMUSER als Datenbankbenutzer anzulegen war einfach, aber vermutlich begannen da schon die Probleme. Die Tabellen anzulegen war trivial. Und das Umstellen in FHEM ein Klacks. Das Ergebnis war: FHEM sagte: verbunden. Gut. Dann kam ich auf die Idee in FHEM einen #configCheck zu machen. Und der meldete: nicht verbunden.
Versteh ich nicht.
Der state sagte connected und das Ergebnis meinte das Gegenteil.
Und wenn ich die kryptischen Aussagen auf der Kommandoebene von MariaDB richtig deutete, wurden auch keine Daten gespeichert.
Ich hab dann mal auf #asyncMode gestellt. Und dann ist der Cache explodiert.
Also das System will loggen, aber der Datenbankzugriff geht nicht.
Das hatte ich mir schon bei der Anlage des FHEMUsers gedacht.
Ich musste etwas komfortabler in das Datenbanksystem schauen. Auf Lala, dem Server, war #phpMyAdmin installiert. Aber der kann nur auf den Rechner schauen, auf dem er installiert ist. Abver da ich mit dem klarkomme, kam ich auf die Idee, das Tool auch auf Shinobu zu installieren (dem FHEM-Rechner).
Und das Drama begann.
phpMyAdmin wollte unbedingt den Apache-Webserver. Nunja, von mir aus. Im Zuge der Installation explodierte die Zahl der Datenbankbenutzer von zwei (root und FHEMuser) auf 5 oder 6. Keine Ahnung warum das so sein muss. Irgendwann ging es ans Editieren der Config-Dateien. Und spätestens hier war ich praktisch im Blindflug. Ich hatte keine Ahnung was ich da tat.
Aber es war erst einmal soweit erfolgreich, dass ich über Shinobu tatsächlich über phpMyAdmin auf die Tabellen zugreifen konnte.
Ein Teil meiner Konfiguration schien zwar kaputt gewesen zu sein, zwei dort angelegte User und deren Tabellen waren offensichtlich falsch.
Und dann traf ich die folgenschwere Entscheidung: Ich brauche zwei User: root und FHEM. Der Rest muss weg. Alle markiert und Entfernen geklickt. Dann wurde ich noch gefragt, ob auch deren Tabellen weg sollen, das bejahte ich. Und dann war plötzlich alles weg. Ich konnte in phpMyAdmin nichts mehr tun.
Also die allwissende Müllhalde, Google, befragt. Dort wurde mir nur bestätigt, was ich schon wusste, die mysql.db war weg. Und ich solle die wieder anlegen. Ging nicht, ich glaube ich habe in den nächsten Stunden alle möglichen Fehlermeldungen die das System erzeugen kann persönlich begrüßt.
Nicht einmal Deinstallieren und Neuinstallieren haben geholfen. Nur neue Fehlermeldungen suchten meine Bekanntschaft.
Irgendwann fand ich ein Posting das zumindest die Dauermeldung, irgendwas mit Socket, korrigierte und ich meinem root wieder Zugriff geben konnte.
Aber ich war jetzt so genervt, ich hab alles eliminiert: phpMyAdmin, Apache, MariaDB. Und ich habe die FHEM konfiguration auf Lala umgebogen. Denn da lief die Datenbank. Und das war ja der Ausgangspunkt: Mit dem RASPI3 (Chihiro) war das so langsam, dass FHEM nicht mehr bedienbar war. Naja, mit nur 1 GB war Chihiro aber auch wirklich sehr leichtgewichtig. Shinobu mit ihren 8 GB RAM war es egal. Man merkte nicht mal, dass auf einen anderen Server geloggt wurde.
Fazit: Die Investition in Shinobu, 149,-, war erfolgreich. Ich habe das Logging auf Datenbank umgestellt und es lief zufriedenstellend. Allerdings loggt er viel zu viel Müll.
Die erste Aktion ist also, den Umfang der zu loggenden Geräte/Readings zu reduzieren.
Blöd scheint nur zu sein, dass man keine kompletten Geräte bzw. Gerätegruppen ausschliessen kann, nur Readings. Ein #DbLogExclude mit ECHO_* geht also nicht. Aber in jedem Echo ein DbLogExclude mit *.*, welches alles Readings des Gerätes ausschliesst, geht. Nunja, ist ein Anfang.
Jetzt werden erst einmal die Plots umgestellt. Dann die Logs eingeschränkt und zum Schluss, der eigentliche Grund für die ganze Orgie, die Programmierungen, die dann nicht mehr auf die Geräte zugreifen soll, sondern auf die Log-Daten. Und das nur, um den Duty-Cycle der #CCU3 (ja, die hat keinen eigenen Namen) auf unter 20 zu drücken.
Bis dahin muss ich mir noch anschauen, wie ich mit #Perl auf Datenbanken zugreife.
Also langweilig wird mir so schnell nicht...
Die Einträge in den Logs sind über Nacht auf eine halbe Million angestiegen.
Lala merkt man das an. Sie reagiert deutlich langsamer als sonst. Das #NAS hat nur 2 GB Speicher. Sie nutzt swapping sehr exzessiv. Aber man soll sie ja auf 16 GB erweitern können...
*klickerdieklackerdieklick*
...bestellt...
#fhem #filelog #dblog #mariadb #configcheck #asyncmode #phpmyadmin #dblogexclude #ccu3 #perl #nas
2. Akt: #FHEM migrieren
Lange Rede kurzer Sinn: Nach etlichen Wirren, läuft es wieder.
Etwas nervig war, dass ich plötzlich nicht mehr per Sprache den ganzen Kram schalten konnte. Irgend wann ging ein Teil wieder, wie von Zauberhand. Und beim Rest hab ich entdeckt, das zwischenzeitlich bei den #Alexanamen nicht mehr das Semikolon der Trenner war, sondern das Komma.
Und bei den #Tasmota hab ich selbst vergessen, dass man in den Schaltern auch die Adresse anpassen muss. Nunja. Das schiebe ich mal auf "Uerfahrenheit mit #MQTT".
Die Umstellung von #Filelog auf #DBlog mach ich erst morgen. #MariaDB ist zumindest erst einmal installiert.
An #Debian nervt mich, dass das System bei Sudo alle paar Minuten das Passwort haben will. Das wollte #Raspbian nie. Naja, kann man ihm vielleicht auch noch abgewöhnen.
Ansonsten: war leicht aber nervig. Muss ich so schnell nicht noch mal haben.
Jetzt erst einmal Ruhe reinbekommen. #Alexa und #FHEM geben schon ein tolles Gespann ab!
Und es ist schon putzig, wie oft wir per Sprache schalten. Merkt man erst, wenn es nicht mehr geht.
#fhem #alexanamen #tasmota #mqtt #filelog #dblog #mariadb #debian #raspbian #alexa