Raspberry Pi: wie vernünftiges Logging mit raspbian?

  • Standardmäßig ist rsyslog auf raspbian anscheinend so konfiguriert, daß es die Log-Meldungen kreuz und quer über /var/log/messages, /var/log/syslog, /var/log/debug und /var/log/user.log verstreut, was für eine vernünftige Fehlersuche natürlich vollkommener Quatsch ist.
    Ich habe versucht, dem entgegenzuwirken, indem ich in /etc/rsyslog.conf /var/log/user.log und /var/log/debug durch /var/log/messages ersetzt habe. Das hat aber leider die unangenehme Nebenwirkung, daß manche Log-Meldungen mehrfach erscheinen. Leider ist die Syntax von /etc/rsyslog.conf nicht gerade selbsterklärend, und aus der Beschreibung dafür werde ich auch nicht schlau.


    Weiß vielleicht jemand hier wie ich es schaffen kann, daß alle Log-Meldungen, die VDR über LOG_ERR, LOG_INFO und LOG_DEBUG ausgibt, wieder zentral in /var/log/messages landen? Und das ohne daß manche mehrfach erscheinen.


    Klaus

  • Hallo Klaus,


    ja, das hat mich auch genervt. Man kann dem rsyslog aber sagen (rsyslog.conf?!?), dass er alles in ein log (/var/log/messages) schreiben soll. Ich finde die Referenz zu dem Hinweis im Moment nicht, schaue heute Abend aber nochmal nach.


    Gruß, ollo


    EDIT:


    ... genau, in meiner /etc/rsyslog.conf steht unter RULES nur noch folgendes:


    Code
    ###############
    #### RULES ####
    ###############
    
    
    *.*                         	/var/log/syslog
  • Man kann wohl auch einfach einen anderen Logger installieren.

    Code
    aptitude install syslog-ng


    Dabei wird dann wohl der rsyslogd deinstalliert.


    Note: habe ich auch nur gelesen und nicht persönlich getestet

    VDR: yaVDR 0.7, OrigenAE S10V, ASUS P8H67-M Pro, i3-2120T, 32GB RAM, 4TB HGST, NVIDIA T400, DD Cine S2 ver 6.2 + DuoFlex S2

  • mich hat das auch schon immer genervt, dass man sich das Zeug im Nachhinein immer wieder zusammen-cat-en und nach Zeitstempel sortieren muss.


    Deswegen lenke ich alle derartigen Meldungen in ein zentrales eigenes File. Das bereits vorhandene Logging bleibt davon unberuehrt. Folgende Aenderungen:


    /etc/rsyslog.d/log-all.conf:

    Code
    *.*                                                                       -/var/log/all.log


    nach der Aenderung noch ein

    Code
    /etc/init.d/rsyslog restart


    ...und schon ist es aktiv :)


    damit das auch entsprechend rotiert wird evtl. noch


    /etc/logrotate.conf:


    - sparkie

  • Ich habe jetzt syslog-ng installiert, aber auch damit wird nicht alles nach /var/log/messages geschrieben.
    Vollkommen überflüssigerweise wird fast alles in *alle* Files (syslog, messages, user.log und debug!) geschrieben. Ich frage mich, wer auf so einen Stuss kommt!?
    Wenn ich in /etc/syslog-ng/syslog-ng.conf syslog, user.log, error und debug nach messages ändere mit

    Code
    sudo sed -i 's/\/var\/log\/user\.log/\/var\/log\/messages/' /etc/syslog-ng/syslog-ng.conf
    sudo sed -i 's/\/var\/log\/debug/\/var\/log\/messages/' /etc/syslog-ng/syslog-ng.conf
    sudo sed -i 's/\/var\/log\/error/\/var\/log\/messages/' /etc/syslog-ng/syslog-ng.conf
    sudo sed -i 's/\/var\/log\/syslog/\/var\/log\/messages/' /etc/syslog-ng/syslog-ng.conf


    dann kommen wieder doppelte (teils sogar dreifache!) Meldungen in /var/log/messages.
    Es ist zum Davonlaufen! Warum muß man etwas so Simples wie das Logging so dermaßen kaputtkonfigurieren?!


    Klaus

  • Wird an der Config liegen und die wurde für alle syslogs von den selben Deppen gemacht.
    Anbei die gentoo syslog-ng.conf


    Johns

    Dateien

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Hi Klaus,
    guck dir nochmal den Vorschlag von sparkie an, so hätte ich das dir auch vorgeschlagen. Alle anderen Loggings auskommentieren und du hast alles in einer Datei.
    Ich könnte dir auch nur bei rsyslog helfen und nicht bei syslog-ng.
    Ich Frage mich nur was hast du denn sonst benutzt? Dies ist doch Standard zumindest bei Debian/Ubuntu Systemen und ich könnte mir vorstellen bei einigen anderen auch.
    Ich muss auch sagen das mich das nie gestört hat und ich persönlich finde das /var/log Verzeichnis ist ordentlich aufgeräumt. Aber jedem das seine :)


    Grüße
    Maritn

  • Ich glaube, jetzt hab ich es so hinbekommen, wie ich es haben will.
    Bin wieder auf rsyslog zurückgegangen und habe in /etc/rsyslog.conf den ganzen Rotz nach "RULES" ersetzt durch


    Code
    mail.*                          /var/log/mail
    *.*;mail.none                   /var/log/messages


    _Martin_


    Auf meinem "großen" VDR läuft noch openSUSE 11.4. Das benutzt zwar auch rsyslog, aber da war die Konfiguration noch *vernünftig*.


    Da müssen sich wohl irgendwelche Logging-Esoteriker im Elfenbeinturm unter Drogen im Vollsuff gespielt haben, anders kann ich mir einen solchen Verhau, wie er neuerdings beim Logging herrscht, ehrlich gesagt nicht vorstellen...


    Danke für eure Hilfe.


    Klaus

  • Hör mir bloß auf mit systemd! Wie man auf die Idee kommen kann, daß das Init-System sich wie ein Krebsgeschwür in sämtliche Applikationen reinfressen soll, bleibt mir ein vollkommenes Rätsel. Eine gewisse geistige Nähe zwischen den "Log-Philosphen" und den systemd-Entwicklern ist wohl nicht von der Hand zu weisen... ;-).


    Klaus

  • +1


    systemd geht mir auch gewaltig auf den Sack


    leider wurde auch an osx einiges geändert und so darf man sich beim anpassen des VDR's nen Wolf tippen X(


    und ich muss leider yosemite nehmen da sonst das q1900m nicht mitspielt :wand
    aber launchd und das logging unter darwin ist drastisch besser
    finde mittlerweile auch das windows 10 linux wieder überholt hat,
    da sie gefühlt alles was linux toll war implementiert haben.
    Und linux alles was an Windows schlecht eingebaut hat.
    :mua

  • ich verstehe die ganze Aufregung hier nicht. Es kann doch nicht so schwierig sein ein einziges File mit einzeiligem Inhalt anzulegen und gut is.


    Siehe hier: 4


    das duerfte selbst fuer einen durchschnittlichen Linux-User nicht zu viel verlangt sein...


    - sparkie

  • Hör mir bloß auf mit systemd! Wie man auf die Idee kommen kann, daß das Init-System sich wie ein Krebsgeschwür in sämtliche Applikationen reinfressen soll, bleibt mir ein vollkommenes Rätsel.

    Und dieser Satz zeigt exakt wie wenig Ahnung du doch eigentlich hast.
    systemd frisst sich in keine Applikationen. Woher bekommt ihr diesen Unsinn?


    Mal davon abgesehen, dass du dein Logging Problem mit systemd-journald nicht hättest.


    Ich sage da nur

    Code
    journcalctl -u vdr

  • systemd frisst sich in keine Applikationen. Woher bekommt ihr diesen Unsinn?


    Und warum musste dann unbedingt Support für systemd in VDR eingebaut werden?


    Zitat


    Mal davon abgesehen, dass du dein Logging Problem mit systemd-journald nicht hättest.


    Ich sage da nur

    Code
    journcalctl -u vdr


    Soweit ich das mitgekriegt habe schreibt systemd kein /var/log/messages bzw. /var/log/mail - und genau *das* möchte ich!


    Klaus

  • ich verstehe die ganze Aufregung hier nicht. Es kann doch nicht so schwierig sein ein einziges File mit einzeiligem Inhalt anzulegen und gut is.


    Da hast du schon Recht. Was mich hauptsächlich stört ist dieses Verstreuen der Meldungen in X Dateien, und dann noch vieles doppelt und dreifach. Beim Debuggen brauche ich einfach *alle* Meldungen in der richtigen zeitlichen Abfolge in *einer* Datei. Man hätte ja auch den alten Zustand lassen können und optional für diejenigen, die das wollen, einen "Verteiler" einbauen können.


    Klaus

  • Und warum musste dann unbedingt Support für systemd in VDR eingebaut werden?

    Welchen Teil meinst du jetzt genau? sd_notify?
    Es gibt auch andere Möglichkeiten die signalisieren, ob ein Daemon fertig gestartet wurde. Da hätten wir z.B. noch Forking. Oder auch D-Bus.

    Soweit ich das mitgekriegt habe schreibt systemd kein /var/log/messages bzw. /var/log/mail - und genau *das* möchte ich!


    Die Frage ist, warum du das möchtest. Einfach nur, weil du es so gewohnt bist und dich Neuerungen gegenüber verschließt?

  • Und warum musste dann unbedingt Support für systemd in VDR eingebaut werden?


    Ein "bereit" an das System zu melden, haben andere Dienste auch schon gemacht, meist über ein USR-Signal o.ä..
    Da gab es leider keinen Standard.


    Aber egal, ich wollte jetzt auch nicht wieder eine dieser fruchtlosen Diskussionen lostreten... :)


    Lars.


  • Die Frage ist, warum du das möchtest. Einfach nur, weil du es so gewohnt bist und dich Neuerungen gegenüber verschließt?


    Weil ich es so gewohnt bin, es für mich so wunderbar funktioniert und ich nicht "Neues nur um des Neuen willen" brauche ;-).


    Aber lassen wir das, ich hab's ja jetzt wieder so, wie es sein soll, damit ist die Sache für mich erledigt.


    Klaus

  • Man sollte kaum glauben, aber wenn man die paar Zeilen an den Anfang der Regeln einfügt, passiert genau das, was man erwartet...


    Code
    ###############
    #### RULES ####
    ###############
    
    
    if $programname == 'vdr' then /var/log/vdr.log
    & ~

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!