Syslog ist der allgemeine Standard zum Protokollieren von System- und Programmmeldungen in der Linux-Umgebung. Dieser Dienst stellt den Systemprotokoll-Daemon dar, in dem jedes Programm seine Protokollierung (Debug, Sicherheit, Normalbetrieb) zusätzlich über die Linux-Kernel-Meldungen durchführen kann.
Im Prinzip sind die von Syslog verwalteten Protokolle im Verzeichnis /var/log/ auf Linux-Systemen verfügbar:
# ls /var/log boot.log cloud-init-output.log firewalld maillog rhsm tallylog anaconda btmp cron gdm maillog-20151219 samba tuned audit btmp-20151219 cron-20151219 grubby messages secure wpa_supplicant.log auth.log choose_repo.log dmesg grubby_prune_debug messages-20151219 secure-20151219 wtmp yum.log chrony dmesg.old lastlog pm-powersave.log spooler xrdp.log
wo einige der Protokolle in einem Unterverzeichnis wie cups, samba, httpd abgelegt werden. Unter den Protokollen unter /var/log die /var/log/messages ist die häufigste, da die Kernel-/Core-Systemprotokolle dort gespeichert werden. Die Kernel-Module werden im Allgemeinen auch dort abgelegt. Für die Problemdiagnose / Überwachung ist /var/log/messages also die primäre Protokolldatei, die untersucht werden muss.
Die Protokolle werden jede Woche rotiert (Umbenennung des vorhandenen Protokolls in Dateiname.Nummernreihenfolge):
# ls -l /var/log/messages* -rw------- 1 root root 1973 Jun 10 15:07 /var/log/messages -rw------- 1 root root 10866 Jun 6 04:02 /var/log/messages.1 -rw------- 1 root root 19931 May 30 04:02 /var/log/messages.2 -rw------- 1 root root 238772 May 23 04:02 /var/log/messages.3 -rw------- 1 root root 171450 May 14 18:29 /var/log/messages.4
die wöchentlich rotierte Protokolldatei wird nach Ablauf von 4 Wochen gelöscht (Gesamtprotokolle erstrecken sich über einen Zeitraum von 5 Wochen). Dieser Rotationsmechanismus wird von crond und logrotate bereitgestellt.
Es gibt auch rsyslogd, das vom rsyslog-Paket bereitgestellt wird, das eine zuverlässigere und erweiterte Version von syslogd ist. Für weitere Informationen installieren Sie das rsyslog-Paket und lesen Sie die Manpage von rsyslogd.
Dienststeuerung
Um den Syslog-Dienst zu starten, verwenden Sie einen der folgenden Befehle:
# service syslog start # /etc/init.d/syslog start
Verwenden Sie einen der folgenden Befehle, um den Syslog-Dienst zu stoppen:
# service syslog stop # /etc/init.d/syslog stop
Führen Sie Folgendes aus, um Runlevel und Dienstverfügbarkeit anzuzeigen:
# chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Wenn der Dienst deaktiviert ist, können Sie ihn wie folgt aktivieren:
# chkconfig --list syslog syslog 0:off 1:off 2:off 3:off 4:off 5:off 6:off # chkconfig syslog on # chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Konfiguration
Die Konfigurationsdatei für den syslogd-Dienst ist /etc/sysconfig/syslog . Die Standarddatei sieht wie folgt aus:
# Options to syslogd # -m 0 disables 'MARK' messages. # -r enables logging from remote machines # -x disables DNS lookups on messages recieved with -r # See syslogd(8) for more details SYSLOGD_OPTIONS="-m 0" # Options to klogd # -2 prints all kernel oops messages twice; once for klogd to decode, and # once for processing with 'ksymoops' # -x disables all klogd processing of oops messages entirely # See klogd(8) for more details KLOGD_OPTIONS="-x" # SYSLOG_UMASK=077 # set this to a umask value to use for all log files as in umask(1). # By default, all permissions are removed for "group" and "other".
Dort sehen Sie zwei verschiedene Gruppen von Optionen für:
klogd – Kernel Log Daemon :Dies ist der Daemon, der die Meldungen vom Linux-Kernel abfängt und sie in Dateien protokolliert.
syslogd – System Log Daemon :Abfangen und Protokollieren anderer Nachrichten.
Die Standardkonfigurationsdatei listet einige Optionen auf, die wir näher beschreiben können:
syslogd-Optionen:
- -m Intervall :Setzen Sie alle Minuten eine Linie mit „MARK“. „-m 0“ deaktiviert „MARK“ komplett
- -r :Wird verwendet, um es der Einrichtung zu ermöglichen, Nachrichten vom Netzwerk über einen Internetdomänen-Socket mit dem Syslog-Dienst zu empfangen.
- -x :Wenn Protokolle vom Netzwerk eintreffen (über die Option -r), werden die Quelladressen in den erstellten Protokollen bereitgestellt. Die Adressen sind im DNS nachzuschlagen. Wenn zu häufig Remote-Logging stattfindet (und das ist im Allgemeinen der Fall, wenn es ein Problem am Remote-Standort gibt), ist es nicht ratsam, Zeit mit DNS-Lookups zu verbringen. Diese Option kann verwendet werden, um DNS-Lookups zu deaktivieren.
- -S :ausführliche Protokollierung
- -d :Debug-Modus für syslogd
Klogd-Optionen:
- -2 :Drucken Sie die Zeilen einmal mit Rohtext und noch einmal mit in Symbole umgewandelten Adressen. Dies wäre erforderlich, damit ksymoops die Originaldaten verarbeiten kann.
- -x :Führen Sie keine EIP-Übersetzung durch (für OOPS), um die System.map-Datei nicht zu lesen (erhöhte Dump-Geschwindigkeit)
- -d :Debug-Modus für klogd
- -c n :Standardprotokollebene von Konsolenmeldungen
umask :SYSLOG_UMASK steuert die Standard-Zugriffsrechte / Berechtigungen für die generierten Protokolldateien.