Logwatch: Leistungsstarker System Log Analyzer und Reporter für Linux
Wenn Sie ein Systemadministrator sind, wissen Sie wahrscheinlich, wie wichtig Protokolldateien sind und welche Schwierigkeiten Sie bei der Analyse haben, insbesondere wenn Sie mit einem ausgelasteten Server zu tun haben. Glücklicherweise gibt es bestimmte Tools, die Ihnen das Leben erleichtern. Einer davon ist Logwatch, ein Befehlszeilenprogramm für die Analyse und Berichterstellung von Logdateien in Linux.
In diesem Artikel werden die Grundlagen dieses Tools zusammen mit den Funktionen erläutert.
Hinweis : Alle in diesem Artikel beschriebenen Beispiele werden unter Ubuntu 14.04 und GNU bash, Version 4.3.11 (1), getestet. Logwatch ist jedoch für die meisten Linux Distributionen verfügbar.
Installation
Der Logwatch-Befehl befindet sich im Repository der meisten Linux-Distributionen und kann mit dem folgenden Befehl installiert werden.
Ubuntu oder Debian-basierte Distribution:
sudo apt-get install logwatch
oder
sudo yum logwatch installieren
für Centos, Fedora oder Redhat-basierte Distribution.
Sie können es auch von der Quelle auf seiner offiziellen Projektseite installieren.
Logwatch
Logwatch zielt hauptsächlich darauf ab, bei der Systemprotokollverwaltung zu helfen. Es hat die Fähigkeit, Ihre Protokolle für einen bestimmten Zeitraum zu durchlaufen und einen Bericht in den Bereichen, die Sie wünschen, mit den Details, die Sie wünschen, zu erstellen. Hier sind einige Beispiele, die die Verwendung erklären:
Informiere dich über alles
Standardmäßig analysiert und meldet das Logwatch-Tool Protokolle für eine Vielzahl von Diensten. Hier ist zum Beispiel die Ausgabe, wenn der Befehl ohne Optionen ausgeführt wurde:
Wie Sie sehen können, sind die Ausgabeinformationen groß und nicht bequem genug, um auf dem Terminalbildschirm angezeigt zu werden. Also, es ist am besten Sie umleiten es in eine Textdatei für die einfache Anzeige.
Der obige Screenshot sollte Ihnen einen Eindruck von der Art des von Logwatch erstellten Berichts vermitteln. Die Kopfzeile oben gibt Ihnen eine Zusammenfassung der Standardkonfiguration des Befehls. Beispielsweise enthält das Feld "Verarbeitung initialisiert" Informationen zu Datum und Uhrzeit der Ausführung des Befehls, das Feld "Verarbeiteter Datumsbereich" enthält Informationen zum Zeitraum der analysierten Protokolle, das Feld "Detaillierungsebene" enthält Informationen auf der Detailebene des Berichts, und die letzten beiden Felder enthalten Informationen zum Ausgabeformat und zum lokalen Host.
Nach all diesen Informationen beginnt der eigentliche Bericht, wobei Protokolle auf der Basis von Diensten getrennt werden. Der erste Dienst hier ist beispielsweise dpkg status, gefolgt von Kernel, pam_unix, Connections, sudo und mehr.
Begrenzen Sie die Ausgabe auf einen bestimmten Service
Wenn Sie möchten, können Sie die Ausgabe des Befehls auf einen bestimmten Dienst beschränken. Dies kann mit der Option --service
. Hier ist ein Beispiel:
Sie können also sehen, dass der Befehl nur für den pam_unix-Service spezifische Berichte erstellt hat.
Geben Sie die Detailstufe an
Mit dem Befehl können Sie auch die Detailstufe des Berichts mit der Option --detail
. Das Argument für diese Option kann hoch, med oder niedrig sein, was den Ganzzahlen 10, 5 bzw. 0 entspricht.
Wie aus dem ersten Beispiel in diesem Artikel hervorgeht, ist die Standarddetailstufe 0. Hier ist die Standardausgabe des Befehls für den Kernel-Dienst:
und hier ist die Ausgabe, wenn die Detailstufe explizit auf 10 oder hoch gesetzt wurde:
Sie können also sehen, dass die durch den Befehl erzeugte Information mit der Erhöhung der Detailstufe von 0 auf 10 ebenfalls zugenommen hat.
Geben Sie einen Datumsbereich an
Sie können auch einen zu verarbeitenden Datumsbereich angeben. Dies bedeutet, dass Sie dem Befehl einen Zeitraum geben können, in dem Protokolleinträge verarbeitet werden. Dies kann mit der Option --range
. Gemeinsame Bereiche sind Gestern, Heute und Alle. Hier ist ein Beispiel:
Senden Sie den Bericht an eine E-Mail-Adresse
Logwatch kann den Bericht auch an eine bestimmte E-Mail-Adresse senden. Dies kann mit der Option --mailto
. Hier ist ein Beispiel:
logwatch --service pam_unix --range alle --detail hoch --mailto [email protected]
Der obige Befehl hat den Bericht an ein E-Mail-Konto gesendet. Sie sollten Ihren Spam-Ordner wahrscheinlich auf die E-Mail überprüfen, da Google Mail ihn als Spam für mein E-Mail-Konto markiert hat.
Weitere Informationen zu Logwatch finden Sie auf der Manpage des Befehls.
Fazit
Wenn Sie nach einem Befehlszeilentool suchen, mit dem Systemprotokolldateien gescannt und die Informationen in einer für Menschen lesbaren Form dargestellt werden können, sollten Sie Logwatch ausprobieren. Es kann leicht als eines der hilfreichsten Befehlszeilen-Tools für die allgemeine Analyse und Filterung von Logfiles betrachtet werden.