eximstats - generates statistics from Exim mainlog or syslog files.
eximstats [Output] [Options] mainlog1 mainlog2 ...
eximstats -merge [Options] report.1.txt report.2.txt ... > weekly_report.txt
Output the results in plain text to STDOUT.
Output the results in plain text. Filename '-' for STDOUT is
Output the results in HTML to STDOUT.
Output the results in HTML. Filename '-' for STDOUT is accepted.
Output the results in Excel compatible Format to STDOUT. Requires
the Spreadsheet::WriteExcel CPAN module.
Output the results in Excel compatible format. Filename '-' for
STDOUT is accepted.
histogram divisions per hour. The default is 1, and 0 suppresses
histograms. Valid values are:
0, 1, 2, 3, 5, 10, 15, 20, 30 or 60.
-ne Don't display error information.
-nr Don't display relaying information.
Don't display relaying information that matches.
-nt Don't display transport information.
Don't display transport information that matches
List of times for queuing information single 0 item suppresses.
Display top <number> sources/destinations default is 50, 0
suppresses top listing.
Omit local sources/destinations in top listing.
Include remote users in the top source/destination listings.
Include the original destination email addresses rather than just
using the final ones. Useful for finding out which of your mailing
lists are receiving mail.
Show the delivery times (DT)for all the messages.
Exim must have been configured to use the +delivery_time logging
option for this option to work.
list is an optional list of times. Eg -show_dt1,2,4,8 will show the
number of messages with delivery times under 1 second, 2 seconds, 4
seconds, 8 seconds, and over 8 seconds.
Show the receipt times for all the messages. The receipt time is
defined as the Completed hh:mm:ss - queue_time_overall - the
Receipt hh:mm:ss. These figures will be skewed by pipelined
messages so might not be that useful.
Exim must have been configured to use the +queue_time_overall
logging option for this option to work.
list is an optional list of times. Eg -show_rt1,2,4,8 will show the
number of messages with receipt times under 1 second, 2 seconds, 4
seconds, 8 seconds, and over 8 seconds.
Show results by sending host. This may be combined with -bydomain
and/or -byemail and/or -byedomain. If none of these options are
specified, then -byhost is assumed as a default.
Show results by sending domain. May be combined with -byhost
and/or -byemail and/or -byedomain.
Show results by sender's email address. May be combined with
-byhost and/or -bydomain and/or -byedomain.
-byemaildomain or -byedomain
Show results by sender's email domain. May be combined with
-byhost and/or -bydomain and/or -byemail.
-pattern Description /Pattern/
Look for the specified pattern and count the number of lines in
which it appears. This option can be specified multiple times. Eg:
-pattern 'Refused connections' '/refused connection/'
This option allows eximstats to merge old eximstat reports
eximstats mainlog.sun > report.sun.txt
eximstats mainlog.mon > report.mon.txt
eximstats mainlog.tue > report.tue.txt
eximstats mainlog.wed > report.web.txt
eximstats mainlog.thu > report.thu.txt
eximstats mainlog.fri > report.fri.txt
eximstats mainlog.sat > report.sat.txt
eximstats -merge report.*.txt > weekly_report.txt
eximstats -merge -html report.*.txt > weekly_report.html
o You can merge text or html reports and output the results as
text or html.
o You can use all the normal eximstat output options, but only
data included in the original reports can be shown!
o When merging reports, some loss of accuracy may occur in the
top n lists. This will be towards the ends of the lists.
o The order of items in the top n lists may vary when the data
volumes round to the same value.
Create graphical charts to be displayed in HTML output. Only valid
in combination with -html.
This requires the following modules which can be obtained from
To install these, download and unpack them, then use the normal
perl installation procedure:
On Debian GNU/Linux you can use "apt-get install libgd-perl
libgd-text-perl libgd-graph-perl" instead.
Create the charts in the directory <dir>
Specify the relative directory for the "img src=" tags from where
to include the charts
Specify that it's OK to not find any valid log lines. Without this
we will output an error message if we don't find any.
-d Debug flag. This outputs the eval()'d parser onto STDOUT which
makes it easier to trap errors in the eval section. Remember to add
1 to the line numbers to allow for the title!
Eximstats parses exim mainlog and syslog files to output a statistical
analysis of the messages processed. By default, a text analysis is
generated, but you can request other output formats using flags. See
the help (-help) to learn about how to create charts from the tables.
There is a web site at http://www.exim.org
This program does not perfectly handle messages whose received and
delivered log lines are in different files, which can happen when you
have multiple mail servers and a message cannot be immeadiately
delivered. Fixing this could be tricky...
Merging of xls files is not (yet) possible. Be free to implement :)