EXIMSTATS(8)
π NAME π
okay so bestie, this is the manual page for eximstats β that's the section 8 (sysadmin-coded) Exim one β and what it does is literally generate statistics from Exim mainlog or syslog files. slay. π
πΈ SYNOPSIS πΈ
eximstats [Output] [Options] mainlog1 mainlog2 ...
eximstats -merge [Options] report.1.txt report.2.txt ... > weekly_report.txt
β¨ Output β¨
-txtβ spit the results out as plain text to STDOUT. simple. clean. iconic.-txt=filenameβ same plain text energy, but into a file. and yes, filename-for STDOUT is accepted, we love a flexible queen π«Ά-htmlβ output the results in HTML, to STDOUT. pretty web vibes β¨-html=filenameβ HTML into a file. filename-for STDOUT is accepted, no cap.-xlsβ output in Excel compatible Format to STDOUT. heads up though: this one requires theSpreadsheet::WriteExcelCPAN module.-xls=filenameβ Excel compatible format into a file. filename-for STDOUT is accepted. spreadsheet girlies rise π
π Options π
-hnumberβ histogram divisions per hour. default is1, and0suppresses histograms entirely. valid values are literally just:
0, 1, 2, 3, 5, 10, 15, 20, 30 or 60.
-neβ don't display error information. we're ignoring the drama π-nrβ don't display relaying information.-nr/pattern/β don't display relaying information that matches. selective filtering, main character energy.-ntβ don't display transport information.-nt/pattern/β don't display transport information that matches.-qlistβ list of times for queuing information. a single0item suppresses it.-tnumberβ display top number sources/destinations. default is50, and0suppresses the top listing.-tnlβ omit local sources/destinations in the 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. super 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. e.g. -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. buckets, but make it data π
-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. ngl 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. e.g. -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-bydomainand/or-byemailand/or-byedomain. and if none of these options are specified, then-byhostis assumed as a default. she's the default for a reason π-bydomainβ show results by sending domain. may be combined with-byhostand/or-byemailand/or-byedomain.-byemailβ show results by sender's email address. may be combined with-byhostand/or-bydomainand/or-byedomain.-byemaildomainor-byedomainβ show results by sender's email domain. may be combined with-byhostand/or-bydomainand/or-byemail. two names, one vibe π¦-pattern Description /Pattern/β look for the specified pattern and count the number of lines in which it appears. and bestie, this option can be specified multiple times:
-pattern 'Refused connections' '/refused connection/'
-mergeβ this option allowseximstatsto merge old eximstat reports together:
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! she can't invent facts she never had.
- 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
-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. giving her permission to find nothing, iconic.-dβ debug flag. this outputs theeval()'d parser onto STDOUT which makes it easier to trap errors in the eval section. remember to add1to 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 β this contains details of the mailing list exim-users@exim.org. go say hi bestie π
π 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 :) π
okay that's the whole thing, no cap. this page came from perl v5.42.3, dated 2026-10-06, and it's the EXIMSTATS(8) situation β go parse some logs and slay ππ β¨
π¦ where this page comes from
- fedora 43: exim 4.100.1-1.fc43 Β· GPL-2.0-or-later
- fedora 44: exim 4.100.1-1.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms