Eine Protokolldatei ist eine Datei, die eine Reihe von Datensätzen (oder eine Liste von Ereignissen) enthält, die vom System selbst protokolliert wurden. Anhand der Protokolldateien kann der Systemadministrator verfolgen, was an einem bestimmten Tag oder zu einer bestimmten Uhrzeit passiert ist. Meistens werden Protokolldateien von den Administratoren zur Fehlerbehebung verwendet. Die Protokolldateien werden automatisch generiert und in einem gemeinsamen Verzeichnis gespeichert - /var/log/ . Wir können Nachrichten auch manuell zu Linux-Systemprotokolldateien hinzufügen. Beispielsweise nach dem Einrichten eines Protokollservers , möchten Sie möglicherweise überprüfen, ob der Protokollserver ordnungsgemäß funktioniert oder nicht. Dazu können wir manuell einige Einträge in den Protokolldateien hinzufügen, um den Protokollserver zu testen. Hier sind Logger Befehl ist praktisch.
Mit dem Logger-Befehl Meldungen zu Linux-Systemprotokolldateien hinzufügen
Der Logger-Befehl ist Teil von util-linux Paket, also machen Sie sich nicht die Mühe, es zu installieren. Lassen Sie mich Ihnen einige Beispiele zeigen.
Das manuelle Hinzufügen von Einträgen zu den Systemprotokolldateien ist absolut einfach! Die typische Verwendung des Logger-Befehls ist:
logger <message-to-add>
Beispiel:
$ logger Welcome to OSTechNix
Der obige Befehl fügt den Eintrag „Willkommen bei OSTechNix“ zu den Systemprotokolldateien hinzu.
Lassen Sie uns mit 'tail' überprüfen, ob die Nachricht hinzugefügt wurde oder nicht Befehl:
$ tail -l /var/log/syslog
Beispielausgabe:
Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on REST API socket for snapd user session agent. Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on GnuPG network certificate management daemon. Jan 31 07:19:23 ubuntuserver systemd[1705]: Listening on GnuPG cryptographic agent and passphrase cache. Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Sockets. Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Timers. Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Basic System. Jan 31 07:19:23 ubuntuserver systemd[1]: Started User Manager for UID 1000. Jan 31 07:19:23 ubuntuserver systemd[1705]: Reached target Default. Jan 31 07:19:23 ubuntuserver systemd[1705]: Startup finished in 298ms. Jan 31 07:33:14 ubuntuserver sk: Welcome to OSTechNix
Wie Sie in der Ausgabe sehen, wurde die angegebene Nachricht zur Syslog-Datei hinzugefügt.
Hinweis:
Verschiedene Linux-Betriebssysteme speichern Protokollmeldungen in verschiedenen Dateien. Ich schlage vor, dass Sie in /var/log/ nachsehen Verzeichnis, um zu erfahren, in welchen Dateien die Protokolle gespeichert sind. In RPM-basierten Systemen wie CentOS werden die allgemeinen Protokollmeldungen in /var/log/messages gespeichert Datei anstelle von /var/log/syslog Datei.
Sie können die Nachrichten auch hinzufügen, indem Sie sie in einfache oder doppelte Anführungszeichen setzen.
$ logger "Welcome to OSTechNix blog"
Oder,
$ logger 'Howdy, Welcome to OSTechNix blog'
Prüfen Sie mit dem tail-Befehl, ob die Einträge zur Syslog-Datei hinzugefügt wurden:
$ tail -l /var/log/syslog [...] Jan 31 07:40:02 ubuntuserver sk: Welcome to OSTechNix blog Jan 31 07:40:31 ubuntuserver sk: Howdy, Welcome to OSTechNix blog
Logger-PID zu Systemprotokollen hinzufügen
Wir können sogar die PID des Logger-Prozesses protokollieren mit jeder Zeile mit -i kennzeichnen wie unten.
$ logger -i 'Howdy, Welcome to OSTechNix blog'
Überprüfen Sie die Log-Meldungen mit dem tail-Befehl:
$ tail -l /var/log/syslog [...] Jan 31 07:49:22 ubuntuserver sk[1879]: Howdy, Welcome to OSTechNix blog
Hier, 1879 ist die Prozess-ID des Loggers.
Tags zu Nachrichten hinzufügen
Wie Sie vielleicht in den obigen Ausgaben bemerkt haben, werden die neu hinzugefügten Einträge mit dem aktuell angemeldeten Benutzernamen gekennzeichnet, z. B. sk . Das Standard-Tag ist der Name des am Terminal angemeldeten Benutzers. Wir können jedoch mit -t jede zu protokollierende Zeile mit einem bestimmten Tag markieren Flagge.
$ logger -i -t ostechnix 'Howdy, Welcome to OSTechNix blog'
Überprüfen Sie die Protokolleinträge:
$ tail -l /var/log/syslog [...] Jan 31 07:54:02 ubuntuserver ostechnix[1881]: Howdy, Welcome to OSTechNix blog
Sehen? der letzte Eintrag ist mit ostechnix getaggt und seine Prozess-ID ist 1881 .
Meldungen aus einer Datei zu den Protokolldateien hinzufügen
Es ist auch möglich, Einträge aus einer Datei zu unseren Systemprotokolldateien hinzuzufügen.
Lassen Sie uns eine Beispieltextdatei erstellen.
$ echo "This is test file" > file.txt
$ cat file.txt This is test file
Fügen Sie nun den Inhalt der Datei „file.txt“ mit dem folgenden Befehl zu den Systemprotokolldateien hinzu:
$ logger -f file.txt
Protokolldateien prüfen:
$ tail -l /var/log/syslog [...] Jan 31 08:43:06 ubuntuserver sk: This is test file
Wenn die Eingabedatei leere Zeilen enthält, können Sie diese mit -e von der Aufnahme in die Protokolldateien ausschließen kennzeichnen wie unten.
$ logger -e -f file.txt
Nachrichten mit Priorität protokollieren
Es ist möglich, Nachrichten mit einer bestimmten Priorität zu protokollieren.
$ logger "Welcome To OSTechNix" --priority user.warning
Die Standardpriorität ist 'user.notice' . Sehen Sie sich die Logger-Manpage an, um alle verfügbaren Prioritätsoptionen zu erfahren.
Nehmen Sie Eingaben von 'stdin' und Nachrichten an Systemprotokolle entgegen
Wir können die Eingabe von stand input umleiten und sie mit dem Befehl:
in das Syslog verschieben$ echo "Welcome to OSTechNix" | logger
Nachrichten an entfernten Protokollserver senden
Führen Sie Folgendes aus, um die Nachrichten an einen entfernten Syslog-Server zu senden, der an einem bestimmten Port ausgeführt wird:
$ logger "Welcome to OSTechNix" --server <hostname-or-ip> --port <port-no>
Oder,
$ logger "Welcome to OSTechNix" -n <hostname-or-ip> -p <port-no>
Die Standardportnummer ist 514 .
Begrenzen Sie die Größe der Nachrichten
Wir können die maximal zulässige Nachrichtengröße mit --size festlegen Flagge.
$ logger --size 5 abcdefghijklmnopqrswxyz
Überprüfen Sie die Größe der Protokollnachricht:
$ tail -l /var/log/syslog [...] Jan 31 09:09:02 ubuntuserver sk: abcde
Der Standardwert ist 1 KiB Zeichen.
Weitere Einzelheiten finden Sie in den Manpages.
$ man logger
Empfohlene Lektüre:
- So verwalten Sie Protokolldateien mit Logrotate unter Linux