Zum Inhalt springen

Linux/Logging/Dienstprogramme: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 27: Zeile 27:


'''Der Logger wird zum Senden von Protokollnachrichten an das Systemprotokoll verwendet und kann mit der folgenden Syntax ausgeführt werden.'''
'''Der Logger wird zum Senden von Protokollnachrichten an das Systemprotokoll verwendet und kann mit der folgenden Syntax ausgeführt werden.'''
$ logger <options> <message>
<syntaxhighlight lang="bash" highlight="1" line copy>
logger <options> <message>
</syntaxhighlight>
 
Angenommen, Sie möchten eine Notfallnachricht von der Authentifizierungsfunktion an Ihr Dienstprogramm rsyslog senden. Führen Sie dann den folgenden Befehl aus
Angenommen, Sie möchten eine Notfallnachricht von der Authentifizierungsfunktion an Ihr Dienstprogramm rsyslog senden. Führen Sie dann den folgenden Befehl aus
$ logger -p auth.emerg "Somebody tried to connect to the system"
<syntaxhighlight lang="bash" highlight="1" line copy>
logger -p auth.emerg "Somebody tried to connect to the system"
</syntaxhighlight>
 
Wenn Sie nun die Datei /var/log/auth.log überprüfen, können Sie die Nachricht finden, die Sie gerade auf dem rsyslog-Server protokolliert haben
Wenn Sie nun die Datei /var/log/auth.log überprüfen, können Sie die Nachricht finden, die Sie gerade auf dem rsyslog-Server protokolliert haben
$ tail -n 10 /var/log/auth.log | grep --color connect
<syntaxhighlight lang="bash" highlight="1" line copy>
tail -n 10 /var/log/auth.log | grep --color connect
</syntaxhighlight>
 
Der Logger ist sehr nützlich, wenn er beispielsweise in Bash-Skripten verwendet wird
Der Logger ist sehr nützlich, wenn er beispielsweise in Bash-Skripten verwendet wird
 
Aber was ist, wenn Sie Dateien mit dem systemd-journal protokollieren möchten?
''Aber was ist, wenn Sie Dateien mit dem systemd-journal protokollieren möchten?''


== systemd-cat ==
== systemd-cat ==

Version vom 31. Januar 2026, 17:38 Uhr

Linux/Logging/Dienstprogramme - Dienstprogramme für Linux-Logdateien

Beschreibung

Überwachung von Linux-Protokollen

Dienstprogramme

Der einfachste Weg

Linux-Protokolle zu lesen und zu überwachen, besteht darin, den Befehl tail mit der Option "-f" zu verwenden, um zu folgen

tail -f <file>

Um etwa die in der Datei auth.log geschriebenen Protokolle zu lesen, führen Sie den folgenden Befehl aus

tail -f /var/log/auth.log

Eine weitere großartige Möglichkeit zum Lesen von Linux-Protokollen ist die Verwendung grafischer Anwendungen, wenn Sie eine Linux-Desktop-Umgebung ausführen

Die " Protokolle Anwendung " ist eine grafische Anwendung, mit der Anwendungs- und Systemprotokolle aufgelistet werden, die in verschiedenen Protokolldateien (entweder in rsyslog oder journald) gespeichert werden können

Dienstprogramme

Nachdem Sie gesehen haben, wie die Protokollierung auf einem Linux-System konfiguriert werden kann, sehen wir uns einige Dienstprogramme an, die Sie für den Fall verwenden können, dass Sie Nachrichten protokollieren möchten

Logger

Das Logger- Dienstprogramm ist wahrscheinlich einer der am einfachsten zu verwendenden Log-Clients

Der Logger wird zum Senden von Protokollnachrichten an das Systemprotokoll verwendet und kann mit der folgenden Syntax ausgeführt werden.

logger <options> <message>

Angenommen, Sie möchten eine Notfallnachricht von der Authentifizierungsfunktion an Ihr Dienstprogramm rsyslog senden. Führen Sie dann den folgenden Befehl aus

logger -p auth.emerg "Somebody tried to connect to the system"

Wenn Sie nun die Datei /var/log/auth.log überprüfen, können Sie die Nachricht finden, die Sie gerade auf dem rsyslog-Server protokolliert haben

tail -n 10 /var/log/auth.log | grep --color connect

Der Logger ist sehr nützlich, wenn er beispielsweise in Bash-Skripten verwendet wird

  • Aber was ist, wenn Sie Dateien mit dem systemd-journal protokollieren möchten?

systemd-cat

Um Nachrichten an das systemd-Journal zu senden, müssen Sie den Befehl "systemd-cat" verwenden und den Befehl angeben, den Sie ausführen möchten

$ systemd-cat <command> <arguments>

Wenn Sie die Ausgabe des Befehls "ls -l" an das Journal senden möchten, schreiben Sie den folgenden Befehl

$ systemd-cat ls -l

Es ist auch möglich, "Nur-Text" -Protokolle an das Journal zu senden, indem der Befehl echo an das Dienstprogramm systemd-cat weitergeleitet wird

$ echo "This is a message to journald" | systemd-cat

Wall

Der Befehl wall steht nicht in direktem Zusammenhang mit Protokollierungsdienstprogrammen, kann jedoch für die Linux-Systemadministration sehr nützlich sein

Der Befehl wall wird verwendet, um Nachrichten an alle angemeldeten Benutzer zu senden.

$ wall -n <message>

Wenn Sie beispielsweise allen angemeldeten Benutzern eine Nachricht schreiben würden, um sie über den nächsten Neustart des Servers zu informieren, würden Sie den folgenden Befehl ausführen

$ wall -n "Server reboot in five minutes, close all important applications"

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Links

Projekt

Weblinks