Syslog-ng via ipkg installieren

Aus
Version vom 29. Mai 2009, 09:29 Uhr von Jahlives (Diskussion | Beiträge) (Die Seite wurde neu angelegt: == alternativen syslog (syslog-ng) installieren == Der Syslog Daemon ist dafür da Log Meldungen aus dem System zu empfangen und zentral aufzuzeichnen. Praktisch jede A...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

alternativen syslog (syslog-ng) installieren

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...

Installation syslog-ng ist ein ipkg Paket und muss daher auch über ipkg eingespielt werden [code] $ ipkg install syslog-ng [/code]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:

   * /etc/rc
   * /etc/defaults/rc.conf

/etc/rc Hier sucht ihr nach folgenden Zeilen [code] 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 [/code]und setzt einfach syslogd_enable="NO"

/etc/defaults/rc.conf hier sucht ihr nach folgenden Zeilen [code] syslogd_enable="YES" syslogd_program="/sbin/syslogd" syslogd_flags="" [/code]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.

Startscript 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 [quote]

  1. !/bin/sh
  2. Startup script for syslog-ng
  1. 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 [/quote]und ersetzt die letzte Zeile mit [code] /opt/sbin/syslog-ng -f /opt/etc/syslog-ng/syslog-ng.conf [/code]Stellt zudem sicher, dass das Script ausführbar ist und ruft es testweise mal auf (ggf erst den nächsten Abschnitt Fehlermeldungen lesen)

Fehlermeldung(en) [code] Error binding socket; addr='AF_UNIX(/dev/log)', error='Address already in use (98)' Error initializing source driver; source='src' [/code]Wenn ihr diese Fehlermeldung erhaltet, wenn ihr das Startscript anwerfen wollte, dann könnte euch folgendes helfen: [code] $ cd /dev $ ll log lrwxrwxrwx 1 root root 12 Dec 9 08:25 log -> /var/run/log $ rm log [/code]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.