LPIC102/108.2 Systemprotokollierung: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 102: Zeile 102:


===Verwendung===
===Verwendung===
{|class="wikitable"
{|class="wikitable";
! Option !! Bedeutung
! Option !! Bedeutung
|
|

Version vom 12. Juli 2019, 09:00 Uhr

Viele Programme und Linux selbst protokollieren zur Laufzeit Ereignisse, damit ein Administrator in diesen Protokolle nach Fehlern zu diagnostizieren. Dazu ist es wichtig, die Orte, wo die Protokolle gespeichert sind, zu kennen und die dafür vorgesehenen Konfigurationsdateien.

Programme zur Protokollierung

  • Je nach Distribution gibt es verschiedene Programme/Dienste zur Protokollierung von Ereignissen
  • syslogd war der erste Logging-Daemon von Linux
  • syslog-ng war die Weiterentwicklung von syslogd
  • rsyslog ist zum Standard einiger wesentlicher Distributionen entwickelt
  • journald ist Bestandteil von systemd.journald

rsyslog

  • Zur Konfiguration von rsyslog sind die Dateien /etc/rsyslog.conf und /etc/rsyslog.d
  • Besteht aus drei Komponenten: facility level action
  • facility legt dabei die Einrichtung fest, level den Protokollierungsgrad und action wohin das facility protokollieren soll

Hier ein Auszug aus rsyslog.conf.

# First some standard log files.  Log by facility.
#
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log

Untersuchen von Logdateien

Wenn Fehler auftreten, ist das Verzeichnis /var/log/ die erste Anlaufstelle. Mit dem Pager less können sie eine Logdatei untersuchen bspw.:

# less /var/log/syslog

Bei sehr großen Logdateien ist eher tail die richtige Wahl, da es die letzten zehn Zeilen einer Datei anzeigt. Mit der Option -f wird die Datei samt Änderungen im laufenden Betrieb angezeigt.

# tail -f /var/log/syslog

Wenn sie in einer Logdatei nach einem bestimmten Ereignistyp filtern wollen, empfiehlt sich grep dafür.

# grep sshd /var/log/syslog | grep invalid | less

In diesem Beispiel werden die Einträge gesucht, die der sshd eingetragen hat. Anschließend filtert er, die ein invalid haben und am Ende übergibt er sie weiter an less.

logrotate

  • logrotate rotiert und komprimiert Logdateien, damit diese nicht unkontrolliert anwachsen.
  • Die Konfig-Dateien sind: /etc/logrotate.conf und /etc/logrotate.d
  • Nach Ablauf eines Intervalls verschiebt er die Datei, indem er die Dateiendung .1 hinten anstellt, beim nächsten Intervall wird die zuvor verschobene Datei wieder umbenannt und diesmal auch noch komprimiert, sodass hinten ein .2.gz steht.
  • Wie viele alte Logfiles und das Intervall kann man in der logrotate.conf ändern

So könnte eine logrotate.conf aussehen:

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

Dateien in logrotate.d sind nach dem gleichen Muster aufgebaut.

root@alex:/etc/logrotate.d# cat apt
/var/log/apt/term.log {
  rotate 12
  monthly
  compress
  missingok
  notifempty
}

/var/log/apt/history.log {
  rotate 12
  monthly
  compress
  missingok
  notifempty
}

systemd-journald

  • Ist Bestandteil von systemd
  • Die Protokolle können mit journalctl

Verwendung

Option Bedeutung