Installation von syslog-ng

Status
Für weitere Antworten geschlossen.

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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
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
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=""
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
#!/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
Code:
/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)

Fehlermeldung(en)
Code:
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:
Code:
$ 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.

Gruss

tobi
 
Zuletzt bearbeitet:

denon2002

Benutzer
Mitglied seit
20. Okt 2008
Beiträge
536
Punkte für Reaktionen
0
Punkte
0
Na das ging ja mal flott.... Danke

Muss mich nun mal durch alle neuen Log-File durchwühlen.. :p
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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
Code:
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
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Darum habe ich mir mal den syslog-ng Daemon installiert und bin wirklich begeistert was der alles loggt. Einfach wirklich alles...

Nichts gegen den syslog-ng, aber auch der syslogd der Busybox ist ja standardmäßig nicht komplett ausgereizt. Zum einen gibt es da die Datei /etc/syslog.deny:

Rich (BBCode):
Syno508> more syslog.deny
# These priorities in this config file are not logged
# refer to syslog.h

#alert
#crit
debug
#emerg
#err
info
notice

# Always keep these setting , as these are obselete
# refer to syslog.h
error
none
warn
panic

Hier kann man einstellen, was nicht geloggt werden soll. Dann gibt es noch die Option -l, mit der man einen Logging-Level einstellen kann:

Rich (BBCode):
    syslogd [OPTION]... 

    System logging utility. Note that this version of syslogd ignores /etc/syslog.conf.

    Options:

            -n              Run in foreground
            -O FILE         Log to given file (default=/var/log/messages)
            -l n            Set local log level
            -S              Smaller logging output
            -s SIZE         Max size (KB) before rotate (default=200KB, 0=off)
            -b NUM          Number of rotated logs to keep (default=1, max=99, 0=purge)
            -R HOST[:PORT]  Log to IP or hostname on PORT (default PORT=514/UDP)
            -L              Log locally and via network (default is network only if -R)
            -D              Drop duplicates
            -C[size(KiB)]   Log to shared mem buffer (read it using logread)

Wahrscheinlich wird auch durch zuviel Logging der Spin-down der Platten tangiert - beobachte das mal.

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wahrscheinlich wird auch durch zuviel Logging der Spin-down der Platten tangiert - beobachte das mal.
Ich habe eh keinen Spin-Down bei den Platten weil spätestens alle 15 Minuten mein Dovecot die externen Postfächer abklapplert. Desweiteren habe ich noch diverse Cronjobs am Laufen, die den Spin-Down unterbrechen würden. Drum habe ich den Hibernate auch gleich abgeschaltet. Sonst würde die Platte ständig schlafen gehen, um spätestens 5 Minuten später wieder geweckt zu werden. Drüfte der Lebensdauer der Platte auch nicht unbedingt zuträglich sein.
@alle die den syslog-ng installieren wollen
Schaut Euch auch das Paket logrotate an. Sorgt dafür das die einzelnen Logfiles nicht zu gross werden und archiviert alte Logs (mit zusätzlicher Komprimierung)
 

dr_dos

Benutzer
Mitglied seit
26. Mrz 2009
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
syslog.deny

Nichts gegen den syslog-ng, aber auch der syslogd der Busybox ist ja standardmäßig nicht komplett ausgereizt. Zum einen gibt es da die Datei /etc/syslog.deny

Danke für den Hinweis - das hat mir bei meiner Fehlersuche sehr geholfen. Die Informationen bzgl. Postfix die ich brauchte werden nun schön protokolliert.

Gruß,
Peter
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Hast du das bei dir schonmal probiert?

Nein. Ich hatte es nur kurz überflogen und gedacht, dass man es nicht vergessen sollte und deswegen hier hinein gelegt. Vielleicht wird das ja mal ein nettes Projekt :)

Itari
 

knox

Benutzer
Mitglied seit
31. Mrz 2007
Beiträge
478
Punkte für Reaktionen
0
Punkte
0
[/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'
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
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.

Gruss

tobi

Auch wenn ich nun Gefahr laufe, das man mich hierfür erschlägt, weil ich so alte Themen rausbuddel, aber ich benötige eure Hilfe:

Ich habe gemäß der Anleitung syslog-ng installiert und die Einträge geändert. Nun stellen sich mir aber 2 Fragen:

1) Wie kann ich das Script nun ausführen (und später automatisch ausführen lassen)

2) Wo wird überhaupt das Log hingeschrieben? - Bin ich Blind oder warum finde ich das nicht

DANKE!!!
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Auch wenn ich nun Gefahr laufe, das man mich hierfür erschlägt, weil ich so alte Themen rausbuddel, aber ich benötige eure Hilfe:

Ich habe gemäß der Anleitung syslog-ng installiert und die Einträge geändert. Nun stellen sich mir aber 2 Fragen:

1) Wie kann ich das Script nun ausführen (und später automatisch ausführen lassen)

2) Wo wird überhaupt das Log hingeschrieben? - Bin ich Blind oder warum finde ich das nicht

DANKE!!!
Erschlagen tun wir hier nicht. Wir kochen bei lebendigem Leib ;)
1) du erstellst ein init Script, das du z.B. unter /opt/etc/init.d ablegst. Am besten mit einer tiefen Nummer, damit der Log Daemon früh gestartet wird
2) /opt/var/log
 

knox

Benutzer
Mitglied seit
31. Mrz 2007
Beiträge
478
Punkte für Reaktionen
0
Punkte
0
Erschlagen tun wir hier nicht. Wir kochen bei lebendigem Leib ;)
1) du erstellst ein init Script, das du z.B. unter /opt/etc/init.d ablegst. Am besten mit einer tiefen Nummer, damit der Log Daemon früh gestartet wird
2) /opt/var/log

Aaahh! Jetzt verstehe ich den Sinn mit den "SXX..." Bezeichnungen... mein generiertes Script habe ich aber bereits gemäß deiner Anleitung dort abgelegt

Neustart ausgeführt, aber: NIX DA :eek: Unter dem besagten LOG Verzeichnis wird nichts angelegt...

hast du noch Ideen?
 

knox

Benutzer
Mitglied seit
31. Mrz 2007
Beiträge
478
Punkte für Reaktionen
0
Punkte
0
Korrektur: Habe es nun hinbekommen nach einem Neustart.

DA IST DAS DIIING!!!

Sauber -> Nun klappt das Script

:rolleyes:

Aber wieder eine Folgefrage: Wie öffne ich das Log am Besten? Mit "VI" ist es auf Dauer recht nervig, wenn ich was spezielles suchen will...
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Aber wieder eine Folgefrage: Wie öffne ich das Log am Besten? Mit "VI" ist es auf Dauer recht nervig, wenn ich was spezielles suchen will...
Code:
cat /opt/var/log/mail.log | grep "Was immer du suchst"
Btw: vi ist mir nicht nur auf Dauer zu nervig ;) Ich nutze als Editor auf der DS immer nano.
 

knox

Benutzer
Mitglied seit
31. Mrz 2007
Beiträge
478
Punkte für Reaktionen
0
Punkte
0
Löschst du die Log in regelmäßigen / unregelmäßigen Abständen auch? Denn die Müllen auf Dauer ja scheinbar schon einiges zu...
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Zum Ansehen von Dateien gibt es nicht nur den vi oder grep, sondern weitere nette Tools:

- head - zeigt den Anfang einer Datei an
- tail - zeigt das Ende einer Datei an
- more - zum Blättern in einer Datei
- less - noch besser als more - per IPKG installieren
- most - noch besser als less - per IPKG installieren

Alle Tools kann man hier nachschlagen.

Itari
 

knox

Benutzer
Mitglied seit
31. Mrz 2007
Beiträge
478
Punkte für Reaktionen
0
Punkte
0
Zum Ansehen von Dateien gibt es nicht nur den vi oder grep, sondern weitere nette Tools:

- head - zeigt den Anfang einer Datei an
- tail - zeigt das Ende einer Datei an
- more - zum Blättern in einer Datei
- less - noch besser als more - per IPKG installieren
- most - noch besser als less - per IPKG installieren

Alle Tools kann man hier nachschlagen.

Itari

Dank Itaris tollen Auswahl (mein Favorit ist most) konnte ich anhand des Mail.info Logs erkennen, das dort 4 Email in regelmäßigen abständen versucht werden zu senden

Aber: Wie kann ich die Abschießen oder wo finde ich diese Mails überhaupt damit ich die ggfls. Löschen kann?


Aber da das hier nicht hingehört, referenziere ich lieber auf einen eigenen Threat:

http://www.synology-forum.de/showthread.html?p=70162#post70162
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Löschst du die Log in regelmäßigen / unregelmäßigen Abständen auch? Denn die Müllen auf Dauer ja scheinbar schon einiges zu...
Ich habe mir zusätzlich logrotate installiert. Nach 20 Tagen (Generationen) von Logs werden diese gekillt
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Wie wachsen denn so die Logfiles pro Tag? Bytes, KB, MB ??? Ich denk mir, dass das eine wichtige Frage ist ... denn schließlich werden ja nur TB-Platten gefahren und die sind ja sowas von schnell zugemüllt :D

Itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Die Maillogs sind bei mir die grössten. Zur Zeit ca 53 MByte. Da aber die Vortageslogs um Mitternacht komprimiert werden, hält sich der Speicherverbrauch in Grenzen.
Allerdings logge ich im Maillog auch die Meldungen von spamassassin und der erzeugt hunderte von Meldungen über gemachte Test bei nur einer Email. Ich würde mal sagen 70% des Logs sind bei mir spamassassin
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat