EXIMSTATS(8)

NAME
eximstats - generates statistics from Exim mainlog or syslog files.

SYNOPSIS
 eximstats [Output] [Options] mainlog1 mainlog2 ...
 eximstats -merge [Options] report.1.txt report.2.txt ... > weekly_report.txt

  Output:

-txt
    Output the results in plain text to STDOUT.

-txt=filename
    Output the results in plain text. Filename '-' for STDOUT is accepted.

-html
    Output the results in HTML to STDOUT.

-html=filename
    Output the results in HTML. Filename '-' for STDOUT is accepted.

-xls
    Output the results in Excel compatible Format to STDOUT. Requires the Spreadsheet::WriteExcel CPAN module.

-xls=filename
    Output the results in Excel compatible format. Filename '-' for STDOUT is accepted.

  Options:

-hnumber
    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.

-nr/pattern/
    Don't display relaying information that matches.

-nt Don't display transport information.

-nt/pattern/
    Don't display transport information that matches

-qlist
    List of times for queuing information single 0 item suppresses.

-tnumber
    Display top <number> sources/destinations default is 50, 0 suppresses top listing.

-tnl
    Omit local sources/destinations in top listing.

-t_remote_users
    Include remote users in the top source/destination listings.

-include_original_destination
    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_dtlist
    Show the delivery times (DT)for all the messages.

    Exim must have been configured to use the +deliver_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_rtlist
    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.

-byhost
    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.

-bydomain
    Show results by sending domain. May be combined with -byhost and/or -byemail and/or -byedomain.

-byemail
    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/'

-merge
    This option allows eximstats to merge old eximstat reports together. Eg:

     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

    •   You can merge text or html reports and output the results as text or html.

    •   You can use all the normal eximstat output options, but only data included in the original reports can be shown!

    •   When merging reports, some loss of accuracy may occur in the top n lists. This will be towards the ends of the lists.

    •   The order of items in the top n lists may vary when the data volumes round to the same value.

-charts
    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 http://www.cpan.org/modules/01modules.index.html

    GD
    GDTextUtil
    GDGraph

    To install these, download and unpack them, then use the normal perl installation procedure:

     perl Makefile.PL
     make
     make test
     make install

    On Debian GNU/Linux you can use "apt-get install libgd-perl libgd-text-perl libgd-graph-perl" instead.

-chartdirI <dir>
    Create the charts in the directory <dir>

-chartrelI <dir>
    Specify the relative directory for the "img src=" tags from where to include the charts

-emptyok
    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!

DESCRIPTION
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.

AUTHOR
There is a website at https://www.exim.org/.

TO DO
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 immediately delivered. Fixing this could be tricky...

Merging of xls files is not (yet) possible. Be free to implement :)