Hauptmenü

SVG vs. Log pro Monat

Begonnen von UlfS, 13 September 2015, 08:57:18

Vorheriges Thema - Nächstes Thema

UlfS

Werte Hausautomatisierer,

ich habe meine Geräte von jährlichen auf monatliche Logs umgestellt (-%Y-%m), auch die bisherigen Logs alle schön aufgeteilt (cat jahreslog | grep "jahr-monat-" > log_jahr-monat) u.s.w., hat gut geklappt. Ziel war es, die großen Logfiles aufzusplitten, die älteren Daten noch einen Moment länger auf dem NAS zu haben, aber effektiv in FHEM nur die letzten zwei Monate aufzuheben (habe damit das FHEM-Backup von 14 GB auf 6 GB schrumpfen können). In FHEM interessiert mich im Allgemeinen nur der derzeitige und der letzte Monat, zu mindest bei den meisten Devices.

Jetzt habe ich bemerkt, dass all meine schönen SVGs nichts mehr anzeigen, obwohl die Filelog-Geräte richtig angelegt sind und auch die SVG im Editor alles richtig anzeigen (Beispieldaten u.s.w.).

Ist das ein bekanntes Problem? Mit der Suche habe ich nichts gefunden.

Liebe Grüße,
Ulf
Konfig: Raspberry Pi 2, En-Ocean und HomeMatic CUL, FritzBox mit Fritz!DECT-Steckdosen und Presence über FB, Pioneer-AVR, Enigma2 Receiver, Sonos, HomeMatic Heizungsaktoren, Temperatur-/Feuchtigkeitssensoren, Fenster-/Fenstergriff-Sensoren, EnOcean Schalter und Rollladensteuerung.

Puschel74

ZitatIst das ein bekanntes Problem?
Ja.
Das Problem liegt darin das die Fragesteller keine benötigten Daten zeigen mit denen die Helfer auch etwas anfangen könnten  ;)
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

justme1968

oder daran das du hier: -%Y-%m ein - verwendest und hier: log_jahr-monat ein _

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Puschel74

Zitat von: justme1968 am 13 September 2015, 10:48:00
oder daran das du hier: -%Y-%m ein - verwendest und hier: log_jahr-monat ein _

gruss
  andre
Da hast du mal wieder recht andre.
Was aber auf ein bekanntes Problem auf Seiten des Fragestellers hinweisen würde.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

UlfS

Danke Euch, auf Grund Eurer Antworten war klar, dass es kein generelles Problem war und ich habe nochmal Grundlagenforschung betrieben. Hatte den chown für die Log-Files vergessen.

Für diejenigen, die auch sowas machen wollen, hier mal eine Zusammenfassung:
In der Definition des Logfiles, was monatlich loggen soll, den Filenamen ändern, z.B. von ./log/1OG_SZ_Heizung-%Y.log auf ./log/1OG_SZ_Heizung-%Y-%m.log (-%m hinzufügen). FHEM logged bei der nächsten Nachricht von dem Device bereits in eine neue Datei. Um die alten Dateien auf das neue Format umzustellen, habe ich das folgende Skript zusammengebastelt (muss via Putty/SSH im Logverzeichnis (/opt/fhem/log) liegen. Ich habe es split-log.sh genannt. Könnte man sicherlich auch deutlich intelligenter machen, für mich auf die schnelle hat's so gepasst.


#!/bin/bash
cat $1-$2.log | grep "$2-01-" > $1-$2-01.log
cat $1-$2.log | grep "$2-02-" > $1-$2-02.log
cat $1-$2.log | grep "$2-03-" > $1-$2-03.log
cat $1-$2.log | grep "$2-04-" > $1-$2-04.log
cat $1-$2.log | grep "$2-05-" > $1-$2-05.log
cat $1-$2.log | grep "$2-06-" > $1-$2-06.log
cat $1-$2.log | grep "$2-07-" > $1-$2-07.log
cat $1-$2.log | grep "$2-08-" > $1-$2-08.log
cat $1-$2.log | grep "$2-09-" > $1-$2-temp.log
cat $1-$2-09.log >> $1-$2-temp.log
rm $1-$2-09.log && mv $1-$2-temp.log $1-$2-09.log


Beim Skript muss der aktuelle Monat manuell angepasst werden, in dem in den ersten Zeilen jeder Vormonat in dem Jahr umkopiert wird, und in den letzten drei Zeilen zunächst die Daten des aktuellen Monats aus dem Jahreslog in ein temporäres Log geschrieben werden, dann noch die letzten Logs seit der Umstellung in FHEM hinterher geschrieben werden, und dann die aktuelle Logdatei durch das temporäre Log ersetzt werden.

Der Aufruf ist dann mit dem ersten Parameter der Name der Logdatei, aber ohne die Jahresangabe, und als zweiter Parameter das Jahr, zum Beispiel:
split-log.sh 1OG_SZ_Heizung 2015

Danach muss man noch dem user fhem die Rechte an den Logfiles geben, dass war der Teil, den ich vergessen hatte:
sudo chown fhem:dialout /opt/fhem/log/*.log

SVGs u.s.w. muss man nicht ändern. Auf alle Fälle würde ich einen "shutdown restart" emfehlen, und wenn was nicht geht ins fhem.log schauen. Bei mir stand da "Cant open xzy.log: Permission denied" gefolgt von einem "Please define Filelog_xyz first". Wie gesagt, ich hatte den Owner vergessen auf fhem umzustellen.

Ich habe zusätzlich noch mein NAS in FHEM gemountet, und über die FHEM-Attribute archivedir und nrarchive eingestellt, dass ältere Logs auf das NAS ausgelagert werden sollen.

Hoffe das hilft, wenn jemand was ähnliches vor hat und beim Suchen auf den Beitrag stößt.
Konfig: Raspberry Pi 2, En-Ocean und HomeMatic CUL, FritzBox mit Fritz!DECT-Steckdosen und Presence über FB, Pioneer-AVR, Enigma2 Receiver, Sonos, HomeMatic Heizungsaktoren, Temperatur-/Feuchtigkeitssensoren, Fenster-/Fenstergriff-Sensoren, EnOcean Schalter und Rollladensteuerung.

Intruder1956

Hallo,
vielen Dank für deine Anleitung.
Ich habe seit Tagen versucht nach dieser Anleitung meine Log-Dateien zu modifizieren.
Hat leider nicht geklappt.

Aber heute hab ich ein wenig recherchiert und siehe da jetzt klappt es.
Nachdem ich split-log.sh 1OG_SZ_Heizung 2015
geändert in ./split-log.sh 1OG_SZ_Heizung 2015
hat es dann endlich funktioniert.
Danke und Gruß

Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,