Benutzer-Werkzeuge

Webseiten-Werkzeuge


Writing /srv/www/htdocs/udo/singollo.de/linux.singollo.de/public_html/data/cache/f/f00d4fa4ee21d07dc7ba4ce6978a6b8a.metadata failed
mail:mailgraph.pl_und_journalctl

mailgraph.pl und journalctl

Mit dem Umstieg auf systemd ist syslog so langsam am Aussterben. Das Loggen von Ereignissen erledigt journald. Leider schreibt dieser ein Binärlog, welches mailgraph.pl so nicht auslesen kann. Allerdings bietet journalctl auch die Möglichkeit das Binärlog im gewohnten syslog-Format auszugeben.

/usr/bin/journalctl --no-pager -qu postfix

mailgraph.pl kann diese Ausgabe direkt verarbeiten, man muss sie nicht zuvor in eine temporäre Datei schreiben.

/usr/bin/journalctl --no-pager -qu postfix| /usr/bin/mailgraph.pl -c --daemon-log /var/log/mailgraph \
/mailgraph.log --daemon-rrd=/var/lib/mailgraph -l -

Zwei Probleme tun sich hier allerdings auf:

  • Zeichensatz
  • mit der Laufzeit immer größeres Binärlog und damit lange Laufzeiten

Ersteres lässt sich mit „env LANG=C“ umgehen, zweites braucht etwas Datumsmathematik. Zum Glück kann date nicht nur das Datum (und Zeit) ausgeben bzw. stellen, es kann auch damit rechnen. Also geben wir journalctl auf dem Weg, es soll nur die letzte Stunde ausgeben.

env LANG=C /usr/bin/journalctl --no-pager -qu postfix --since="$(date +"%Y-%m-%d %H:%m" --date '-1 hour')"| \
/usr/bin/mailgraph.pl -c --daemon-log /var/log/mailgraph/mailgraph.log --daemon-rrd=/var/lib/mailgraph -l -

Das ganze jetzt per cron alle 5 Minuten aufrufen lassen und schon hat man seine geliebte Mailstatistik wieder.

mail/mailgraph.pl_und_journalctl.txt · Zuletzt geändert: 20.06.2015 21:40 von udo