Unix / Linux - System Logging

Hallo zusammen, zukünftige Unix/Linux-Zauberer! Heute tauchen wir in die faszinierende Welt der Systemprotokollierung ein. Keine Sorge, wenn ihr neu seid – ich werde euer freundlicher Guide auf dieser Reise sein, genau wie ich es für unzählige Schüler über die Jahre gewesen bin. Los geht's!

Unix / Linux - System Logging

Was ist Systemprotokollierung?

Bevor wir ins Detail gehen, lassen Sie uns verstehen, was Systemprotokollierung eigentlich ist. Stellen Sie sich vor, Sie sind ein Detektiv, der ein Rätsel in Ihrem Computer lösen muss. Systemprotokolle sind wie Ihr zuverlässiges Notizbuch, das alles aufzeichnet, was in Ihrem System passiert. Cool, oder?

Warum ist es wichtig?

Systemprotokollierung ist entscheidend für:

  1. Fehlerbehebung
  2. Überwachung der Systemsundheit
  3. Erkennung von Sicherheitsverletzungen
  4. Einhaltung von Vorschriften

Nun, da wir wissen, warum es wichtig ist, lassen Sie uns die Komponenten der Systemprotokollierung erkunden.

Syslog-Anlagen

Syslog-Anlagen sind wie verschiedene Abteilungen in einem großen Unternehmen. Jede Abteilung bearbeitet spezifische Arten von Informationen. Hier ist eine Tabelle mit einigen häufigen Syslog-Anlagen:

Anlage Beschreibung
auth Authentifizierungs- und Sicherheitsereignisse
cron Cron-Daemon (geplante Aufgaben)
daemon Verschiedene System-Daemons
kern Kernel-Meldungen
mail Mail-System
user Benutzerebene-Meldungen

Zum Beispiel, wenn Sie einen Protokolleintrag mit "mail" als Anlage sehen, wissen Sie, dass er mit Ihrem E-Mail-System zusammenhängt. quite praktisch, oder?

Syslog-Prioritäten

Nicht alle Protokolle sind gleich erstellt. Einige sind dringender als andere. Hier kommen die Syslog-Prioritäten ins Spiel. Stellen Sie sich sie als Dringlichkeitsstufen in einem Krankenhaus vor.

Hier ist eine Tabelle der Syslog-Prioritäten von am dringlichsten bis am wenigsten schlimm:

Priorität Schlüsselwort Beschreibung
0 emerg System ist unbenutzbar
1 alert Sofortige Maßnahme erforderlich
2 crit Kritische Bedingungen
3 err Fehlerbedingungen
4 warning Warndingungen
5 notice Normale, aber bedeutende Bedingung
6 info Informationsmeldungen
7 debug Debug-Level-Meldungen

Zum Beispiel, wenn Ihr System ein "crit" (kritisch) Ereignis erlebt, ist es an der Zeit, Ihre Superheldencape anzuziehen und den Tag zu retten!

Die Datei /etc/syslog.conf

Nun, lassen Sie uns über den Chef der Systemprotokollierung sprechen: die Datei /etc/syslog.conf. Diese Datei ist wie der Regisseur eines Spiels, der jedem Schauspieler (Protokoll) sagt, wo er hingeht und was er machen soll.

Hier ist ein Beispiel dessen, was Sie in dieser Datei finden könnten:

mail.*                  /var/log/mail
*.err                   /var/log/errors
kern.*                  /var/log/kernel

Lassen Sie uns dies herunterbrechen:

  • mail.* bedeutet "alle Protokolle der Mail-Anlage"
  • *.err bedeutet "alle Fehlerprioritätsprotokolle von jeder Anlage"
  • kern.* bedeutet "alle Protokolle der Kernel-Anlage"

Der Teil nach dem Leerzeichen sagt, wo diese Protokolle gespeichert werden sollen. Cool, oder?

Protokollierungsaktionen

Protokollierungsaktionen bestimmen, was mit den Protokollen passiert. Hier sind einige häufige Aktionen:

  1. Datei-Protokollierung: Protokolle werden in eine Datei geschrieben Beispiel: mail.* /var/log/mail

  2. Benannte Pipes: Protokolle werden an eine benannte Pipe gesendet Beispiel: mail.* |/usr/bin/mypipe

  3. Konsole/Terminal: Protokolle werden auf der Konsole angezeigt Beispiel: *.emerg *

  4. Entfernter Rechner: Protokolle werden an einen anderen Rechner gesendet Beispiel: *.* @192.168.1.100

Der Befehl logger

Der logger-Befehl ist wie Ihr persönlicher Bote für das Syslog-System. Sie können ihn verwenden, um Ihre eigenen Protokolleinträge zu erstellen. Hier ist, wie:

logger "Hallo, syslog!"

Dies erstellt einen Protokolleintrag mit der Nachricht "Hallo, syslog!". Sie können es in /var/log/messages oder wherever Ihr System Benutzerprotokolle speichert überprüfen.

Sie können auch die Priorität angeben:

logger -p user.err "Ups, etwas ist schiefgelaufen!"

Dies erstellt einen Fehler-Level-Protokolleintrag in der Benutzeranlage.

Protokollrotation

Stellen Sie sich vor, wir reinigen unsere Schränke nie – sie würden ziemlich voll werden, oder? Das gilt auch für Protokolldateien. Hier kommt die Protokollrotation ins Spiel. Es ist wie ein regelmäßiger Frühjahrsputz für Ihre Protokolle.

Die Protokollrotation typischerweise:

  1. Benennt die aktuelle Protokolldatei um
  2. Erstellt eine neue leere Protokolldatei
  3. Komprimiert alte Protokolldateien
  4. Löscht sehr alte Protokolldateien

Hier ist ein einfaches Beispiel einer Protokollrotationskonfiguration (/etc/logrotate.d/myapp):

/var/log/myapp.log {
weekly
rotate 4
compress
missingok
notifempty
}

Diese Konfiguration:

  • Rotiert das Protokoll wöchentlich
  • Behält 4 alte Versionen
  • Komprimiert alte Protokolle
  • Beschwert sich nicht, wenn das Protokoll fehlt
  • Rotiert keine leeren Protokolle

Wichtige Protokollorte

Schließlich schauen wir uns an, wo Sie einige wichtige Protokolle finden können. Es ist wie eine Schatzkarte für Systeminformationen!

Protokolldatei Beschreibung
/var/log/messages Allgemeine Systemmeldungen
/var/log/auth.log Authentifizierungsprotokolle
/var/log/kern.log Kernel-Protokolle
/var/log/cron.log Cron-Job-Protokolle
/var/log/maillog Mailserver-Protokolle
/var/log/apache2/error.log Apache-Fehlerprotokolle
/var/log/mysql/error.log MySQL-Fehlerprotokolle

Denken Sie daran, dass diese Orte je nach Ihrer spezifischen Linux-Distribution variieren können.

Und das war's, Leute! Sie haben gerade eine rasante Tour durch die Unix/Linux-Systemprotokollierung absolviert. Vom Verständnis dessen, was Protokollierung ist und warum sie wichtig ist, bis hin zum Erkunden der verschiedenen Komponenten wie Anlagen, Prioritäten und Protokollrotation, sind Sie jetzt mit dem Wissen ausgestattet, um Ihre Systemprotokollierungsabenteuer zu beginnen.

Erinnern Sie sich daran, der beste Weg zu lernen ist durch Tun. Also fürchten Sie sich nicht, Ihre Systemprotokolle zu erkunden, die logger-Anwendung auszuprobieren und vielleicht sogar einige benutzerdefinierte Protokollierungsregeln einzurichten. Frohes Protokollieren und möge Ihre Systeme immer reibungslos laufen!

Credits: Image by storyset