So verwalten Sie Logs von Linux-Dateien mit lograte

Linux-Distributionen eignen sich aufgrund ihrer Fähigkeit, sich an neue Funktionen und Rollen anzupassen, ideal für jede Art von Unternehmensumgebung und sind dank des kostenlosen Codes vor allem kostenlos.

Wir verfügen über Tausende von Anwendungen oder Dienstprogrammen, die für die zentrale Steuerung aller Aspekte des Systems entwickelt wurden, und als Administratoren oder IT-Mitarbeiter wissen wir mit Sicherheit, wann ein Fehler auftritt und wie er behoben werden kann.

In diesem weiten Bereich von Möglichkeiten können wir Logrotate finden, das ein Dienstprogramm der Distribution ist und dessen Funktion die Drehung und Komprimierung der Registrierungsdateien ist .

Diese Aufgabe ist wichtig, da der Speicherplatz auf der Festplatte beeinträchtigt werden kann, wenn für diese Dateien keine Maßnahmen ergriffen werden. Dies kann zu anderen Arten von allgemeinen Fehlern führen.

In diesem Fall verwenden wir Ubuntu 17.10, und Logrotate wird standardmäßig installiert und ist bereits für die Verwaltung der Aufgaben zur Datensatzrotation aller installierten Pakete konfiguriert, einschließlich rsyslog, dem Standard-Systemregistrierungsprozessor.

Als Nächstes erfahren Sie, wie Sie dieses nützliche Dienstprogramm installieren und verwenden.

1. Ermitteln Sie die Version von Logrotate, auf der Linux installiert ist

Der erste Schritt besteht darin, genau zu wissen, welche Version von Logrotate in diesem Fall Ubuntu 17.10 ist. Dazu führen wir folgenden Befehl aus:

 Logrotate-Version 

Das Ergebnis wird folgendes sein: _administrar-Logs-de-archivos-Linux-con-lograte-1.png

Wenn Logrotate nicht installiert ist, erhalten wir eine Fehlermeldung. Wir können das Tool mit dem Paketmanager der verwendeten Linux-Distribution installieren.

Wenn Logrotate installiert ist, die Versionsnummer sich jedoch erheblich unterscheidet, können Probleme mit einigen Dienstprogrammeinstellungen auftreten. Wir können die Dokumentation der spezifischen Version von Logrotate direkt auf der Manpage einsehen:

 Mann logrotieren 

Wir können die Standardkonfigurationsstruktur von Logrotate in der Linux-Distribution sehen: _administrar-Logs-de-archivos-Linux-con-lograte-2.png

2. Konfigurieren von Logrotate Linux

Logrotate-Konfigurationsinformationen finden Sie im Falle von Ubuntu normalerweise an zwei Stellen:

etc / logrotate.conf
Diese Datei enthält einige Standardeinstellungen und legt die Rotation für einige Datensätze fest, die keinem Systempaket gehören. Außerdem wird eine Einschlussanweisung verwendet, um die Konfiguration aus einer beliebigen Datei im Verzeichnis /etc/logrotate.d abzurufen.

/etc/logrotate.d/
In diesem Verzeichnis befindet sich jedes Paket, das wir installieren und das Hilfe bei der Rotation von Datensätzen benötigt, um Ihre Logrotate-Konfiguration abzulegen. In einer Standardinstallation müssen hier bereits Dateien für grundlegende Systemtools wie apt, dpkg, rsyslog usw. vorhanden sein.

See also  So ändern Sie den Standardordner von OneDrive Windows 10

Standardmäßig konfiguriert logrotate.conf wöchentliche Datensatzrotationen (wöchentlich) mit Protokolldateien, die dem Root-Benutzer und der Syslog-Gruppe (ihrem Root-Syslog) gehören, wobei vier Protokolldateien beibehalten werden (Rotation 4) und neue Dateien erstellt werden von leeren Datensätzen. erstellt, nachdem der aktuelle gedreht wurde (create).

Mit dem Dienstprogramm cat können wir auf die Logrotate-Konfigurationsdatei eines Pakets in /etc/logrotate.d zugreifen:

 cat /etc/logrotate.d/apt 

_administrar-Logs-de-archivos-Linux-con-lograte-3.png

Diese Datei enthält Konfigurationsblöcke für zwei verschiedene Protokolldateien im Verzeichnis / var / log / apt /: term.log und history.log. Beide haben die gleichen Möglichkeiten.

Jede Option, die in diesen Konfigurationsblöcken nicht konfiguriert ist, übernimmt die Standardwerte oder die in /etc/logrotate.conf festgelegten Werte. Die für die Apt-Register konfigurierten Optionen sind:

12 drehen
Es werden zwölf alte Protokolldateien gespeichert.

Monatlich
Einmal im Monat drehen.

Komprimieren
Es ist für das Komprimieren der gedrehten Dateien verantwortlich. Dies verwendet standardmäßig gzip und führt zu Dateien mit der Erweiterung .gz. Der Komprimierungsbefehl kann mit der Option compresscmd geändert werden.

missingok
Schreiben Sie keine Fehlermeldung, wenn die Protokolldatei fehlt.

notifempty
Dreht die Protokolldatei nicht, wenn sie leer ist.

Es stehen viele weitere Konfigurationsoptionen zur Verfügung.

3. Konfigurieren eines Logrotate Linux-Dienstes und Hinzufügen einer Konfiguration zu /etc/logrotate.d/

Als Nächstes konfigurieren wir eine Konfigurationsdatei, um die Datensätze eines Dienstes zu verarbeiten, den wir erstellen werden.

Um die Protokolldateien für Anwendungen außerhalb vorkonfigurierter und vorkonfigurierter Systemdienste zu verwalten, haben wir zwei Möglichkeiten:

  • Erstellen Sie eine neue Logrotate-Konfigurationsdatei und platzieren Sie diese im Pfad /etc/logrotate.d/. Dies wird zusammen mit allen anderen Standard-Logrotate-Jobs täglich als Root-Benutzer ausgeführt.
  • Erstellen Sie eine neue Konfigurationsdatei und führen Sie sie außerhalb der Ubuntu Logrotate-Standardkonfiguration aus. Dies ist nur erforderlich, wenn wir Logrotate als Nicht-Root-Benutzer ausführen müssen oder Datensätze häufiger als täglich wechseln möchten (eine Konfiguration pro Stunde in /etc/logrotate.d/ wäre nicht effektiv, da nur die Logrotate-Konfiguration des Systems zutrifft einmal am Tag laufen).

In diesem Fall möchten wir die Rotation von Datensätzen für einen Webserver konfigurieren, der ein access.log und ein error.log im Pfad / var / log / solvetic-app / ablegt. Es wird als Benutzer und Gruppe von WWW-Daten ausgeführt.

See also  Java / Spring - Spring installieren

Um /etc/logrotate.d/ etwas zu konfigurieren, müssen wir zuerst eine neue Datei auf folgende Weise öffnen:

 sudo nano /etc/logrotate.d/solvetic-app 

dort werden wir die folgenden Zeilen hinzufügen:

 /var/log/solvetic-app/*.log} 

_administrar-Logs-de-archivos-Linux-con-lograte-4.png

Wir können die Änderungen mit der Tastenkombination Strg + O speichern und den Editor mit Strg + X verlassen.

Einige der neuen Konfigurationsanweisungen in dieser Datei sind:

0640 www-daten erstellen www-daten
Dieser Parameter erstellt nach der Rotation eine neue leere Protokolldatei mit den angegebenen Berechtigungen (0640), dem Eigentümer (WWW-Daten) und der Gruppe (auch WWW-Daten).

SharedScripts
Dieser Indikator gibt an, dass der Konfiguration hinzugefügte Skripts nur einmal pro Lauf ausgeführt werden und nicht für jede gedrehte Datei.

postrotieren Sie zum Endskript
Dieser Block enthält ein Skript, das ausgeführt wird, nachdem die Protokolldatei gedreht wurde. In diesem Fall können wir unsere TechnoWikis-App-Datei neu laden. Dies ist manchmal erforderlich, damit die Anwendung in die neu erstellte Protokolldatei wechselt.

Wir müssen die posttrotativen Ausführungen berücksichtigen, bevor die Datensätze überprüft werden. Die Komprimierung kann lange dauern und die Software sollte sofort auf die neue Protokolldatei umstellen. Verwenden Sie für die Aufgaben, die nach dem Komprimieren der Datensätze ausgeführt werden müssen, stattdessen den Lastaction-Block.

Nachdem Sie die Konfiguration angepasst haben, die unseren Anforderungen am besten entspricht und in /etc/logrotate.d gespeichert wurde, können Sie sie überprüfen, indem Sie die folgende Zeile ausführen.

 sudo logrotate /etc/logrotate.conf -debug 

Dies ruft logrotate auf, zeigt auf die Standardkonfigurationsdatei und aktiviert den Debug-Modus: _administrar-Logs-de-archivos-Linux-con-lograte-5.png

Es werden Informationen darüber ausgegeben, welche Protokolldateien Logrotate ausführt und was auf diesen ausgeführt wird. Wenn alles gut aussieht, sind wir fertig. Das Standardwerk von Logrotate wird einmal täglich ausgeführt und enthält die neue Konfiguration.

4. Erstellen einer separaten Registrierungskonfiguration Holen Sie sich Linux

Zunächst erstellen wir eine Konfigurationsdatei in unserem Home-Verzeichnis. Wir können es mit einem Texteditor öffnen:

 sudo nano /home/solvetic/logrotate.conf 

In die neue Datei fügen wir Folgendes ein:

 /home/solvetic/logs/*.log {stündlich fehltok drehen 24 komprimieren erstellen} 

_administrar-Logs-de-archivos-Linux-con-lograte-6.png

Wir können die Änderungen speichern und die Datei verlassen.

See also  Aktivieren Sie die Anmeldung. Zwei Faktoren sichern Google Drive, iCloud, OneDrive oder Dropbox

Diese Konfiguration dreht die Dateien stündlich, komprimiert und speichert vierundzwanzig alte Datensätze und erstellt eine neue Protokolldatei, um die gedrehte Datei zu ersetzen. Um zu beweisen, dass es richtig funktioniert, können wir eine Protokolldatei erstellen, indem wir die folgenden Zeilen ausführen:

 cd ~ sudo mkdir logssudo touch logs / access.log 

_administrar-Logs-de-archivos-Linux-con-lograte-7.png

Nachdem wir an der richtigen Stelle eine leere Protokolldatei haben, führen wir den Befehl logrotate aus.
Wir werden folgendes ausführen:

 logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate-state -verbose 

_administrar-Logs-de-archivos-Linux-con-lograte-8.png

Der Parameter –verbose gibt detaillierte Informationen darüber aus, was wir mit Logrotate ausführen. In diesem Fall sehen wir, dass nichts gedreht wurde. Dies ist das erste Mal, dass Logrotate diese Protokolldatei sieht, und wie wir wissen, hat die Datei null Stunden und sollte nicht gedreht werden.

Wenn wir die Statusdatei sehen, werden wir sehen, dass Logrotate bestimmte Informationen über die von uns durchgeführte Ausführung aufgezeichnet hat:

 cat / home / solvetic / logrotate-zustand 

Wir werden folgendes sehen: _administrar-Logs-de-archivos-Linux-con-lograte-9.png

Logrotate zeichnete die von ihm analysierten Aufzeichnungen auf und berücksichtigte sie zuletzt für die Rotation. Wenn wir diesen Befehl eine Stunde später ausführen, wird der Datensatz wie das Ziel gedreht. Wenn Sie Logrotate zwingen möchten, die Protokolldatei zu drehen, wenn Sie dies nicht tun sollten, können Sie das Flag –force verwenden:

 sudo logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate-state --verbose -force 

5. Erstellen einer geplanten Aufgabe Holen Sie sich Linux

Schließlich müssen wir einen Cron-Job konfigurieren, um Logrotate stündlich auszuführen. Dazu öffnen wir die crontab unseres Benutzers, indem wir folgendes ausführen:

 crontab -e 

In der geöffneten Datei werden wir die folgende Zeile hinzufügen:

 14 * * * * / usr / sbin / logrotate /home/solvetic/logrotate.conf --state / home / solvetic / logrotate-state 

_administrar-Logs-de-archivos-Linux-con-lograte-10.png

Diese Aufgabe wird täglich zur 14. Minute jeder vollen Stunde ausgeführt. Es funktioniert im Wesentlichen mit demselben Befehl logrotate, den wir zuvor ausgeführt haben, obwohl wir logrotate auf den vollständigen Pfad / usr / sbin / logrotate erweitert haben. Wir können die Datei mit der Tastenkombination Strg + O speichern und mit Strg + X beenden.

So haben wir gesehen, wie einfach, aber effektiv Logrotate ist, wenn es um die Verwaltung und Kontrolle von Datensätzen in jeder Linux-Distribution geht.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *