{"id":38,"date":"2007-12-30T21:06:51","date_gmt":"2007-12-30T20:06:51","guid":{"rendered":"http:\/\/www.mschuette.name\/wp\/2007\/12\/30\/postfix-logdaten-schoner-auswerten\/"},"modified":"2007-12-30T21:06:51","modified_gmt":"2007-12-30T20:06:51","slug":"postfix-logdaten-schoner-auswerten","status":"publish","type":"post","link":"https:\/\/mschuette.name\/wp\/2007\/12\/postfix-logdaten-schoner-auswerten\/","title":{"rendered":"Postfix-Logdaten sch\u00f6ner auswerten"},"content":{"rendered":"<p>Jetzt hab ich endlich mal Patch-files f\u00fcr meine <a href=\"http:\/\/jimsun.linxnet.com\/postfix_contrib.html\">pflogsumm<\/a>&#8211; und <a href=\"http:\/\/mailgraph.schweikert.ch\/\">mailgraph<\/a>-Anpassungen erstellt.<\/p>\n<p><!--more--><\/p>\n<p><strong>pflogsumm<\/strong> wollte ich beibringen die Logzeilen von <a href=\"http:\/\/postgrey.schweikert.ch\/\">postgrey <\/a>und <a href=\"http:\/\/www.policyd-weight.org\/\">policyd-weight<\/a> besser einzuordnen. Postfix gibt den Meldungen der externen policy-daemons n\u00e4mlich das Pr\u00e4fix &#8220;<code>NOQUEUE: reject: RCPT from<\/code>&#8220;. F\u00fcr pflogsumm hei\u00dft das: der Fehler wird durch die Empf\u00e4ngeradresse verursacht, also wird auch die Zusammenfassung nach Empfangsadressen sotiert. &#8212; Als Admin interessiert mich die aber nicht; ich will die Client-IP haben, denn an der h\u00e4ngen alle Fehlerquellen (RBL-Eintr\u00e4ge, kaputtes HELO, zu schnelle Mailqueue, etc.).<\/p>\n<p>Vorher:<\/p>\n<blockquote><p><code><br \/>\nRecipient address rejected: Greylisted (total: 209)<br \/>\n13   fsr-powi@vefa.uni-potsdam.de<br \/>\n12   bugs-gentoo@blubbmon.de<br \/>\n12   fsr-informatik@vefa.uni-potsdam.de<br \/>\n10   amnesty@mail.asta.uni-potsdam.de<br \/>\n10   fsr-avl@vefa.uni-potsdam.de<br \/>\n[...]<br \/>\n<\/code><\/p><\/blockquote>\n<p>Nachher:<\/p>\n<blockquote><p><code><br \/>\nRecipient address rejected: Greylisted (total: 93)<br \/>\n33   brasiltelecom.net.br<br \/>\n24   codetel.net.do<br \/>\n9   hawaiiantel.net<br \/>\n[...]<br \/>\n<\/code><\/p><\/blockquote>\n<p>Der <a href=\"http:\/\/mschuette.name\/files\/pflogsumm-1.1.1-pdw.diff\">Patch f\u00fcr pflogsumm-1.1.1<\/a> ist recht simpel und f\u00fcgt f\u00fcr diesen Fall eine neue Regexp ein.<\/p>\n<p>Mit <strong>Mailgraph<\/strong> wollte ich verschiedene Reject-Gr\u00fcnde einzeln z\u00e4hlen lassen um zu sehen warum \u00fcberhaupt abgelehnt wird (und damit auch welchen quantitativen Einfluss z.B. RBLs und Greylisting haben). Daf\u00fcr lasse ich eine neue RRD-Datei anlegen und definiere eine Handvoll Kategorien mit Regexpes um die Reject-Logzeilen zu klassifizieren.<\/p>\n<p>Weil ich in der Visualisierung keinen dritten Graphen haben will, hab ich die Virus\/Spam\/Bounce-Graphik extrem umgebaut. (Code-Schnipsel f\u00fcr eine extra Rejects-Graphik hab ich noch irgendwo; ist aber nicht im Patch.)<\/p>\n<p>Hier ist der <a href=\"http:\/\/mschuette.name\/files\/mailgraph-1.14-rejectreasons.diff\">Patch f\u00fcr mailgraph-1.14<\/a>. Wie der entstehende Graph aussieht ist <a href=\"http:\/\/mail.asta.uni-potsdam.de\/\">auf diesem Mailserver<\/a> zu bewundern.<\/p>\n<p>Generelles Problem solcher Erweiterungen ist nat\u00fcrlich die Zahl der verschiedenen Tools und Logmeldungen, sowie die Unm\u00f6glichkeit alle m\u00f6glichen Formate einzeln zu erfassen. (Jim Seymour sagt in der <a href=\"http:\/\/jimsun.linxnet.com\/downloads\/pflogsumm-faq.txt\">pflogsumm-FAQ<\/a> z.B. explizit, dass er in pflogsumm keine Zusatzmeldungen ber\u00fccksichtigen wird.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jetzt hab ich endlich mal Patch-files f\u00fcr meine pflogsumm&#8211; und mailgraph-Anpassungen erstellt.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6,16],"tags":[145,146,178,186,195,196,197,209,239],"class_list":["post-38","post","type-post","status-publish","format-standard","hentry","category-admin","category-e-mail","category-syslog","tag-mail","tag-mailgraph","tag-patch","tag-pflogsumm","tag-policyd-weight","tag-postfix","tag-postgrey","tag-reject","tag-spam"],"_links":{"self":[{"href":"https:\/\/mschuette.name\/wp\/wp-json\/wp\/v2\/posts\/38","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mschuette.name\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mschuette.name\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mschuette.name\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mschuette.name\/wp\/wp-json\/wp\/v2\/comments?post=38"}],"version-history":[{"count":0,"href":"https:\/\/mschuette.name\/wp\/wp-json\/wp\/v2\/posts\/38\/revisions"}],"wp:attachment":[{"href":"https:\/\/mschuette.name\/wp\/wp-json\/wp\/v2\/media?parent=38"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mschuette.name\/wp\/wp-json\/wp\/v2\/categories?post=38"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mschuette.name\/wp\/wp-json\/wp\/v2\/tags?post=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}