Der Syslog Daemon ist dafür da Log Meldungen aus dem System zu empfangen und zentral aufzuzeichnen. Praktisch jede Anwendung meldet beinahe jede ihrer Bewegungen an Syslog. Dieser enscheidet dann, was in die Log Files übernommen wird und was nicht. Leider zeigt der Default Syslog bei den DS nicht wirklich viel an. Nur schon die Verarbeitung einer Email mit Postfix erzeugt mehr Zeilen im Syslog als Synology beim Booten. Darum habe ich mir mal den syslog-ng Daemon installiert und bin wirklich begeistert was der alles loggt. Einfach wirklich alles… Wie man den Default Syslog anpassen kann hat itari in seinem Post im Forum gut beschrieben
syslog-ng ist ein ipkg Paket und muss daher auch über ipkg eingespielt werden
$ ipkg update $ ipkg install syslog-ng
Dabei sollte ipkg auch gleich die zusätzlichen benötigten Pakete installieren Konfiguration
Damit der syslog-ng starten kann muss man erst den „alten“ Syslog am Starten hindern. Der Default syslog wird in zwei Dateien referenziert:
Hier sucht ihr nach folgenden Zeilen
syslogd_enable="YES" syslogd_flags="-S" case ${syslogd_enable} in [Yy][Ee][Ss]) # Transitional symlink (for the next couple of years :) until all # binaries have had a chance to move towards /var/run/log. if [ ! -L /dev/log ]; then # might complain for r/o root f/s ln -sf /var/run/log /dev/log fi rm -f /var/run/log echo "Starting syslogd..." ${syslogd_program:-/sbin/syslogd} ${syslogd_flags} /sbin/klogd ;; esac
und setzt einfach syslogd_enable=„NO“
hier sucht ihr nach folgenden Zeilen
syslogd_enable="YES" syslogd_program="/sbin/syslogd" syslogd_flags=""
und setzt ebenfalls den wert NO.
Ich habe auch versucht das YES zu belassen und als Program den syslog-ng anzugeben. Zweimal rebooten ging es gut und nach dem 3. lief der Syslog-ng nicht mehr. Darum setzt den Wert auf NO und verwendet ein Shellscript zum Starten des Daemons.
Das Startscript das von ipkg bei der Installation angelegt wird ist leider nicht ganz korrekt. Drum öffnet die Datei /opt/etc/init.d/S01syslog-ng
#!/bin/sh # # Startup script for syslog-ng # # Stop itself if running if [ -n "`pidof syslog-ng`" ]; then /bin/killall syslog-ng 2>/dev/null fi sleep 2 /opt/sbin/syslog-ng -f
und ersetzt die letzte Zeile mit
/opt/sbin/syslog-ng -f /opt/etc/syslog-ng/syslog-ng.conf
Stellt zudem sicher, dass das Script ausführbar ist und ruft es testweise mal auf (ggf erst den nächsten Abschnitt Fehlermeldungen lesen)
Error binding socket; addr='AF_UNIX(/dev/log)', error='Address already in use (98)' Error initializing source driver; source='src'
Wenn ihr diese Fehlermeldung erhaltet, wenn ihr das Startscript anwerfen wollte, dann könnte euch folgendes helfen:
$ cd /dev $ ll log lrwxrwxrwx 1 root root 12 Dec 9 08:25 log -> /var/run/log $ rm log
Bei mir ist auf jeden Fall danach der Syslog-ng durchgestartet. Netterweise kann auch die Syno-FW sauber damit umgehen und schreibt alles brav ins neue Log.
Wenn es zu viele Logs werden, dann kannst du z.B. für alles zum Thema mail diese in ein Log zusammenfassen /opt/etc/syslog-ng/syslog-ng.conf
destination mail { file("/opt/var/log/mail.log"); }; destination mailinfo { file("/opt/var/log/mail.log"); }; destination mailwarn { file("/opt/var/log/mail.log"); }; destination mailerr { file("/opt/var/log/mail.log"); };
einfach mailinfo mailwarn und mailerr auf das gleiche Log legen wie mail .