exim + logs in MySQL Datenbank

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster

exim + logs in MySQL Datenbank

Post by hever » 2006-11-16 21:49

Hallo zusammen,
wie ich bereits gemerkt habe, kann man exim wirklich sehr gut und praktisch an eine Datenbank andocken. Zumindest kann man die ganzen MailAccounts und deren Einstellungen in eine Datenbank auslagern, bsp. wie bei vexim.

In der Dokumentation habe ich nun leider keine Hinweise darauf gefunden, wie man eventuell logs direkt in die Datenbank schreiben kann. Es scheint wohl nur in Logfiles oder ins Syslog zu gehen.

Hat vielleicht jemand einen Tip für mich, wie ich die Logfiles live in eine Datenbank kriege?

(Hab schon etwas dazu gelesen, sie nachträglich über ein Programm in die Datenbank zu "verschieben", aber sowas mag ich eigentlich nicht)

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: exim + logs in MySQL Datenbank

Post by Roger Wilco » 2006-11-16 22:26

Die Logs kann Exim nicht direkt in die Datenbank schreiben. Es gibt allerdings Syslog-Daemons, die eine Anbindung an relationale Datenbanken besitzen, z. B. msyslog oder rsyslog.

hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster

Re: exim + logs in MySQL Datenbank

Post by hever » 2006-11-16 22:29

Kan man den LogEintrag nicht direkt an ein Programm übergeben, welches ihn dann direkt in der DB speichert?

Bzw. wenn man die Logs nachträglich in eine DB schreiben möchte, kann man dann ein Programm ausführenlassen, wenn ein LogEvent ausgelöst wird?

Wird schwer, oder ?!

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: exim + logs in MySQL Datenbank

Post by Roger Wilco » 2006-11-16 22:35

Nein. Du könntest aber ein kleines Programm schreiben, dass einen FIFO öffnet, in den Exim loggt, und das die damit erhaltenen Daten in eine Datenbank schreibt...

hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster

Re: exim + logs in MySQL Datenbank

Post by hever » 2006-11-16 23:00

Genau so hab ich es mir vorgestellt.

Kannst du mir noch die direktive verraten um das ganze an den Buffer zu übergeben?

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: exim + logs in MySQL Datenbank

Post by dodolin » 2006-11-16 23:12

Nicht sehr schwierig zu finden: http://www.exim.org/exim-html-4.63/doc/ ... #id2576241 -> log_file_path.

hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster

Re: exim + logs in MySQL Datenbank

Post by hever » 2006-11-21 18:05

Es gibt einen "embedded Perl interpreter":
http://www.exim.org/exim-html-4.50/doc/ ... l#SECT12.1

Kann man nicht bei einem LogEreignis ggf. eine Perl Routine aufrufen die das ganze in eine DB schreibt ?

Ich habe noch einen interessanten Artikel gefunden:
http://www.exim.org/mail-archives/exim- ... 00214.html

Möglichkeiten:
]1) use of readsocket

2) use of syslog (nachträgliches einfügen)

3) using acls to update sql.
(We log directly to a database here with a combination of condition acl's and an accept router that use the ${lookup directive to run an insert statement. We have the lookup always return 1 to prevent a problem if there is a database write problem. It is, of course, a hackish thing - but it works very very well.

-David Powers)
Wie kann ich denn über lookup ein insert statement absetzen ???

hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster

Re: exim + logs in MySQL Datenbank

Post by hever » 2006-11-21 18:51

ok:
${lookup mysql{QUERY}}