====== logwatch ====== logwatch ist ein sehr nützliches Tool um Zusammenfassungen der Logdateien in einem bestimmten Intervall anfertigen zu lassen. Dabei unterstützt das Programm bereits eine Menge Software (z.B. Apache) die ebenfalls neben den Systemlogs durchsucht werden. ===== Links ===== * [[http://www2.logwatch.org:8080/index.html|logwatch Homepage]] * [[http://www2.logwatch.org:8080/tabs/docs/HOWTO-Customize-LogWatch.html|HOWTO-Customize-LogWatch]] * [[http://www2.logwatch.org:8080/tabs/docs/logwatch.8.html|Logwatch man-Page]] * [[http://www.mikecappella.com/logwatch/|Postfix and Amavisd-new Log Reporting Utilities]] ===== Konfiguration ===== Für den Versand des Reports per mail wird standardmäßig ein [[server:Mailserver]]) installiert, bei Debian z.B. Postfix. logwatch ist in Perl geschrieben und installiert ein Script in ''/etc/cron.daily'', d.h. es wird täglich vom [[linux:cronjobs|cron-dienst]] gestartet. ==== eigene Logs hinzufügen ==== In [[debian:Debian]] ist die Konfiguration sehr merkwürdig gestaltet. Im Verzeichnis ''/usr/share/logwatch/dist.conf'' werden die Einstellungen von ''/usr/share/logwatch/default.conf'' angepasst. Wo in ''dist.conf'' keine Einstellung vorgenommen wird, gilt dann die Einstellung in ''default.conf''. Die Einstellungen in ''/etc/logwatch'' werden nicht berücksichtigt. Alles in allem sehr merkwürdig gestaltet. Eine Möglichkeit wäre in ''/etc/logwatch'' symlinks auf die geltenden Einstellungen anzulegen. Dazu wechselt man in ''/etc/logwatch'' und löscht logwatch.conf, logfiles und services. ln -s /usr/share/logwatch/dist.conf/logwatch.conf logwatch.conf ln -s /usr/share/logwatch/dist.conf/logfiles logfiles ln -s /usr/share/logwatch/dist.conf/services services ln -s /usr/share/logwatch/dist.conf dist.conf LogFile = apache2/DOMAIN/*access.log LogFile = apache2/DOMAIN/*access.log.1 Archive = apache2/DOMAIN/*access.log.*.gz /usr/share/logwatch/default.conf/logfiles [[http://hollii.de/blog/logwatch|Blogartikel zu logwatch]] ===== Aufruf ===== logwatch --print gibt einen ausführlichen Report aus, ohne Parameter nimmt er als range (Zeitraum für die Auswertung) yesterday, also gestern an. Mit dem Befehl logwatch -range help gibt er eine ausführliche Hilfe zu gültigen Zeiträumen aus. Logwatch braucht für Zeitangaben jenseits von ''today'', ''yesterday'' und ''all'' das Modul ''Date::Manip''. Dieses kann man mit cpan -i 'Date::Manip' oder perl -MCPAN -e 'install Date::Manip' nachinstallieren. Wenn man eine Paketverwaltung einsetzt kann man auch das Paket "libdate-manip-perl" (Ubuntu, Debian?) installieren. z.B. wenn ich einen wöchentlichen Zeitraum will (besser lesbar: 'since 7 days ago'): logwatch --print --range 'since -7days' In einem cronjob kann diese Zeile einen wöchentlichen Logreport an root versenden: /usr/sbin/logwatch --mailto root --range 'since -7days'