Zum Inhalt springen

Logwatch: Unterschied zwischen den Versionen

Aus Foxwiki
K Dirkwagner verschob die Seite Entwurf:Logwatch nach Linux:Logging:logwatch, ohne dabei eine Weiterleitung anzulegen
K Textersetzung - „–“ durch „-“
 
(35 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Logwatch''' ist ein Tool zur Analyse von Logdateien.
'''Logwatch''' - Analyse von Logdateien


= Allgemeines =
== Beschreibung ==
* Es soll Systemadministratoren helfen, die Übersicht über alle Vorgänge auf einem Serversystem zu behalten.
; Wekkzeug für Systemadministratoren
* Logwatch durchsucht die Logdateien des Systems und generiert eine Kurzfassung daraus, deren Gestaltung individuell konfiguriert werden kann.  
 
; Übersicht über Vorgänge auf einem Serversystem
* Logwatch durchsucht die Logdateien des Systems und generiert eine Kurzfassung daraus, deren Gestaltung individuell konfiguriert werden kann.
* Diese kann dann entweder als Datei weiterverarbeitet oder zum Versenden an einen Mailserver weitergereicht werden.
* Diese kann dann entweder als Datei weiterverarbeitet oder zum Versenden an einen Mailserver weitergereicht werden.


Zusätzlich zu den systemeigenen Logs können ohne weitere Konfiguration u.a. folgende Dienste überwacht werden:
; Zusätzlich zu den systemeigenen Logs können ohne weitere Konfiguration u.a. folgende Dienste überwacht werden
* Firewall: iptables, fail2ban
<div style="column-count:2">
* Firewall/ iptables, fail2ban
* DNS-Server: BIND
* DNS-Server: BIND
* DHCP-Server: ISC-DHCPD
* DHCP-Server: ISC-DHCPD
Zeile 20: Zeile 23:
* Cron
* Cron
* SASL
* SASL
</div>


= Vorbereitung =
== Vorbereitung ==
* Falls die von Logwatch generierten Berichte per Mail versandt werden sollen, muss ein lokaler Mailserver vorhanden sein.  
; Falls die von Logwatch generierten Berichte per Mail versandt werden sollen, muss ein lokaler Mailserver vorhanden sein.
* Für Benutzer, die Logwatch für ihren SOHO-Server verwenden wollen, muss ein Mailserver aufgesetzt werden, der die Nachrichten an einen Smarthost weiterleitet. Dies geschieht am einfachsten mit Postfix.
* Für Benutzer, die Logwatch für ihren SOHO-Server verwenden wollen, muss ein Mailserver aufgesetzt werden, der die Nachrichten an einen Smarthost weiterleitet. Dies geschieht am einfachsten mit Postfix.


= Installation =
== Installation ==
  # apt install logwatch
  # '''apt install logwatch'''
 
* Die vordefinierte Einstellung ist ein zeitlich geplanter Start durch einen Cronjob.
* Die vordefinierte Einstellung ist ein zeitlich geplanter Start durch einen Cronjob.  
* Mehr dazu findet sich unter Automatisierung.
* Mehr dazu findet sich unter Automatisierung.  
* Möchte man Logwatch lieber per Hand im Terminal oder aus einem Shell-Skript starten, geschieht das mit dem Befehl logwatch.
* Möchte man Logwatch lieber per Hand im Terminal oder aus einem Shell-Skript starten, geschieht das mit dem Befehl logwatch.


* Im Terminal wird nun ein Bericht ausgegeben, der zunächst die Grundinformationen über das Geschehen des letzten Tages enthält.  
* Im Terminal wird nun ein Bericht ausgegeben, der zunächst die Grundinformationen über das Geschehen des letzten Tages enthält.
* Die Ausgabe kann nun mit den Parametern aus der nachfolgenden Tabelle den eigenen Wünschen angepasst werden.  
* Die Ausgabe kann nun mit den Parametern aus der nachfolgenden Tabelle den eigenen Wünschen angepasst werden.
* Es kann dabei die Ausgabemethode, das Ziel der Ausgabe, die Detailtiefe und der Zeitraum des Berichts angegeben werden.
* Es kann dabei die Ausgabemethode, das Ziel der Ausgabe, die Detailtiefe und der Zeitraum des Berichts angegeben werden.


= Startparameter =
== Startparameter ==
Parameter Beschreibung
{| class="wikitable options"
--output stdout|mail|file Bestimmt die Ausgabemethode. (Default: stdout)
|-
--format text|html Bestimmt das Ausgabeformat. (Default: text)
! Parameter !! Beschreibung
--filename X Bestimmt die Ausgabedatei X.
|-
--detail low|med|high Bestimmt die Detailtiefe des Berichts. (Default: low)
| --output stdout|mail|file || Bestimmt die Ausgabemethode. (Default: stdout)
--mailto X Versendet den generierten Bericht per Mail an die Adresse X. (setzt einen installierten MTA voraus)
|-
--range today Bestimmt den Zeitraum, über welchen berichtet werden soll (siehe logwatch --range help).
| --format text|html || Bestimmt das Ausgabeformat. (Default: text)
|-
| --filename X || Bestimmt die Ausgabedatei X.
|-
| --detail low|med|high || Bestimmt die Detailtiefe des Berichts. (Default: low)
|-
| --mailto X || Versendet den generierten Bericht per Mail an die Adresse X. (setzt einen installierten MTA voraus)
|-
| --range today || Bestimmt den Zeitraum, über welchen berichtet werden soll (siehe logwatch --range help)
|}


* Weitere Parameter sind der Hilfe von Logwatch (logwatch --help) oder der Manpage zu entnehmen: logwatch.
; Weitere Parameter
* Erfahrene Benutzer sollten auch den --service-Parameter beachten.  
* logwatch --help
* Mit diesem ist es möglich, den Bericht auf nur einen Dienst oder eine Dienstgruppe zu beschränken.  
* man logwatch
 
Erfahrene Benutzer sollten auch den --service-Parameter beachten.
* Mit diesem ist es möglich, den Bericht auf nur einen Dienst oder eine Dienstgruppe zu beschränken.
* Die Namen der Dienste entsprechen den Namen des jeweiligen Konfigurationsskripts in /usr/share/logwatch/default.conf/services.
* Die Namen der Dienste entsprechen den Namen des jeweiligen Konfigurationsskripts in /usr/share/logwatch/default.conf/services.


= Beispiele =
== Beispiele ==
Einen Kurzbericht für den aktuellen Tag ausgeben:
Einen Kurzbericht für den aktuellen Tag ausgeben:
  logwatch --detail low --range today  
  logwatch --detail low --range today


Einen detaillierten Bericht über den gestrigen Tag in einem Ordner als HTML-Datei mit Datum als Name ablegen:
Einen detaillierten Bericht über den gestrigen Tag in einem Ordner als HTML-Datei mit Datum als Name ablegen:
  logwatch --detail high --range yesterday --format html --filename ~/logwatch/$(date +%F).html  
  logwatch --detail high --range yesterday --format html --filename ~/logwatch/$(date +%F).html


Einen Kurzbericht über die letzten 30 Tage generieren und versenden:
Einen Kurzbericht über die letzten 30 Tage generieren und versenden:
  logwatch --detail low --range 'between 30 days ago and yesterday' --mailto nobody@ubuntuusers.de  
  logwatch --detail low --range 'between 30 days ago and yesterday' --mailto nobody@ubuntuusers.de


= Konfiguration =
== Konfiguration ==
== Automatisierung (Cron) ==
=== Automatisierung (Cron) ===
* In der Standardkonfiguration wird ein Skript namens /etc/cron.daily/00logwatch verwendet.  
* In der Standardkonfiguration wird ein Skript namens /etc/cron.daily/00logwatch verwendet.
* Dieses wird jeden Tag einmal gestartet und führt dann Logwatch mit den dort festgelegten Parametern aus.  
* Dieses wird jeden Tag einmal gestartet und führt dann Logwatch mit den dort festgelegten Parametern aus.
* Das Skript kann auch nach /etc/cron.weekly, /etc/cron.monthly oder weniger sinnvoll nach /etc/cron.hourly verschoben werden.
* Das Skript kann auch nach /etc/cron.weekly, /etc/cron.monthly oder - weniger sinnvoll - nach /etc/cron.hourly verschoben werden.
* Möchte man Logwatch zu einem Zeitpunkt ausführen, der keinem der oben genannten entspricht, muss statt Anacron die normale, systemweite Crontab verwendet werden.  
* Möchte man Logwatch zu einem Zeitpunkt ausführen, der keinem der oben genannten entspricht, muss statt [[anacron]] die normale, systemweite Crontab verwendet werden.
* Dazu muss das alte Logwatch-Skript gelöscht werden und ein neuer Eintrag in der Datei /etc/crontab hinzugefügt werden.
* Dazu muss das alte Logwatch-Skript gelöscht werden und ein neuer Eintrag in der Datei /etc/crontab hinzugefügt werden.


Dieser sollte nach folgendem Schema aufgebaut sein:
Dieser sollte nach folgendem Schema aufgebaut sein:


  *     *     *     *     * /usr/sbin/logwatch <parameter>
  *   *   *   *   * /usr/sbin/logwatch <parameter>
  |     |     |     |     |
  |   |   |   |   |
  |     |     |     |     +----- Wochentag (1 - 7)
  |   |   |   |   +----- Wochentag (1 - 7)
  |     |     |     +------- Monat (1 - 12)
  |   |   |   +------- Monat (1 - 12)
  |     |     +--------- Tag (1 - 31)
  |   |   +--------- Tag (1 - 31)
  |     +----------- Stunde (0 - 23)
  |   +----------- Stunde (0 - 23)
  +------------- Minute (0 - 59)
  +------------- Minute (0 - 59)


Zeile 82: Zeile 97:
Der entsprechende Crontab-Eintrag würde dann wie folgt aussehen:
Der entsprechende Crontab-Eintrag würde dann wie folgt aussehen:


  0     2     *     *     1,2,3,4,5 /usr/sbin/logwatch --detail low --format text --range yesterday --mailto nobody@ubuntuusers.de > /dev/null 2>&1
  0   2   *   *   1,2,3,4,5 /usr/sbin/logwatch --detail low --format text --range yesterday --mailto nobody@ubuntuusers.de > /dev/null 2>&1


Der Inhalt der durch diesen Eintrag versandten E-Mail sähe wie folgt aus:
Der Inhalt der durch diesen Eintrag versandten E-Mail sähe wie folgt aus:
  ################### Logwatch 7.3.6 (05/19/07) ####################  
  ################### Logwatch 7.3.6 (05/19/07) ####################
        Processing Initiated: Tue Apr 3 01:55:24 2012
    Processing Initiated: Tue Apr 3 01:55:24 2012
        Date Range Processed: yesterday
    Date Range Processed: yesterday
                              ( 2012-Apr-02 )
              ( 2012-Apr-02 )
                              Period is day.
              Period is day.
        Detail Level of Output: 0
    Detail Level of Output: 0
        Type of Output/Format: stdout / text
    Type of Output/Format: stdout / text
        Logfiles for Host: itchy
    Logfiles for Host: itchy
  ##################################################################  
##################################################################
   
   
  --------------------- dpkg status changes Begin ------------------------  
  --------------------- dpkg status changes Begin ------------------------
   
   
  Installed:
  Installed:
    logwatch 7.3.6.cvs20090906-1ubuntu5
  logwatch 7.3.6.cvs20090906-1ubuntu5
    postfix 2.8.5-2~build1
  postfix 2.8.5-2~build1
   
   
  ---------------------- dpkg status changes End -------------------------  
  ---------------------- dpkg status changes End -------------------------
   
   
   
   
  --------------------- httpd Begin ------------------------  
  --------------------- httpd Begin ------------------------
   
   
  Requests with error response codes
  Requests with error response codes
    404 Not Found
  404 Not Found
      /robots.txt: 2 Time(s)
    /robots.txt: 2 Time(s)
   
   
    408 Request Timeout
  408 Request Timeout
      null: 1 Time(s)
    null: 1 Time(s)
   
   
  ---------------------- httpd End -------------------------  
  ---------------------- httpd End -------------------------
   
   
   
   
  --------------------- Kernel Begin ------------------------  
  --------------------- Kernel Begin ------------------------
   
   
  WARNING: Kernel Errors Present
  WARNING: Kernel Errors Present
    [   18.959797] EXT4-fs (sdb1): re-mounted. Opts: errors=remount-ro ...: 1 Time(s)
  [ 18.959797] EXT4-fs (sdb1): re-mounted. Opts: errors=remount-ro ...: 1 Time(s)
   
   
  ---------------------- Kernel End -------------------------  
  ---------------------- Kernel End -------------------------
   
   
   
   
  --------------------- pam_unix Begin ------------------------  
  --------------------- pam_unix Begin ------------------------
   
   
  su:
  su:
    Sessions Opened:
  Sessions Opened:
      root -> nxpgsql: 7 Time(s)
    root -> nxpgsql: 7 Time(s)
      root -> daemon: 1 Time(s)
    root -> daemon: 1 Time(s)
      root -> postgres: 1 Time(s)
    root -> postgres: 1 Time(s)
   
   
  sudo:
  sudo:
    Authentication Failures:
  Authentication Failures:
      simon(0) -> simon: 1 Time(s)
    simon(0) -> simon: 1 Time(s)
   
   
   
   
  ---------------------- pam_unix End -------------------------  
  ---------------------- pam_unix End -------------------------
   
   
   
   
  --------------------- Connections (secure-log) Begin ------------------------  
  --------------------- Connections (secure-log) Begin ------------------------
   
   
  New Users:
  New Users:
    postfix (119)
  postfix (119)
   
   
  New Groups:
  New Groups:
    postfix (131)
  postfix (131)
    postdrop (132)
  postdrop (132)
   
   
  Changed password expiry for users:
  Changed password expiry for users:
    postfix : 1 Time(s)
  postfix : 1 Time(s)
   
   
  ---------------------- Connections (secure-log) End -------------------------  
  ---------------------- Connections (secure-log) End -------------------------
   
   
   
   
  --------------------- SSHD Begin ------------------------  
  --------------------- SSHD Begin ------------------------
   
   
  Users logging in through sshd:
  Users logging in through sshd:
    simon:
  simon:
      192.168.100.185 (iPad-Simon.home.lan): 4 times
    192.168.100.185 (iPad-Simon.home.lan): 4 times
   
   
   
   
  Received disconnect:
  Received disconnect:
    11: Normal Shutdown. Thank you! : 3 Time(s)
  11: Normal Shutdown. Thank you! : 3 Time(s)
   
   
  ---------------------- SSHD End -------------------------  
  ---------------------- SSHD End -------------------------
   
   
   
   
  --------------------- Sudo (secure-log) Begin ------------------------  
  --------------------- Sudo (secure-log) Begin ------------------------
   
   
  ==============================================================================
  ===============================================================================
   
   
  root => simon
  root => simon
Zeile 176: Zeile 191:
  /usr/bin/vlc - 1 Times.
  /usr/bin/vlc - 1 Times.
   
   
  ==============================================================================
  ===============================================================================
   
   
  simon => root
  simon => root
Zeile 186: Zeile 201:
  /usr/bin/find - 1 Times.
  /usr/bin/find - 1 Times.
   
   
  ---------------------- Sudo (secure-log) End -------------------------  
  ---------------------- Sudo (secure-log) End -------------------------
   
   
   
   
  --------------------- Disk Space Begin ------------------------  
  --------------------- Disk Space Begin ------------------------
   
   
  Filesystem           Size Used Avail Use% Mounted on
  Filesystem     Size Used Avail Use% Mounted on
  /dev/sdb1             221G 9.0G  200G  5% /
  /dev/sdb1       221G 9.0G 200G 5% /
  /dev/sda2             75G   58G   18G 78% /home
  /dev/sda2       75G 58G 18G 78% /home
  /dev/md0             917G 217G 654G 25% /home/simon/Archiv
  /dev/md0       917G 217G 654G 25% /home/simon/Archiv
 
  ---------------------- Disk Space End -------------------------  
  ---------------------- Disk Space End -------------------------
   
   
  ###################### Logwatch End #########################
  ###################### Logwatch End #########################
= Eigene Dienste =
* Das Hinzufügen eigener Dienste zu Logwatch erfordert den Umgang mit der Skriptsprache Perl.
* Um so ein Modul entwickeln zu können, muss man zuerst die Verzeichnisstruktur von Logwatch verstehen.
* Diese mag auf den ersten Blick ein wenig verwirrend wirken, ergibt aber durchaus Sinn.


Logwatch ist auf mehrere Konfigurationsverzeichnisse aufgeteilt. Nachfolgend wird deren Funktion erläutert:
=== Eigene Dienste ===
Das Hinzufügen eigener Dienste zu Logwatch erfordert den Umgang mit der Skriptsprache Perl
* Um ein solches Modul entwickeln zu können, muss man zuerst die Verzeichnisstruktur von Logwatch verstehen.
* Diese mag auf den ersten Blick ein wenig verwirrend wirken, ergibt aber Sinn.


== Verzeichnisse ==
=== Konfigurationsverzeichnisse ===
Pfad Beschreibung
Die Logwatch-Konfiguration ist auf mehrere Verzeichnisse aufgeteilt
/etc/logwatch/ Dieses Verzeichnis enthält die benutzerdefinierte Konfiguration. Dieses Verzeichnis enthält die gleiche Struktur wie /usr/share/logwatch.
/usr/share/logwatch/ Hier befindet sich die Standardkonfiguration. Diese sollte nicht editiert werden.
/usr/share/logwatch/default.conf/ Konfiguration der von Haus aus in Logwatch integrierten Dienste.
/usr/share/logwatch/dist.conf/ Konfiguration der speziell für Ubuntu hinzugefügten Dienste.
/usr/share/logwatch/scripts/ Perl-Skripte zum Verarbeiten der Logfiles.


* In den *.conf-Verzeichnissen befinden sich noch je zwei weitere Verzeichnisse namens logfiles und services.  
{|class="wikitable options"
* Im ersten wird das Logfile definiert, im letzteren die Dienste.  
! Pfad !! Beschreibung
* Möchte man nun einen eigenen Dienst konfigurieren, erstellt man falls nicht vorhanden diese Verzeichnisstruktur unter /etc/logwatch/ und legt dort das Perl-Skript und die Konfigurationsdateien ab.  
|-
| /etc/logwatch/ || Dieses Verzeichnis enthält die benutzerdefinierte Konfiguration. Dieses Verzeichnis enthält die gleiche Struktur wie /usr/share/logwatch
|-
| /usr/share/logwatch/ || Hier befindet sich die Standardkonfiguration. Diese sollte nicht editiert werden
|-
| /usr/share/logwatch/default.conf/ || Konfiguration der von Haus aus in Logwatch integrierten Dienste
|-
| /usr/share/logwatch/dist.conf/ || Konfiguration der speziell für Ubuntu hinzugefügten Dienste
|-
| /usr/share/logwatch/scripts/ || Perl-Skripte zum Verarbeiten der Logfiles
|}
; logfiles und services
* In den *.conf-Verzeichnissen befinden sich noch je zwei weitere Verzeichnisse namens logfiles und services.
* Im ersten wird das Logfile definiert, im letzteren die Dienste.
* Möchte man nun einen eigenen Dienst konfigurieren, erstellt man - falls nicht vorhanden - diese Verzeichnisstruktur unter /etc/logwatch/ und legt dort das Perl-Skript und die Konfigurationsdateien ab.
* Es empfiehlt sich, einen bereits existierenden Dienst als Vorlage zu nutzen.
* Es empfiehlt sich, einen bereits existierenden Dienst als Vorlage zu nutzen.
<noinclude>


= Links =
== Anhang ==
== Interne Links ==
=== Siehe auch ===
TODO
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
== Weblinks ==
TODO


[[Kategorie:Linux:Logging]]
=== Dokumentation ===
=== Links ===
==== Projekt ====
==== Weblinks ====
[[Kategorie:Linux/Logging]]
</noinclude>

Aktuelle Version vom 11. Mai 2025, 20:47 Uhr

Logwatch - Analyse von Logdateien

Beschreibung

Wekkzeug für Systemadministratoren
Übersicht über Vorgänge auf einem Serversystem
  • Logwatch durchsucht die Logdateien des Systems und generiert eine Kurzfassung daraus, deren Gestaltung individuell konfiguriert werden kann.
  • Diese kann dann entweder als Datei weiterverarbeitet oder zum Versenden an einen Mailserver weitergereicht werden.
Zusätzlich zu den systemeigenen Logs können ohne weitere Konfiguration u.a. folgende Dienste überwacht werden
  • Firewall/ iptables, fail2ban
  • DNS-Server: BIND
  • DHCP-Server: ISC-DHCPD
  • SSH und OpenVPN
  • Apache
  • Mailserver: Postfix/Sendmail/Exim/qmail/Dovecot/Courier
  • SpamAssassin / Amavis-Spam-Virenfilter
  • FTP-Server: PureFTPd / ProFTPD / vsftpd
  • ClamAV
  • Samba
  • RAID
  • Cron
  • SASL

Vorbereitung

Falls die von Logwatch generierten Berichte per Mail versandt werden sollen, muss ein lokaler Mailserver vorhanden sein.
  • Für Benutzer, die Logwatch für ihren SOHO-Server verwenden wollen, muss ein Mailserver aufgesetzt werden, der die Nachrichten an einen Smarthost weiterleitet. Dies geschieht am einfachsten mit Postfix.

Installation

# apt install logwatch
  • Die vordefinierte Einstellung ist ein zeitlich geplanter Start durch einen Cronjob.
  • Mehr dazu findet sich unter Automatisierung.
  • Möchte man Logwatch lieber per Hand im Terminal oder aus einem Shell-Skript starten, geschieht das mit dem Befehl logwatch.
  • Im Terminal wird nun ein Bericht ausgegeben, der zunächst die Grundinformationen über das Geschehen des letzten Tages enthält.
  • Die Ausgabe kann nun mit den Parametern aus der nachfolgenden Tabelle den eigenen Wünschen angepasst werden.
  • Es kann dabei die Ausgabemethode, das Ziel der Ausgabe, die Detailtiefe und der Zeitraum des Berichts angegeben werden.

Startparameter

Parameter Beschreibung
mail|file Bestimmt die Ausgabemethode. (Default: stdout)
html Bestimmt das Ausgabeformat. (Default: text)
--filename X Bestimmt die Ausgabedatei X.
med|high Bestimmt die Detailtiefe des Berichts. (Default: low)
--mailto X Versendet den generierten Bericht per Mail an die Adresse X. (setzt einen installierten MTA voraus)
--range today Bestimmt den Zeitraum, über welchen berichtet werden soll (siehe logwatch --range help)
Weitere Parameter
  • logwatch --help
  • man logwatch

Erfahrene Benutzer sollten auch den --service-Parameter beachten.

  • Mit diesem ist es möglich, den Bericht auf nur einen Dienst oder eine Dienstgruppe zu beschränken.
  • Die Namen der Dienste entsprechen den Namen des jeweiligen Konfigurationsskripts in /usr/share/logwatch/default.conf/services.

Beispiele

Einen Kurzbericht für den aktuellen Tag ausgeben:

logwatch --detail low --range today

Einen detaillierten Bericht über den gestrigen Tag in einem Ordner als HTML-Datei mit Datum als Name ablegen:

logwatch --detail high --range yesterday --format html --filename ~/logwatch/$(date +%F).html

Einen Kurzbericht über die letzten 30 Tage generieren und versenden:

logwatch --detail low --range 'between 30 days ago and yesterday' --mailto nobody@ubuntuusers.de

Konfiguration

Automatisierung (Cron)

  • In der Standardkonfiguration wird ein Skript namens /etc/cron.daily/00logwatch verwendet.
  • Dieses wird jeden Tag einmal gestartet und führt dann Logwatch mit den dort festgelegten Parametern aus.
  • Das Skript kann auch nach /etc/cron.weekly, /etc/cron.monthly oder - weniger sinnvoll - nach /etc/cron.hourly verschoben werden.
  • Möchte man Logwatch zu einem Zeitpunkt ausführen, der keinem der oben genannten entspricht, muss statt anacron die normale, systemweite Crontab verwendet werden.
  • Dazu muss das alte Logwatch-Skript gelöscht werden und ein neuer Eintrag in der Datei /etc/crontab hinzugefügt werden.

Dieser sollte nach folgendem Schema aufgebaut sein:

*   *   *   *   * /usr/sbin/logwatch <parameter>
|   |   |   |   |
|   |   |   |   +----- Wochentag (1 - 7)
|   |   |   +------- Monat (1 - 12)
|   |   +--------- Tag (1 - 31)
|   +----------- Stunde (0 - 23)
+------------- Minute (0 - 59)

Angenommen, Logwatch soll einen Bericht mit den folgenden Parametern generieren: werktags; 2:00 Uhr; nicht detailliert; reiner Text; gestern; per Mail; nobody@ubuntuusers.de

Der entsprechende Crontab-Eintrag würde dann wie folgt aussehen:

0   2   *   *   1,2,3,4,5 /usr/sbin/logwatch --detail low --format text --range yesterday --mailto nobody@ubuntuusers.de > /dev/null 2>&1

Der Inhalt der durch diesen Eintrag versandten E-Mail sähe wie folgt aus:

################### Logwatch 7.3.6 (05/19/07) ####################
   Processing Initiated: Tue Apr 3 01:55:24 2012
   Date Range Processed: yesterday
              ( 2012-Apr-02 )
              Period is day.
   Detail Level of Output: 0
   Type of Output/Format: stdout / text
   Logfiles for Host: itchy
##################################################################

--------------------- dpkg status changes Begin ------------------------

Installed:
 logwatch 7.3.6.cvs20090906-1ubuntu5
 postfix 2.8.5-2~build1

---------------------- dpkg status changes End -------------------------


--------------------- httpd Begin ------------------------

Requests with error response codes
 404 Not Found
   /robots.txt: 2 Time(s)

 408 Request Timeout
   null: 1 Time(s)

---------------------- httpd End -------------------------


--------------------- Kernel Begin ------------------------

WARNING: Kernel Errors Present
 [  18.959797] EXT4-fs (sdb1): re-mounted. Opts: errors=remount-ro ...: 1 Time(s)

---------------------- Kernel End -------------------------


--------------------- pam_unix Begin ------------------------

su:
 Sessions Opened:
   root -> nxpgsql: 7 Time(s)
   root -> daemon: 1 Time(s)
   root -> postgres: 1 Time(s)

sudo:
 Authentication Failures:
   simon(0) -> simon: 1 Time(s)


---------------------- pam_unix End -------------------------


--------------------- Connections (secure-log) Begin ------------------------

New Users:
 postfix (119)

New Groups:
 postfix (131)
 postdrop (132)

Changed password expiry for users:
 postfix : 1 Time(s)

---------------------- Connections (secure-log) End -------------------------


--------------------- SSHD Begin ------------------------

Users logging in through sshd:
 simon:
   192.168.100.185 (iPad-Simon.home.lan): 4 times


Received disconnect:
 11: Normal Shutdown. Thank you! : 3 Time(s)

---------------------- SSHD End -------------------------


--------------------- Sudo (secure-log) Begin ------------------------

===============================================================================

root => simon
-------------
/usr/bin/vlc - 1 Times.

===============================================================================

simon => root
-------------
/bin/chown - 1 Times.
/bin/cp - 2 Times.
/bin/zcat - 1 Times.
/usr/bin/apt-get - 1 Times.
/usr/bin/find - 1 Times.

---------------------- Sudo (secure-log) End -------------------------


--------------------- Disk Space Begin ------------------------

Filesystem      Size Used Avail Use% Mounted on
/dev/sdb1       221G 9.0G 200G  5% /
/dev/sda2       75G  58G  18G 78% /home
/dev/md0       917G 217G 654G 25% /home/simon/Archiv

---------------------- Disk Space End -------------------------

###################### Logwatch End #########################

Eigene Dienste

Das Hinzufügen eigener Dienste zu Logwatch erfordert den Umgang mit der Skriptsprache Perl

  • Um ein solches Modul entwickeln zu können, muss man zuerst die Verzeichnisstruktur von Logwatch verstehen.
  • Diese mag auf den ersten Blick ein wenig verwirrend wirken, ergibt aber Sinn.

Konfigurationsverzeichnisse

Die Logwatch-Konfiguration ist auf mehrere Verzeichnisse aufgeteilt

Pfad Beschreibung
/etc/logwatch/ Dieses Verzeichnis enthält die benutzerdefinierte Konfiguration. Dieses Verzeichnis enthält die gleiche Struktur wie /usr/share/logwatch
/usr/share/logwatch/ Hier befindet sich die Standardkonfiguration. Diese sollte nicht editiert werden
/usr/share/logwatch/default.conf/ Konfiguration der von Haus aus in Logwatch integrierten Dienste
/usr/share/logwatch/dist.conf/ Konfiguration der speziell für Ubuntu hinzugefügten Dienste
/usr/share/logwatch/scripts/ Perl-Skripte zum Verarbeiten der Logfiles
logfiles und services
  • In den *.conf-Verzeichnissen befinden sich noch je zwei weitere Verzeichnisse namens logfiles und services.
  • Im ersten wird das Logfile definiert, im letzteren die Dienste.
  • Möchte man nun einen eigenen Dienst konfigurieren, erstellt man - falls nicht vorhanden - diese Verzeichnisstruktur unter /etc/logwatch/ und legt dort das Perl-Skript und die Konfigurationsdateien ab.
  • Es empfiehlt sich, einen bereits existierenden Dienst als Vorlage zu nutzen.


Anhang

Siehe auch

Dokumentation

Links

Projekt

Weblinks