DOKK / manpages / debian 12 / exim4-base / eximstats.8.en
EXIMSTATS(8) EXIM4 EXIMSTATS(8)

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

Don't display error information.
Don't display relaying information.
Don't display relaying information that matches.
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 +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 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.
Show results by sender's email domain. May be combined with -byhost and/or -bydomain and/or -byemail.
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 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.
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

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.

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.
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 website at https://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 immediately delivered. Fixing this could be tricky...

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

2024-01-01 perl v5.36.0