Größe SYSLOG bei raspberrymatic 3.45.7.20190511

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Antworten
harvey
Beiträge: 88
Registriert: 01.12.2013, 13:19

Größe SYSLOG bei raspberrymatic 3.45.7.20190511

Beitrag von harvey » 04.06.2019, 21:31

Hi @ Jens

irgendwie ist meine syslog-Datei immer nur sehr klein (200KB), da passt kaum was rein.

Dann fiel mir auf, dass Syslog folgenden Text ausgibt:

Code: Alles auswählen

BusyBox v1.29.3 (2019-05-11 19:24:45 CEST) multi-call binary.

Usage: syslogd [OPTIONS]

System logging utility
(this version of syslogd ignores /etc/syslog.conf)

        -n              Run in foreground
        -R HOST[:PORT]  Log to HOST:PORT (default PORT:514)
        -L              Log locally and via network (default is network only if -R)
        -O FILE         Log to FILE (default: /var/log/messages, stdout if -)
        -s SIZE         Max size (KB) before rotation (default 200KB, 0=off)
        -b N            N rotated logs to keep (default 1, max 99, 0=purge)
        -l N            Log only messages more urgent than prio N (1-8)
        -S              Smaller output
        -D              Drop duplicates
In der Konfiguration steht allerdings drin:

Code: Alles auswählen

SYSLOGD_ARGS="-n -m 0"
Das sieht doch so aus, als würde das "-m 0" ignoriert und die Defaultgröße=200KB, Defaultrotate=1 wären aktiv.

Jedenfalls sind meine beiden (rotierten) Teile von /var/log/messages* genau zwei Stück und 200 KB groß.
Das ist sehr wenig :-)

Habe ich für mich geändert mit:

Code: Alles auswählen

SYSLOGD_ARGS="-n -m 0 -s 4096 -b 2"
und schon sammeln sich wieder mehr Einträge.

Eventuell sind die Defaults in einer der letzten busybox-Versionen geändert worden?

ciao
Harvey
Homematic raspberrymatic, iobroker, Asksinpp und Arduinos - rund 40 Geräte

Benutzeravatar
jmaus
Beiträge: 4923
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 6 Mal
Danksagung erhalten: 53 Mal
Kontaktdaten:

Re: Größe SYSLOG bei raspberrymatic 3.45.7.20190511

Beitrag von jmaus » 05.06.2019, 13:00

harvey hat geschrieben:
04.06.2019, 21:31
Jedenfalls sind meine beiden (rotierten) Teile von /var/log/messages* genau zwei Stück und 200 KB groß.
Das ist sehr wenig :-)

Habe ich für mich geändert mit:

Code: Alles auswählen

SYSLOGD_ARGS="-n -m 0 -s 4096 -b 2"
und schon sammeln sich wieder mehr Einträge.

Eventuell sind die Defaults in einer der letzten busybox-Versionen geändert worden?
Das ist in der Tat ein sehr guter Hinweis. Ich schaue mir das mal zeitnah an und versuche eine Lösung zu erarbeiten. Beachten sollte man dabei, das es ja seit längerem schon ein logrotate daemon gibt der jede nacht die logs eigentlich rotieren sollte. Ich denke den sollte man in eine solche Änderung dann einbeziehen.

EDIT: So, I denke ich habe eine akzeptable Lösung erarbeitet. Siehe:
https://github.com/jens-maus/RaspberryM ... 07ecc4b8e5
RaspberryMatic 3.47.15.20190831 @ TinkerS mit ~160 HomeMatic Geräten + ioBroker – GitHubPayPalTwitter

harvey
Beiträge: 88
Registriert: 01.12.2013, 13:19

Re: Größe SYSLOG bei raspberrymatic 3.45.7.20190511

Beitrag von harvey » 05.06.2019, 16:11

Hallo @ Jens,
hmmm, ich vermute mal, dass der CUX-Daemon für die Loganzeige NUR auf /var/log/messages zugreift
und nicht auf die rotierten Teile.

Deine Lösung bedeutet ja, dass logrotate nach 2 MB mit einem oldie alle Logs behandelt.

Das führt bei cuxd dazu, dass nur eine sehr kurze Zeitspanne angezeigt werden kann.

Aktuell habe ich bei mir sogar 4 GB (und ein rotate) eingestellt, damit schaue ich mal, wie lange rückwärts ich in CUXD
ich das Log lesen kann.

Also daher finde ich "meine" Lösung, busybox/syslog sein eigenes rotate machen zulassen bei eigener Größenüberwachung
irgendwie "besser".

ciao
Harvey
Homematic raspberrymatic, iobroker, Asksinpp und Arduinos - rund 40 Geräte

Benutzeravatar
jmaus
Beiträge: 4923
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 6 Mal
Danksagung erhalten: 53 Mal
Kontaktdaten:

Re: Größe SYSLOG bei raspberrymatic 3.45.7.20190511

Beitrag von jmaus » 05.06.2019, 16:22

Ich glaube du verwechselst da was. Aktuell ist es ja sogar so das jeden früh um 04:00 Uhr ein logrotate erzwungen wird. Und die maximale große einer syslogdatei ist da auch auf 200kb begrenzt.

Und 4GB würde ich hier wirklich an deiner stelle nicht einstellen! /var/log liegt im RAM und das wird dir unweigerlich dein RAM auffressen und deine Maschine zum stillstand zwingen wenn der Log zu groß wird. Wenn du wirklich soviel Logdaten speichern willst wirst du um einen syslog-server nicht drumherum kommen. Jedes halbwegs größere NAS System (z.B. Synology) lässt sich z.B. als Syslog-server betreiben und Logausgaben in Empfang zu nehmen für spätere Auswertungen.
RaspberryMatic 3.47.15.20190831 @ TinkerS mit ~160 HomeMatic Geräten + ioBroker – GitHubPayPalTwitter

harvey
Beiträge: 88
Registriert: 01.12.2013, 13:19

Re: Größe SYSLOG bei raspberrymatic 3.45.7.20190511

Beitrag von harvey » 05.06.2019, 20:06

Hi @ Jens

die Wahrheit liegt wohl dazwischen. Aktuell ist es wohl NICHT so, dass sich logrotate um 04:00 um eine Rotation von /var/log/messages
kümmert. Jedenfalls sehe ich nichts in /etc/logrotate.conf oder /etc/logrotate.d/*. Und die Größe 200 KB und Anzahl sieht mir sehr
nach den defaults des busybox/syslog aus.
Warum auch täglich? Lass es doch zu seiner Größe anwachsen, bei der es rotiert. Und eigentlich gehört ein rotiertes Log auch nicht
in eine RAM-Disk. Also ich boote von einer 32 GB Karte (SANDISK), da könnte doch ein rotiertes LOG gerne "länger" unterhalb
von /usr/local aufgehoben werden.
Nur um ein Log über mehr als 24h aufzubewahren ist ein NAS eventuell overkill.

Größe hast Du unbedingt recht, da muss ich wohl die RAM-Disk berücksichtigen. Allerdings ist die RAM-Disk wohl nicht identisch
mit RAM, bei mir ist RAM 975MB (/proc/meminfo), die RAM-Disk insgesamt 484MB in /dev/shm, /tmp /run /var /media, aktuell
alles wenige KB belegt, lediglich in /var sind 8.8M, das sind praktisch nur die Logs (cd /var ; df -k -s * | sort -n).

Eine weitere Aufgabe liegt bei den Entwicklern von CUXD: Dort sollte die Möglichkeit eingebaut werden, dass mehrere
Logsdateien zeitlich richtig gestaffelt aus mehreren Logdateien (den alten auf der SDCARD und dem aktuellen im der
RAM-Disk) angezeigt werden. Das Lesen vom NAS wäre wohl eine zusätzliche Extraaufgabe. Das ist eine andere Baustelle.

Aktuell werde ich meine Einstellung auf ~200M ohne rotate (SYSLOGD_ARGS="-n -m 0 -s 204800 -b 0") nur für
busybox/syslog einstellen. Mal schauen, was draus wird.

Vielen Dank für Deine Hilfestellung!
ciao
Harvey
Homematic raspberrymatic, iobroker, Asksinpp und Arduinos - rund 40 Geräte

Benutzeravatar
jmaus
Beiträge: 4923
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Hat sich bedankt: 6 Mal
Danksagung erhalten: 53 Mal
Kontaktdaten:

Re: Größe SYSLOG bei raspberrymatic 3.45.7.20190511

Beitrag von jmaus » 05.06.2019, 21:37

harvey hat geschrieben:
05.06.2019, 20:06
die Wahrheit liegt wohl dazwischen. Aktuell ist es wohl NICHT so, dass sich logrotate um 04:00 um eine Rotation von /var/log/messages
kümmert. Jedenfalls sehe ich nichts in /etc/logrotate.conf oder /etc/logrotate.d/*. Und die Größe 200 KB und Anzahl sieht mir sehr
nach den defaults des busybox/syslog aus.
Da hast du natürlich vollkommen recht. Mit meiner nun aber vorgenommenen Änderung (https://github.com/jens-maus/RaspberryM ... 07ecc4b8e5) wird ab der nächsten Version von RaspberryMatic es dann so sein, das logrotate dann nicht nur für ALLE *.log endenden Dateien zuständig sein wird unterhalb von /var/log sondern auch für die /var/log/messages Datei.
harvey hat geschrieben:
05.06.2019, 20:06
Warum auch täglich? Lass es doch zu seiner Größe anwachsen, bei der es rotiert.
genauso habe ich es nun umgesetzt. Vorher war es so das jede nacht alle Logfiles erzwungenermasen rotiert wurden egal ob sie die grenze erreicht hatten oder nicht. Nun rotiert er erst sobald ein Logfile > 2MB anwächst.
harvey hat geschrieben:
05.06.2019, 20:06
Und eigentlich gehört ein rotiertes Log auch nicht in eine RAM-Disk. Also ich boote von einer 32 GB Karte (SANDISK), da könnte doch ein rotiertes LOG gerne "länger" unterhalb von /usr/local aufgehoben werden.
Nun irrst du dich aber: Bei einer CCU bzw. RaspberryMatic handelt es sich um ein embedded system und das es die Logfiles nur im RAM bzw. tmpfs hält ist bewusst gewählt, weil ansonsten über kurz oder lang die SD karte bzw. USB stick bzw. eMMC viel früher den Dienst einstellt.
RaspberryMatic 3.47.15.20190831 @ TinkerS mit ~160 HomeMatic Geräten + ioBroker – GitHubPayPalTwitter

harvey
Beiträge: 88
Registriert: 01.12.2013, 13:19

Re: Größe SYSLOG bei raspberrymatic 3.45.7.20190511

Beitrag von harvey » 06.06.2019, 13:12

Hi @ Jens,

nur zum letzten Absatz: Ich dachte auch nur daran, einmal täglich die rotierte (also die messages.0) auf die SD-Karte zu verschieben.
Diesen täglichen einmaligen Schreibzugriff sollte eine SD-Karte schon aushalten :-) (neben den paar anderen Backups ...)
Sonst ist der knappe RAM-Disk Platz immer teils von Backupdateien (den rotierten Logs) gefüllt. Und bei Reboot weg :-)

By the way,, "vorher" war es so, dass /var/log/messages nur von busybox/syslog rotiert wurde, und zwar nur bei Überschreiten der
Größe, nicht zwingend zu einem Zeitpunkt. So habe ich jedenfalls busybox/syslog --help verstanden und auch auf meinem
System nachvollziehen können, die messages.0 war (ursprünglich) zu jedem Zeitpunkt exakt 200KB. Bei höherem Loglevel
konnte das auch schon nach sehr kurzer Zeit (Minuten), oder aber auch nach Tagen passieren.

Ich habe ein großes Vertrauen in busybox/syslog, dass er seine eigenen Rotates schon richtig hinbekommt, warum sollte er das dann
nicht selbst machen? Extern besteht eventuell die Möglichkeit/Notwendigkeit, dem syslog noch einen HUP zu senden, damit er
eine neue Logdatei beginnt und keine Logeinträge verloren gehen.

ciao und best wishes,
Harvey
Homematic raspberrymatic, iobroker, Asksinpp und Arduinos - rund 40 Geräte

Antworten

Zurück zu „RaspberryMatic“