On 20/07/2021 09:03 Adi Pircalabu <adi@ddns.com.au> wrote:
On 20-07-2021 8:13, Jesús Ángel del Pozo Domínguez wrote:
Hello,
Could you please tell me whether is it possible to do traffic accounting using Dovecot 2.3.4?
What I'd like to do is to collect network traffic (both in & out) for each user (both POP and IMAP traffic).
Regards,
It's possible, you need to adjust the IMAP & POP3 logging configuration, then parse the mail log and collect in/out values. E.g.:
doveconf -a | egrep '(imap|pop3).*logout_format' imap_logout_format = rcvd=%i, sent=%o imap_urlauth_logout_format = in=%i out=%o pop3_logout_format = rcvd=%i, sent=%o, top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
egrep 'dovecot: service=imap, user=user@domain.com.au.*Logged out' /var/log/maillog | tail -n 1 Jul 20 15:59:38 server dovecot: service=imap, user=user@domain.com.au, ip=[127.0.0.1]. Logged out rcvd=38, sent=593
YMMV
-- Adi Pircalabu
With 2.3.12+ you can use
metric imapc_traffic { filter=event=imap_command_finished fields=bytes_in bytes_out group_by=user }
or if you have 2.3.11 (or older)
metric imap_traffic { event_name=imap_command_finished fields=bytes_in bytes_out # group_by needs 2.3.10+ group_by=user }
Then you can use doveadm stats dump
to see these.
Aki