Log-Meldungen vom Mail-System beschränken

Auf einem UCS System mit installierter Komponente UCS Mail Service oder Univention Groupware Server werden im Auslieferungszustand die Meldungen des Mail Systems auf unterschiedliche Log-Dateien verteilt. Ist das Mail Aufkommen auf einem System sehr hoch, werden entsprechend viele Meldungen in die Log-Dateien geschrieben. In diesem Artikel wird beschrieben, wie die Konfiguration des Syslog Dienstes angepasst werden kann, um die Menge der protokollierten Meldungen zu begrenzen.

Der Mail Dienst schreibt Meldungen nicht direkt in Log-Dateien. Er übergibt Meldungen unter Angabe einer Kategorie (“mail”) und einer Priorität (“info”, “critical”, “error”…) an den Syslog-Daemon. Die Prioritäten sind von niedrig (“info”) nach hoch (“error”) geordnet. In der Konfigurationsdatei des Syslog-Daemons /etc/syslog.conf wird vorgegeben, wohin der Syslog-Daemon Meldungen der unterschiedlichen Kategorien und Prioritäten schreiben soll.

In der /etc/syslog.conf finden sich folgende Zeilen, die sich auf Meldungen vom Mail System beziehen:

*.*;auth,authpriv.none          -/var/log/syslog

mail.*                          -/var/log/mail.log

mail.info                       -/var/log/mail.info
mail.warn                       -/var/log/mail.warn
mail.err                        /var/log/mail.err

Damit wird festgelegt, dass alle Meldungen vom Mail System in /var/log/mail.log geschrieben werden. Meldungen mit der Priorität “info” und alle höheren werden nach /var/log/mail.info, Meldungen mit Prirorität “warn” und alle höheren nach /var/log/mail.warn und Meldungen mit der Priorität “err” nach /var/log/mail.err. Zusätzlich werden die Meldungen aller Kategorien und Prioritäten (".") nach /var/log/syslog geschrieben.

Es kommen unterschiedliche Ansätze in Betracht, die Log-Meldungen zu beschränken:

Wenn es ausreicht, alle Meldungen des Mail-Systems nach /var/log/mail.log und nur Fehlermeldungen gesondert zu speichern, können die Einträge für “mail.info” und “mail.warn” in /etc/syslog.conf auskommentiert werden:

mail.*                          -/var/log/mail.log

#mail.info                       -/var/log/mail.info
#mail.warn                       -/var/log/mail.warn
mail.err                        /var/log/mail.err

Soll die Struktur der Log-Dateien beibehalten werden, kann eingerichtet werden, dass nur Meldungen genau einer Priotität und nicht zusätzlich alle höheren in die jeweiligen Dateien geschrieben werden. Dazu muss in /etc/syslog.conf vor der Priorität jeweils ein Gleichheitszeichen ("=") eingefügt werden:

mail.*                          -/var/log/mail.log

mail.=info                       -/var/log/mail.info
mail.=warn                       -/var/log/mail.warn
mail.=err                        /var/log/mail.err

Sollen Meldungen des Mail-Systems nicht nach /var/log/syslog geschrieben werden, können diese über die Priorität “none” ausgeschlossen werden. Dabei ist zu beachten, dass das Semikolon Trennzeichen für Einträge ist, das Komma verwendet wird, um Kategorien mit identischer Priorität in verkürzter Form aufzuführen:

*.*;auth,authpriv.none;mail.none          -/var/log/syslog

In jedem Fall muss nach einer Anpassung der Konfigurationsdatei /etc/syslog.conf der Syslog-Daemon über das entsprechende Init-Skript erneut gestartet werden:

# /etc/init.d/syslog restart
Mastodon