FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: EliDu am 08 Dezember 2015, 18:56:49

Titel: DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: EliDu am 08 Dezember 2015, 18:56:49
Hi, ich bin gerade dabei FHEM auf einem Raspberry Pi 2 aufzusetzen und möchte von Anfang an DbLog einsetzen. Ich würde am liebsten MySQL auf dem Raspi2 als Datenbankserver nutzen, da ich ein paar Tools zur Datenauswertung parallel zu FHEM laufen lassen will. Die Frage ist aber, ob MySQL auf einem Raspi 2 nicht zu viele Ressourcen verschligen würde und ich besser Sqlite nehmen sollte. Auf meinem alten Raspi 1 B+ verbraucht FHEM in Ruhe unter 10% CPU, geht dann aber schnell mal auf 100% wenn zB das Webinterface aufgerufen wird. Hat jemand Erfahrungen mit der Kombi Raspi2+FHEM+DbLog+MySQL?
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: dev0 am 08 Dezember 2015, 20:31:34
Es gibt viele Beiträge und Meinungen dazu. Such einfach im Forum.
zB http://forum.fhem.de/index.php/topic,45296.0/topicseen.html
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: EliDu am 08 Dezember 2015, 20:55:19
Danke für den Link. Ich hatte schon hier im Forum gesucht bzw gegoogelt, aber es findet sich leider wenig dem speziellen Setup. Daher hoffe ich, dass jemand sowas schon mal aufgesetzt hat und seine Erfahrungen berichtet.
Titel: DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: dev0 am 08 Dezember 2015, 21:15:21
Ob es ordentlich funktioniert hängt mMn eher von sinnvollen Logeinstellungen als von der Hardware / Logtyp ab.
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: EliDu am 08 Dezember 2015, 22:34:37
Das stimmt auf jeden Fall, werde das so weit einschränken wie es geht. Habe jetzt MqSQL laufen und eine jungfäuliche FHEM Installation loggt damit. Bisher merkt man keinerlei Unterschied zu Sqlite oder Textdatei-Logs - kommt aber natürlich auch kaum was an Events rein. Das Schöne ist, dass jetzt komfortabel über Netzwerk auf den Datenbankserver zugegriffen werden kann. Die Zugriffe scheinen dem Raspi2 nicht schwer zu fallen. Mal schauen ob das dann immer noch einigermaßen performant ist wenn die Datenmengen größer werden.
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: dev0 am 09 Dezember 2015, 08:00:58
Zitat von: EliDu am 08 Dezember 2015, 22:34:37
werde das so weit einschränken wie es geht.
Man muss sich einfach nur überlegen ob man z.B. Temperaturwerte wirklich im Minutentakt braucht oder ob 15 Minuten nicht auch ausreichend sind. Es mag Situationen geben, in denen man minutengenaue Daten, zumindest von den letzen Tagen, gerne hätte. Dazu könnte man dann eine 2. dblog Instanz aufsetzen, die dann zusätzlich loggt, aber die Daten nach x Tagen verwirft. Es gibt wohl mittlerweile auch die Möglichkeit Daten mit dblog im Nachhinein auszudünnen. Das mag nützlich sein, wenn man z.B. Wetterdaten der letzten 10 Jahre aufheben möchte und doch im Minutentakt aufgezeichnet hat.
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 09 Dezember 2015, 09:16:15
gibts da ne gescheite anleitung? best practice?
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: dev0 am 09 Dezember 2015, 09:46:05
Was fehlt Dir denn an Informationen, die nicht in der command reference zu finden sind?
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 09 Dezember 2015, 11:35:09
WO müsste ich denn lesen - das hier?
http://fhem.de/commandref_DE.html#DbLog
Das Problem ist eher davor auf die raspi ne saubere sql zu bekommen
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: marvin78 am 09 Dezember 2015, 11:35:58
Dazu hilft dir google sehr gut. Gefühlt gibt es 20000 Anleitungen.
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 09 Dezember 2015, 11:52:23
ja dann sind wir wieder hier http://forum.fhem.de/index.php/topic,45369.msg371955.html#msg371955
best practice. Dafür ist das Forum ja da, dass einer sagt so und so wäre es für raspi und fhem am besten
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: marvin78 am 09 Dezember 2015, 11:56:27
Dann bin ich raus. Warum soll ich nochmal aufschreiben, was schon geschrieben steht? ;)

MySQL installieren und konfigurieren geht nach Standardvorgehensweise (im Web tausendfach beschrieben). Zu DBLog gibt es dann im Wiki und hier im Forum sehr viel. Auch die commandref zu DBLog ist sehr gut geschrieben.
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 09 Dezember 2015, 12:02:03
ok also reicht sudo apt-get install mysql-server mysql-client php5-mysql
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: marvin78 am 09 Dezember 2015, 12:03:57
Ja.
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: EliDu am 09 Dezember 2015, 21:55:54
Da ich mir gerade selber die Vorgehensweise gegoogelt und aufgeschrieben habe ist hier meine kleine Anleitung für Raspbian+DbLog+MySQL:
##### setup mysql:
# install mysql on raspbian
sudo apt-get mysql-server

##### in mysql:
#setup database and tables
CREATE DATABASE `fhem` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE TABLE `fhem`.`history` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
CREATE TABLE `fhem`.`current` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
CREATE INDEX Search_Idx ON `fhem`.`history` (DEVICE, READING, TIMESTAMP);
# check
show databases;
use fhem;

# create user and set access rights
CREATE USER 'fhemuser'@'%' IDENTIFIED BY 'mypwd';
GRANT SELECT, INSERT, DELETE, UPDATE ON `fhem`.* TO 'fhemuser'@'%';

exit;

#### back in raspbian:
sudo service mysql restart


##### setup fhem:
# create db_mysql.cnf , adjust chmod if necessary
%dbconfig= (
    connection => "mysql:database=fhem;host=127.0.0.1;port=3306",
    user => "fhemuser",
    password => "mypwd",
);

# in fhem.cfg
define logdb DbLog ./db_mysql.conf .*:.*
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: EliDu am 09 Dezember 2015, 22:03:52
Zitat von: masterpete23 am 09 Dezember 2015, 12:02:03
ok also reicht sudo apt-get install mysql-server mysql-client php5-mysql

ist mehr als ausreichend, eigentlich braucht man nur mysql-server zu installieren
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 09 Dezember 2015, 22:07:10
wie connectest du von wo auf deinen mysql server um das abzusetzen?
##### in mysql:
#setup database and tables
CREATE DATABASE `fhem` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE TABLE `fhem`.`history` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
CREATE TABLE `fhem`.`current` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
CREATE INDEX Search_Idx ON `fhem`.`history` (DEVICE, READING, TIMESTAMP);
Titel: DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: dev0 am 09 Dezember 2015, 23:13:52
Lokal auf dem Rechner: mysql -uroot -p
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 09 Dezember 2015, 23:34:30
Kann ich da auch copy n Paste via putty ohne Probleme machen?
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: dev0 am 09 Dezember 2015, 23:38:34
Ja.
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 10 Dezember 2015, 10:03:29
ok
habe etwas geschafft aber manches nicht.

sql installiert und konfiguriert check
conf datei gefüllt - ja (aber evtl falsch)
nachdefine logdb DbLog ./db.conf .*:.*
kam 5 mal
2015.12.10 08:26:21 3: Connecting to database mysql:database=fhem;host=127.0.0.1;port=3306 with user fhem
Danach ist fhem abgestürzt

Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: dev0 am 10 Dezember 2015, 10:25:44
Dann ist die db.conf nicht korrekt oder die Berechtigungen der DB nicht ok.
Verbinde Dich mal mit dem mysql client mit der DB:
mysql -u<dein-fhem-user> -p
use <deine-db>;
SELECT * FROM histoty;
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 10 Dezember 2015, 14:14:56
Geht nicht Ohne - p komm ich rein aber mit Passwort nicht. Werde nochmal die dB droppen heute abend

Gesendet von meinem Huawei Honor 7

Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: EliDu am 10 Dezember 2015, 14:33:28
Zitat von: masterpete23 am 10 Dezember 2015, 10:03:29
ok
habe etwas geschafft aber manches nicht.

sql installiert und konfiguriert check
conf datei gefüllt - ja (aber evtl falsch)
nachdefine logdb DbLog ./db.conf .*:.*
kam 5 mal
2015.12.10 08:26:21 3: Connecting to database mysql:database=fhem;host=127.0.0.1;port=3306 with user fhem
Danach ist fhem abgestürzt



falls du es wie in der anleitung angelegt hast sollte der user 'fhemuser' heißen, nicht 'fhem'
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: dev0 am 10 Dezember 2015, 14:45:34
Zitat von: masterpete23 am 10 Dezember 2015, 14:14:56
Geht nicht Ohne - p komm ich rein aber mit Passwort nicht. Werde nochmal die dB droppen heute abend
Dann hast Du wahrscheinlich beim "CREATE USER" den "IDENTIFIED BY" Parameter nicht (richtig) angegeben. Lies dich noch ein wenig in mqsql ein, dann klappt das schon. Du fährst ja auch kein Auto ohne Führerschein - hoffe ich zumindest ;)
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 10 Dezember 2015, 14:47:46
Ja denke ich auch. Nachher wenn Zeit ist.
Logt fhem weiter in files wenn ich nur das dblog define? Oder stellt er dann sofort um?
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: dev0 am 10 Dezember 2015, 14:53:04
DBLog ist ein Modul wie FileLog auch, die nichts von einander wissen und unabhängig voneinander funktionieren.
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 10 Dezember 2015, 20:14:50
also befehle nun mit fhemuser und password ausgeführt - login nicht möglich
root@raspi3:~# mysql -u fhemuser -p
Enter password:
ERROR 1045 (28000): Access denied for user 'fhemuser'@'localhost' (using password: YES)

mysql> CREATE USER 'fhemuser'@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT SELECT, INSERT, DELETE, UPDATE ON `fhem`.* TO 'fhemuser'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on fhem.* to fhemuser@'localhost';
Query OK, 0 rows affected (0.00 sec)

wo ist der fehler?
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: EliDu am 10 Dezember 2015, 20:29:45
als passwort für den user 'fhem' wurde 'password' gesetzt (in der anleitung war es 'mypwd'), damit klappt es nicht?

in meiner anleitung war übrigens  folgender teil redundant:

# access user
grant all on fhem.* to fhemuser@'localhost';

die rechte wurde aber vorher bereits durch 'GRANT SELECT, INSERT, DELETE, UPDATE ON `fhem`.* TO 'fhemuser'@'%';' gesetzt, sollte daher nicht geschadet haben.
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 10 Dezember 2015, 21:02:12
ich habe die hochkomma immer mitgeschrieben - copy n paste via  putty.
weiß nicht wo der Fehler ist?!
so geht es scheinbar mit fhemuser statt root
http://www.debian-administration.org/article/442/Resetting_a_forgotten_MySQL_root_password
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: EliDu am 10 Dezember 2015, 23:08:28
hochkomma nur beim anlegen vom user und passwort in mysql, beim login dann ohne
Titel: Antw:DbLog auf Raspberry Pi 2: MySql sinnvoll?
Beitrag von: masterpete23 am 11 Dezember 2015, 07:32:38
Ja so habe ich das auch gemacht.
Was solls es geht.
nun muss ich nur noch überlegen, was ich alles loggen will / sollte