Postfix verliert From-Zeilen im Logfile nach Restart von Syslog/logrotate

Unter bestimmten Situationen ist auf Postfix-Servern zu beobachten, dass es nach einem Restart des Syslog-Daemon fortan keine From:-Zeilen mehr im Logfile gibt, während hingegen Message-ID und andere Logmeldungen normal weiter protokolliert werden.

Das Problem tritt auf, wenn der Queue-Manager qmgr in einer chroot-Umgebung läuft (siehe master.cf!) und er über einen Datei-Socket an Syslog schreiben möchte.

Werden Postfix und damit der qmgr neu gestartet,  so kann der qmgr den Syslog-Socket noch außerhalb der chroot-Umgebung ansprechen, erst dann wird der qmgr eingesperrt. -In diesen Situationen kann der gmgr den bereits geöffneten Syslog-Socket jedoch „mitnehmen“. Darum funktioniertalles, wenn Postfix frisch gestartet wird.

Kommt es dann jedoch zu einem Restart des Syslog, beispielsweise nach einem nächtlichen Durchlauf von logrotate, so wird der Syslog-Socket kurz geschlossen und neu angelegt. Der qmgr-Prozess in seiner chroot-Umgebung kann nun jedoch nicht mehr auf den Syslog-Socket zugreifen.

Die Folge: Die Syslog-Meldungen des qmgr können nicht mehr ins Logfile geschrieben werden, die Meldungen anderer Postfix-Komponenten jedoch schon.

Die Abhilfe: Der qmgr muß nicht in einer schroot-Umgebung laufen — einfach in der master.cf anpassen. Alternativ kann auch ein weiterer Syslog-Socket in der chroot-Umgebung angeboten werden.

Das ganze findet sich als unser Bug #519438 in Novells Bugzilla.

Dieser Beitrag wurde unter Blog, Howtos, Mailserver abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

2 Antworten zu Postfix verliert From-Zeilen im Logfile nach Restart von Syslog/logrotate

  1. S. Kanevski sagt:

    „Die Abhilfe: Der qmgr muß nicht in einer schroot-Umgebung laufen“ — wieso denn nicht den qmgr vom LOGROTATE neustarten lassen gleich nach dem reload von syslog?? Habe noch nicht ausprobiert, sieht aber für mich netter aus, der qmgr wurde doch nicht umsonst in chroot-Umgebung verfrachtet..

    Gruss

  2. phei sagt:

    Ja, das kann man natürlich auch machen. Nur ist das dann eine Anpassung im System die man fortlaufend mitschleppen/mitupdaten muß. Außerdem ist es auf Systemen mit vielen, vielen Mails in der Queue nicht gerade erstrebenswert, „mal eben“ Postfix und damit den qmgr zu starten. Darüber hinaus ist es auch fraglich, ob es tatsächlich Gründe dafür gibt, daß sich der qmgr in der chroot-Umgebung befindet. Wietse Venema selbst hatte dafür nur ein verächtliches Lachen übrig und empfand das als Quark. Man kann das machen — aber man muß das nun auch nicht. Aber gut — alles ist möglich. Um das ganze noch komplett zu machen: Natürlich kann man auch Syslog anweisen innerhalb der chroot-Umgebung einen Socket aufzumachen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.