Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Drei Befehle zum Anzeigen von Protokollen unter Linux

Drei Befehle zum Anzeigen von Protokollen unter Linux

藏色散人
藏色散人Original
2023-01-04 14:00:556289Durchsuche

Die drei Befehle zum Anzeigen von Protokollen unter Linux sind: 1. tail-Befehl, der Änderungen im Dateiinhalt und Protokolldateien in Echtzeit anzeigen kann; 2. multitail-Befehl, der mehrere Protokolldateien gleichzeitig überwachen kann; Befehl: Mit diesem Befehl können Sie Änderungen am Protokoll schnell sehen, ohne den Bildschirm zu überladen.

Drei Befehle zum Anzeigen von Protokollen unter Linux

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.

Was sind die drei Befehle zum Anzeigen von Protokollen unter Linux?

3 Möglichkeiten, Protokolle in Echtzeit unter Linux anzuzeigen

Kürzlich habe ich einen Cloud-Server von cnaaa.com gekauft.

Wir alle sollten wissen, wie man Dateien unter Linux anzeigt. Sie können beispielsweise den Befehl cat oder less verwenden.

Dies eignet sich gut zum Anzeigen statischer Dateien. Protokolldateien sind dynamisch und ihr Inhalt kann sich jederzeit ändern. Um Protokolldateien zu überwachen, müssen Sie in Echtzeit sehen können, wann sich der Inhalt der Protokolldateien ändert.

Wie kann man Protokolldateien in Echtzeit anzeigen? Darüber hinaus gibt es weitere Tools, mit denen Protokolldateien in Echtzeit angezeigt werden können.

1. Verwenden Sie den Tail-Befehl, um die Protokolldatei anzuzeigen.

Der Tail-Befehl ist sehr weit verbreitet, daher verwenden Systemadministratoren häufig das Mantra „Tail the Log File“ (d. h. „Tail the Log File“).

In den meisten Fällen wird der Befehl tail verwendet, um den Inhalt am Ende der Datei anzuzeigen, daher wird er tail genannt.

Verwenden Sie die Option -f, um den Inhalt am Ende der Datei zu verfolgen, was bedeutet, dass neu hinzugefügte Inhalte weiterhin zur Datei angezeigt werden.

tail -f location_of_log_file

[Die externe Link-Bildübertragung ist möglicherweise über einen Anti-Leeching-Mechanismus verfügt. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-nzCWCjye-1664183028850)(D:/img/640.png) ]

Um die Verfolgung der Protokolldatei zu stoppen, können Sie die Tastenkombination Strg + C verwenden.

tailgrep

Wie oben erwähnt, kann der Befehl tail Änderungen im Dateiinhalt in Echtzeit anzeigen. Wenn der Dateiinhalt jedoch sehr schnell aktualisiert wird, blitzt der neu aktualisierte Inhalt auf. In diesem Fall ist die Anzeige nicht so bequem.

Wenn wir beispielsweise Protokolldateien verfolgen, überwachen wir häufig einen bestimmten Begriff (eine bestimmte Zeichenfolge), was bei einer großen Menge schnell aktualisierter Inhalte sehr unpraktisch ist.

Um dieses Problem zu lösen, können wir die Befehle tail und grep kombinieren. Wie unten gezeigt:

tail -f log_file | grep search_term

[Die externe Link-Bildübertragung ist fehlgeschlagen. Die Quellseite verfügt möglicherweise über einen Anti-Leeching-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-LxXIylsU-1664183028854)(D:/img/. 640-1664179747239-1.png )]

So sieht es viel besser aus, oder? Lassen Sie uns auf dieser Grundlage einige Verbesserungen vornehmen.

Verwenden Sie grep, um Suchbegriffe anzuzeigen. Es werden nur die Suchergebnisse angezeigt. Daher verwenden wir häufig die Option -C, um die ersten und letzten Zeilen der Suchergebnisse anzuzeigen:

tail -f log_file | grep -C 3 search_term

Auf diese Weise , wir können die relevanten Suchergebnisse sehen. Die folgenden Informationszeilen können die Protokollinformationen besser verfolgen.

Möchten Sie einige Verbesserungen vornehmen? Sie können grep für mehrere Suchbegriffe verwenden und dann die Groß-/Kleinschreibung ignorieren:

tail -f log_file | grep -C 3 -i - E 'search_term_1|search_term_2'

Verwenden Sie die Protokollrotation, um Protokolle zu verfolgen. Bei den meisten Unternehmensservern werden Protokolle rotiert, d. h., wenn die Protokolldatei eine bestimmte Größe erreicht umbenannt und komprimiert werden.

[Die externe Link-Bildübertragung ist möglicherweise über einen Anti-Leeching-Mechanismus verfügen. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-h2RUcofL-1664183028856)(D:/img/640-1664179747241-2 .png)]

Wenn das Verfolgen von Protokolldateien in Echtzeit zu Problemen führen kann. Standardmäßig funktioniert der Befehl tail mit Dateideskriptoren. Wenn die aktuelle Protokolldatei rotiert wird, verweist der Befehl tail nun auf eine archivierte Protokolldatei, die nun keine Änderungen protokolliert.

Die Lösung besteht darin, die Protokolldatei anhand ihres Namens zu verfolgen. Auf diese Weise zeigt das Ende auch bei einer Protokollrotation auf die aktuelle Protokolldatei (da sich ihr Name nie ändert).

tail --follow=name log_file | grep -C 3 -i - E 'search_term_1|search_term_2'

tail eignet sich sehr gut für die Echtzeitüberwachung von Protokolldateien, die obige Methode überwacht jedoch nur eine Protokolldatei. Was ist, wenn Sie mehrere Protokolldateien überwachen möchten? Bitte lesen Sie den nächsten Abschnitt.

Verwenden Sie tail, um mehrere Protokolldateien anzuzeigen.

Wenn Sie in einem Linux-System arbeiten, können Sie den Befehl tail verwenden, um mehrere Protokolldateien gleichzeitig zu überwachen. Sie müssen nur den Pfad der Datei angeben:

tail -f log_file_1 -f log_file_2

Mit den oben genannten Mit dem Befehl werden die Protokolldateien in Echtzeit aktualisiert. Vor Ihnen steht ein Dateiname zur Unterscheidung verschiedener Protokolldateien:

[Externer Link Bildübertragung fehlgeschlagen, die Quellseite verfügt möglicherweise über einen Anti-Leeching-Mechanismus Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-CMiWKszs-1664183028859) (D:/img/640-1664179747242-3.png)]

Zusätzlich zu der oben genannten Methode gibt es noch eine weitere bequemere Möglichkeit: Verwenden Sie ein Tool namens Multitail.

2. Verwenden Sie Multitail, um mehrere Protokolldateien gleichzeitig zu überwachen.

Wie der Name schon sagt, wird Multitail verwendet, um mehrere Dateien gleichzeitig anzuzeigen.

Was ist das Besondere an Multitail, da Tail mehrere Dateien gleichzeitig überwachen kann?

Das Schöne an Multitail ist, dass es Dateien in der geteilten Ansicht und sogar verschiedene Dateien in verschiedenen Zeilen und Spalten anzeigen kann.

tail 在同一视图中显示所有内容,所以有时候很难跟踪,multitail 通过提供类似 screen 命令的分割视图来克服了这一困难。

注意,multitail 在大多数Linux系统中没有被默认安装,所以在使用前需要先手动安装。

在 multitail 命令后跟文件路径,最好一次不要超过3个,因为超过3个或以上,跟踪起来就比较困难了。

multitail log_file_1 log_file_2

默认情况下,multitail 的工作方式与 tail -f 相同,它显示最后100行,然后进入实时监视视图;另外,它按行来拆分视图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EZ9iX4d3-1664183028861)(D:/img/640-1664179747242-4.png)]

你可以按 b 键打开一个文件选择窗口,选择某个日志文件查看,以做进一步分析。

分割视图使用 -s 选项,后面跟一个数字,即视图的数量:

multitail -s 2 log_file_1 log_file_2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ETQjV0KA-1664183028863)(D:/img/640-1664179747243-5.png)]

按 q 键可退出 multitail 所有的视图。

multitail 可以做的还有很多,大家感兴趣可以查看一下它的官方文档,本文就不继续介绍了。

3. 使用 less 命令实时查看日志文件

less 命令多用于读取文本文件,也可用于读取实时被更改的文件。

选项 +F 可以实时跟踪文件的更改:

less +F log_file

上述命令会打开日志文件,并实时显示正在写入的更改:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oDZivgss-1664183028865)(D:/img/640-1664179747243-6.png)]

按 ctrl +c 中断显示,按 q 会退出视图。

与 tail 命令不同,此方法可以让我们快速查看日志的更改,而不会使屏幕混乱。

上述监视日志的方法适用于传统的基于文本的日志文件。对于系统日志,可以使用 syslogs,但是现在许多 Linux 发行版已经开始使用 journal 日志来查看和分析日志,所以需要使用 journalctl 命令。

推荐学习:《Linux视频教程

Das obige ist der detaillierte Inhalt vonDrei Befehle zum Anzeigen von Protokollen unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn