[Logcheck-devel] Bug#636810: logcheck: Should concatenate pattern files before execution

Witold Baryluk baryluk at smp.if.uj.edu.pl
Sat Aug 6 01:43:11 UTC 2011


Package: logcheck
Version: 1.3.13
Severity: normal

Hi!

I have logcheck running and running, for very long time now.
This is mostly because I have very big logfiles currently
due bug in one of deamons. It take so long that
it take few hours to process (and logcheck is started every 2 hours,
no enough to process this). I often need to killall -9 -u logcheck,
as it starts to be eating lots of CPU and making my laptop really hot. :/

So, I looked why actually it take so long for logcheck
and ways of improving.

One of things I immediately see, was that in top I see things
like this:


.... egrep --text -v -f /tmp/logcheck.SVwK21/ignore/dovecot
/tmp/logcheck.SVwK21/checked


In this particular moment it runs (already for 10 minutes) negative matching
using grep -E, with preprocessed dovecot pattern files
(probably removing empty lines and lines beging with # - comments - I guess).
On a file /tmp/logcheck.SVwK21/checked, and this files have about 310k lines
and 61MB.

Immediately I asked myself, why logcheck doesn't actually create one pattern
file
from all files in ignore.d, and pass it to egrep ? (Similar for positive
matches).

So, finding no excuse I filling this report.

Merging all pattern files (both for positive and negative match passes), will
greatly
improve performance by doing only single pass over log file. It will also
in principle allow egrep to optimize regular expressions better (because
there is lots of commonality beetwen patterns), make it even
slightly faster overally.

Please implement it, it is very simple change. Do not have particular
benchmark numbers, but if you want I can perform some.

Thanks.




-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.0.0-t43-prod-03124-g81d6743-dirty
Locale: LANG=pl_PL.utf8, LC_CTYPE=pl_PL.utf8 (charmap=UTF-8) (ignored: LC_ALL set to pl_PL.utf8)
Shell: /bin/sh linked to /bin/dash

Versions of packages logcheck depends on:
ii  adduser                       3.113      add and remove users and groups
ii  cron                          3.0pl1-118 process scheduling daemon
ii  exim4-daemon-light [mail-tran 4.76-2     lightweight Exim MTA (v4) daemon
ii  lockfile-progs                0.1.15     Programs for locking and unlocking
ii  logtail                       1.3.13     Print log file lines that have not
ii  mime-construct                1.11       construct/send MIME messages from 
ii  rsyslog [system-log-daemon]   5.8.3-1    reliable system and kernel logging

Versions of packages logcheck recommends:
ii  logcheck-database             1.3.13     database of system log rules for t

Versions of packages logcheck suggests:
ii  syslog-summary                1.14-2     summarize the contents of a syslog

-- Configuration Files:
/etc/cron.d/logcheck changed [not included]
/etc/logcheck/logcheck.conf [Errno 13] Brak dostępu: u'/etc/logcheck/logcheck.conf'
/etc/logcheck/logcheck.logfiles [Errno 13] Brak dostępu: u'/etc/logcheck/logcheck.logfiles'

-- no debconf information





More information about the Logcheck-devel mailing list