|
|
| (5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 2: |
Zeile 2: |
|
| |
|
| == Beschreibung == | | == Beschreibung == |
| * Wichtige Programme sind ''rsyslog'' und ''journald''
| | Wichtige Programme |
| * Die Konfig-Dateien von ''rsyslog'' sind in der ''/etc/rsyslog.conf''
| | * rsyslog |
| ** Enthält Regeln für das Logging
| | * journald |
| * Im Verzeichnis ''/var/log'' stehen die ganzen Log-Dateien
| | |
| ** Mit ''less'' oder ''tail -f'' anzeigen
| | Die Konfig-Dateien von ''rsyslog'' sind in der ''/etc/rsyslog.conf'' |
| | * Enthält Regeln für das Logging |
| | |
| | Im Verzeichnis ''/var/log'' stehen die ganzen Log-Dateien |
| | * Mit ''less'' oder ''tail -f'' anzeigen |
| * ''logrotate'' verschiebt (rotiert) und komprimiert Logdateien | | * ''logrotate'' verschiebt (rotiert) und komprimiert Logdateien |
| * *Die Konfig-Datei für ''logrotate'' ist die ''/etc/logrotate.conf'' | | **Die Konfig-Datei für ''logrotate'' ist die ''/etc/logrotate.conf'' |
| ** Logdateien von anderen Dateien sind in der ''/etc/logrotate.d'' | | ** Logdateien von anderen Dateien sind in der ''/etc/logrotate.d'' |
| * ''journald'' ist Teil des ''systemd'' und kann mit ''journalctl'' aufgerufen werden | | * ''journald'' ist Teil des ''systemd'' und kann mit ''journalctl'' aufgerufen werden |
| Zeile 40: |
Zeile 44: |
| | [[journald]] || Bestandteil von ''[[systemd]]'' | | | [[journald]] || Bestandteil von ''[[systemd]]'' |
| |} | | |} |
|
| |
| == rsyslog ==
| |
| [[Rsyslog]]
| |
|
| |
|
| == Logdateien untersuchen == | | == Logdateien untersuchen == |
| Wenn Fehler auftreten, ist das Verzeichnis ''/var/log/'' die erste Anlaufstelle. Mit dem Pager ''less'' können sie eine Logdatei untersuchen bspw.:
| | [[Logdateien untersuchen]] |
| sudo less /var/log/syslog
| |
| | |
| Bei 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
| |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| </syntaxhighlight>
| |
| sudo tail -f /var/log/syslog
| |
| | |
| Wenn sie in einer Logdatei nach einem bestimmten Ereignistyp filtern wollen, empfiehlt sich ''grep'' dafür
| |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| </syntaxhighlight>
| |
| sudo 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== |
| ''logrotate'' rotiert und komprimiert Logdateien, damit diese nicht unkontrolliert anwachsen.
| | [[Logrotate]] |
| * 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:
| |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| </syntaxhighlight>
| |
| # 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
| |
| <syntaxhighlight lang="bash" highlight="1" line copy>
| |
| </syntaxhighlight>
| |
| 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
| |
| }
| |
| | |
| ''logrotate'' sollte am besten täglich ausgeführt werden. Hierfür eignet sich ''[[cron]]''.
| |
|
| |
|
| == systemd-journald == | | == systemd-journald == |
| Zeile 126: |
Zeile 55: |
|
| |
|
| == Selbst Ereignisse loggen == | | == Selbst Ereignisse loggen == |
| Mit ''[[logger]]'' kann man ein Ereignis selbst erstellen. Wenn man ein Skript erstellt hat, was eigenständig was durchführt, kann man mit ''logger'' einen Eintrag ins ''Syslog'' erstellen.
| | [[Logger]] |
| | |
| Ein Blick in den ''Syslog'' zeigt das Ergebnis:
| |
| # logger -t Syslogger "Systemlogbuch"
| |
| # tail -1 /var/log/syslog
| |
| Jul 12 10:48:54 user Syslogger: Systemlogbuch
| |
| [[logger]] schreibt auch in den journald
| |
| | |
| Für den journald gibt es auch ein eigenes Werkzeug:
| |
| # echo "alles läuft gut" | systemd-cat -p info
| |
| # journalctl -e
| |
| Jul 12 10:50:48 user unknown[9183]: alles läuft gut
| |
| | |
| * Die Option ''-t'' bei ''logger'' und ''systemd-cat'' dient als Identifikation der protokollierenden Einrichtung.
| |
| * Die Option ''-p'' gibt die Priorität des Eintrags an.
| |
| ** Diese wären ''emerg'', ''alert'', ''crit'', ''err'', ''warning'', ''notice'', ''info'' und ''debug''
| |
|
| |
|
| [[Kategorie:Linux/LPIC/102]] | | [[Kategorie:Linux/LPIC/102]] |
| [[Kategorie:Linux/Logging]] | | [[Kategorie:Linux/Logging]] |
| [[Kategorie:Journald]] | | [[Kategorie:Journald]] |
LPIC102/108.2 Systemprotokollierung
Beschreibung
Wichtige Programme
Die Konfig-Dateien von rsyslog sind in der /etc/rsyslog.conf
- Enthält Regeln für das Logging
Im Verzeichnis /var/log stehen die ganzen Log-Dateien
- Mit less oder tail -f anzeigen
- logrotate verschiebt (rotiert) und komprimiert Logdateien
- Die Konfig-Datei für logrotate ist die /etc/logrotate.conf
- Logdateien von anderen Dateien sind in der /etc/logrotate.d
- journald ist Teil des systemd und kann mit journalctl aufgerufen werden
- Die Konfig-Datei für journald ist in der /etc/systemd/journald.conf
- Mit logger kann man Ereignisse in syslog oder in journald schreiben
- Protokollierung von Ereignissen zur Fehlerbehebung
- Linux-Kernel
- Dienste
- Programme
- Wissensgebiete
| Orte |
Verzeichnisse, in denen Protokolle gespeichert werden
|
| Programme |
Protokolle auswerten
|
| Konfigurationsdateien |
Protokollierung steuern
|
- Programme und Dienste zur Protokollierung von Ereignissen
Logdateien untersuchen
Logdateien untersuchen
logrotate
Logrotate
systemd-journald
Systemd/Journald
Selbst Ereignisse loggen
Logger