GNU/Linux >> LINUX-Kenntnisse >  >> Linux

3 Möglichkeiten zum Ansehen von Protokollen in Echtzeit unter Linux

Sie wissen, wie man Dateien unter Linux anzeigt. Zu diesem Zweck verwenden Sie den cat-Befehl oder wahrscheinlich weniger den Befehl.

Das ist gut für Dateien mit statischem Inhalt. Protokolldateien sind jedoch dynamisch und ihr Inhalt ändert sich mit der Zeit. Um Protokolle zu überwachen, müssen Sie die Protokolldatei beobachten, während sich ihr Inhalt ändert.

Wie sehen Sie den Inhalt von Protokolldateien in Echtzeit? Tail ist der beliebteste Befehl für diesen Zweck, aber es gibt auch einige andere Tools. Ich zeige sie dir in diesem Tutorial.

Methode 1:Protokolldateien mit dem tail-Befehl überwachen

Der tail-Befehl ist so beliebt, um Log-Dateien im wirklichen Leben anzusehen, dass Systemadministratoren den Begriff „Tail the Log File“ verwenden.

Der tail-Befehl wird im Wesentlichen verwendet, um die Zeilen einer Datei vom Ende her anzuzeigen, daher der Begriff 'tail'.

Sie können das -f verwenden Option, dem Ende einer Datei zu folgen, was bedeutet, dass die der Datei neu hinzugefügten Zeilen fortlaufend angezeigt werden.

tail -f location_of_log_file

Um das Tailing der Protokolldatei zu stoppen, verwenden Sie Strg+C Terminalverknüpfung.

Tail und grep

In Ordnung! Der Befehl tail löst also ein Problem, indem er die Dateiänderungen im wirklichen Leben anzeigt. Es ist jedoch nicht sehr hilfreich, die Protokolldatei kontinuierlich zu beobachten, wenn so viele schnelle Änderungen in Echtzeit stattfinden.

Beim Überwachen der Protokolldatei suchen Sie häufig nach einem bestimmten Begriff. Das in der Flut eingehender neuer Zeilen zu finden, ist nahezu unmöglich.

Kombinieren Sie zur Vereinfachung den Befehl tail und grep wie folgt:

tail -f log_file | grep search_term

Das ist gut, oder? Machen wir es ein bisschen besser.

Ich habe oft festgestellt, dass nur die Zeilen mit den gesuchten Begriffen nicht die notwendigen Details preisgeben. Aus diesem Grund verwende ich den grep-Befehl, um mit der Option -C einige Zeilen vor und nach dem gesuchten Begriff anzuzeigen .

tail -f log_file | grep -C 3 search_term

Jetzt sehen Sie die Zeilen, die mit dem Suchbegriff übereinstimmen, sowie 3 Zeilen davor und danach. Dies gibt eine bessere Perspektive auf das, was passiert.

Willst du es noch besser machen? Sie können nach mehreren Suchbegriffen suchen und sogar eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung vornehmen:

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

Tailing der Datei mit Protokollrotation

Wenn Sie auf einem Unternehmensserver arbeiten, werden die Protokolle wahrscheinlich rotiert. Dies bedeutet, dass die aktuelle Protokolldatei, nachdem sie eine bestimmte Größe erreicht hat, umbenannt und gezippt wird.

Das führt zu einem Problem, wenn Sie eine Protokolldatei in Echtzeit verfolgen. Standardmäßig arbeitet der tail-Befehl mit dem Dateideskriptor. Wenn die aktuelle Protokolldatei rotiert wird, zeigt der tail-Befehl jetzt auf eine archivierte Protokolldatei, die jetzt keine Änderungen aufzeichnet.

Die Lösung besteht darin, einer Protokolldatei nach ihrem Namen zu folgen. Auf diese Weise zeigt der Schwanz, selbst wenn eine Log-Rotation stattfindet, auf die aktuelle Log-Datei (weil sich ihr Name nie ändert).

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

Das ist jetzt viel besser. Wenn Sie das nächste Mal eine Protokolldatei überwachen, verwenden Sie sie auf diese Weise, um sie effektiver zu überwachen.

Tail ist gut geeignet, um eine Protokolldatei in Echtzeit zu überwachen, aber was ist, wenn Sie mehr als eine Protokolldatei gleichzeitig analysieren müssen? Die Antwort liegt im nächsten Abschnitt.

Überwachung mehrerer Protokolldateien mit tail

Dies sollte in Linux-Systemen funktionieren. Mit dem tail-Befehl können Sie mehrere Protokolldateien gleichzeitig überwachen. Geben Sie einfach den Pfad der Datei auf diese Weise an:

tail -f log_file_1 -f log_file_2

Sie werden sehen, dass die Änderungen in Echtzeit zusammen mit dem Dateinamen davor angezeigt werden, sodass Sie zwischen verschiedenen Protokollquellen unterscheiden können.

Es gibt eine etwas bessere Möglichkeit, mehrere Protokolldateien gleichzeitig anzuzeigen, indem Sie ein Dienstprogramm namens Multitail verwenden.

Methode 2:Mehrere Protokolldateien gleichzeitig mit Multitail überwachen

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

Was ist die große Sache? Das gleiche kann auch der tail-Befehl, richtig?

Aber Multitail hat einige Vorteile gegenüber dem herkömmlichen Tail-Befehl. Es zeigt die Dateien in geteilten Ansichten und Sie können sogar verschiedene Dateien in verschiedenen Zeilen und Spalten anzeigen.

Denken Sie daran, dass tail alles in der gleichen Ansicht zeigt und das wird schwierig zu verfolgen. Multitail überwindet diese Schwierigkeit, indem es eine geteilte Ansicht wie der Bildschirmbefehl bereitstellt.

Multitail ist kein wesentlicher Befehl wie tail und Sie müssen ihn möglicherweise installieren, bevor Sie ihn verwenden können.

Sie können ihm mehrere Dateien zur Verfügung stellen, aber ich denke, es wäre schwierig, mehr als 3 Dateien gleichzeitig zu folgen.

multitail log_file_1 log_file_2

Standardmäßig funktioniert Multitail genauso wie tail -f . Es zeigt die letzten 100 Zeilen und geht dann in die Echtzeitansicht. Standardmäßig wird die Ansicht in Zeilen geteilt.

Sie können b drücken, um ein Auswahlfenster zu öffnen und eine Protokolldatei Ihrer Wahl auszuwählen, um sie anzuzeigen und für eine weitere und tiefere Analyse durch sie zu scrollen.

Drücken Sie zum Beenden q aus allen Arten von Ansichten in Multitail.

Sie können die Ansichten wie folgt in Spalten aufteilen:

multitail -s 2 log_file_1 log_file_2

Zwischen -s ist ein obligatorisches Leerzeichen und die Anzahl der Spalten.

Multitail kann einige andere Dinge tun, aber ich werde in diesem Tutorial nicht auf diese Details eingehen.

Bisher haben Sie zwei Möglichkeiten zur Überwachung von Protokolldateien gesehen. Es gibt eine andere, aber weniger konventionelle Möglichkeit, Dateiänderungen im wirklichen Leben zu sehen, und zwar die Verwendung des Befehls less

Methode 3:Protokolldateiänderungen in Echtzeit mit weniger Befehl anzeigen

Der Less-Befehl eignet sich eher zum Lesen von Textdateien, ohne den Bildschirm zu überladen. Es kann auch zum Lesen von Dateien mit Änderungen in Echtzeit verwendet werden.

Die Option +F ermöglicht Lessern, die an einer Textdatei vorgenommenen Änderungen zu verfolgen.

less +F log_file

Es öffnet die Protokolldateien, wobei Änderungen in Echtzeit angezeigt werden.

Drücken Sie Strg+c, um die Ansicht zu unterbrechen, und q, um die Ansicht zu verlassen.

Diese Methode ermöglicht Ihnen eine schnelle Ansicht der Log-Änderungen, ohne dass der Bildschirm im Gegensatz zum tail-Befehl unübersichtlich wird.

Schlussfolgerung

Diese Methode zur Überwachung von Protokolldateien in Linux funktioniert für die herkömmlichen textbasierten Protokolldateien. Für die Systemprotokolle gibt es immer noch Syslogs, aber viele Linux-Distributionen haben auf Journalprotokolle umgestellt, und um die Journalprotokolle anzuzeigen und zu analysieren, müssen Sie journalctl-Befehle verwenden.

Abgesehen davon gibt es andere ausgefeilte Tools wie Graylog für die Protokollanalyse auf einer tieferen Ebene mit Dashboards und Grafiken. Mehr dazu in einem anderen Artikel.

Ich hoffe, Sie haben ein paar neue Dinge aus diesem scheinbar einfachen Thema zur Echtzeit-Protokollüberwachung unter Linux gelernt. Ihr Feedback ist willkommen.


Linux
  1. So verwenden Sie den Befehl tail, um Protokolle in Echtzeit anzuzeigen

  2. Dateizugriffsbefehle in Linux – finden, sortieren, Kopf, Schwanz

  3. Sehen Sie sich das Dateisystem in Echtzeit auf OS X und Ubuntu an

  4. Wie verwendet Linux eine Echtzeituhr?

  5. Wie wendet man einen Filter auf die Echtzeitausgabe von `tail -f ` an?

So überprüfen Sie Systemprotokolle unter Linux [Vollständige Bedienungsanleitung]

Was sind Linux-Protokolle und wo sind sie zu finden?

7 Möglichkeiten, den Linux Watch-Befehl zu verwenden

GoAccess – Ein Echtzeit-Apache- und Nginx-Protokollanalysator

15 Möglichkeiten, den Linux Watch-Befehl für alltägliche Aktivitäten zu verwenden

Überwachen Sie die Bandbreitennutzung des Linux-Netzwerks in Echtzeit mit nload