Imported Upstream version 1.1.5
[sven/pflogsumm.git] / pflogsumm-faq.txt
1
2 FAQ for Pflogsumm.pl - A Log Summarizer/Analyzer for the Postfix MTA
3
4 Introduction
5
6     I wouldn't have believed it.  What started out mostly as a light-
7     hearted exercise in improving my facility with Perl--with the hope
8     that something useful would come out of it as well--has turned out to
9     be a somewhat popular utility.  And as more Admins find out about
10     postfix, and more end up trying pflogsumm.pl,  many of the questions,
11     suggestions, and enhancement requests are becoming "frequently
12     asked".  So odd as it seems (to me, at any rate), it looks like it's
13     time for a FAQ.
14
15
16 Index of pflogsumm.pl Frequently Asked Questions (in no particular order)
17
18      1. Project Status
19      2. "Could You Make" or "Here's A Patch To Make" Pflogsumm Do ...
20      3. Requires Date:Calc Module
21      4. Built-In Support for Compressed Logs
22      5. Processing Multiple Log Files
23      6. Time-Based Reporting and Statistics
24      7. By-domain Listings
25      8. Reject, Deferred and Bounced Detail Info
26      9. "Orphaned" (no size) Messages
27     10. Pflogsumm misses/mis-diagnoses/mis-reports, etc. <whatever>
28     11. Pflogsumm is generating lots of "uninitialized value" warnings
29     12. Pflogsumm just doesn't work or doesn't report anything
30     13. Postfix Rejects Pflogsumm Reports Because Of Body Checks
31     14. Pflogsumm Reports Double Traffic When Anti-Virus Scanner Used
32     15. Pflogsumm's numbers don't add up
33     16. Hourly stats for reports run without "-d" option are halved
34     17. How Do I Get Pflogsumm To Email Reports To Me Daily/Weekly/etc.?
35     18. How Can I View Pflogsumm's Reports In My Web Browser?
36     19. New Red Hat install - Pflogsumm no longer works!
37     20. How can I best format my custom reject messages for display in
38         Pflogsumm's output?
39     21. Pflogsumm doesn't understand my log file format
40     22. Why Isn't There Any Mention Of "Monkey Butler" In The FAQ?
41     23. Translating Pflogsumm (Support for Internationalization)
42     24. Pflogsumm may sometimes calculate "yesterday" incorrectly
43     25. Sending Logfile Samples
44     26. From Where Can I  Obtain Pflogsumm?
45
46
47 1. Project Status
48
49     New work on Pflogsumm is sporadic.  It pretty much does everything I
50     need it to do and, so far as I can tell, pretty much what most other
51     people need it to do.  And my time is limited.
52
53     I'll still take bug reports.  I'll still fix bugs.  (But I promise no
54     time-line.)  I'll still answer questions (as time allows).  And I
55     *may* add the occasional enhancement or whatever--as the mood
56     strikes--but Pflogsumm is pretty much a "finished work" as far as I'm
57     concerned.
58
59
60 2. "Could You Make" or "Here's A Patch To Make" Pflogsumm Do ...
61
62     Unless it's a *bug* fix, please see: "1. Project Status"
63
64     To the argument "But it's a patch, all you have to do is...," the
65     answer is: "Not quite."  Every time I make a change to Pflogsumm I
66     have to run it through a series of regression checks to make sure the
67     change didn't break something.  Then there's the commit,
68     documentation, web page update, etc. cycle.
69
70     I'm particularly unlikely to add code to Pflogsumm to account for
71     non-standard Postfix log entries.  "Non-standard" being defined as
72     "other than what Wietse's code does."  Or additional stats gathering
73     that nobody else has requested and strikes *me* as of limited interest
74     or use.  In addition to the development cycle, there's the issue of
75     "code bloat."  Pflogsumm already takes enough (too much?) time and
76     memory on busy machines with large logs.  I'm not prone to make this
77     worse for the sake of these things.
78
79     See Also: 21. Pflogsumm doesn't understand my log file format
80
81
82 3. Requires Date::Calc Module
83
84     Pflogsumm requires the Date::Calc module.  You can download and
85     install the Date::Calc module from CPAN.  It can be found at:
86
87         http://search.cpan.org/search?module=Date::Calc
88
89     Or you can remove the code that's dependent on the Date::Calc module.
90     For the convenience of folks that would prefer to take this approach,
91     I've "fenced" all such code like this:
92
93         # ---Begin: SMTPD_STATS_SUPPORT---
94               .
95               .
96               .
97         <bunch of code>
98               .
99               .
100               .
101         # ---End: SMTPD_STATS_SUPPORT---
102
103     However, if you do this you will lose support for --smtpd-stats.
104
105     Later versions of the Pflogsumm distribution include a script to
106     semi-automate removing smtpd stats support, if you so-desire.
107
108     As of Pflogsumm-1.1.1, the presence of Date::Calc is optional.  If you
109     don't want to use the Pflogsumm options that depend upon it, you
110     neither need Date::Calc, nor is it necessary to manually remove the
111     code that depends upon it.
112
113
114 4. Built-In Support for Compressed Logs
115
116     I took a look at this.  There is a Perl module (which I downloaded,
117     built, and installed here) to interface to libz, but after considering
118     the changes that would be necessary--and the fact that those changes
119     would require that potential users have to download/build/install libz
120     (and of the correct version) and the additional Perl module, I decided
121     to forego this enhancement.
122
123     I could just open a pipe within Pflogsumm and use zcat/gunzip/gzip.
124     That would depend upon a) them being there [probably a safe bet--
125     considering the logs somehow got into that format :-), but...] and b)
126     one of these either being in the path or having an environment
127     variable or a script variable or...
128
129     The thing is, in the latter case there's really no "savings" over
130     simply piping into Pflogsumm in the first place.  Multiple processes
131     get spawned, pipes opened, etc. either way.  It would add a little
132     convenience, is all.
133
134     So I could do it.  And there are a couple of ways I could do it.  And
135     my mind is certainly still open on the issue.  I'm just not convinced
136     there's a good reason to do it, is all.  And I'd like to avoid
137     "creeping over-feature-itis" if I can.  My position is *not* set in
138     stone on this issue.  In the mean-time:
139
140         zcat /var/log/maillog.0.gz |pflogsumm.pl <args...>
141
142         or
143
144         gunzip </var/log/maillog.0.gz |pflogsumm.pl <args...>
145
146     should do the trick quite nicely for you.
147
148     If you've a complex situation, for example: your logs aren't rotated
149     exactly at midnight, you might try something like:
150
151         (zcat /var/log/maillog.0.gz; cat /var/log/maillog) \
152             |pflogsumm.pl -d yesterday
153
154     See Also:  5. Processing Multiple Log Files
155               17. How Do I Get Pflogsumm To Email Reports To Me
156                   Daily/Weekly/etc.?
157
158
159 5. Processing Multiple Log Files
160
161     When processing multiple log files (say: an entire weeks worth of logs
162     that are rotated daily), it is important that Pflogsumm be fed them in
163     chronological order.  For performance and memory conservation reasons,
164     Pflogsumm relies on log messages "arriving" in the order in which they
165     were created.
166
167     If you do something like this:
168
169         pflogsumm /var/log/maillog*
170
171     you might not get what you expect!  Instead, try something like:
172
173         pflogsumm `ls -rt /var/log/maillog*`
174
175     A more complex example, where compressed logs are involved:
176
177         (zcat `ls -rt /var/log/maillog.*.gz`; cat /var/log/maillog) \
178             |pflogsumm.pl
179
180     Obviously, this depends on the file modification times for your logs
181     being reflective of their chronological order.  If that can't be
182     trusted, you're gonna have to get ugly.  Like in enumerating each
183     file, or as in:
184
185         (for each in 3 2 1 0; do
186              zcat "/var/log/maillog.$each.gz"
187          done
188          cat /var/log/maillog) |pflogsumm.pl
189
190     or (somewhat more efficiently--by running zcat only once):
191
192         (zcat `for ea in 3 2 1 0; do echo "/var/log/maillog.$ea.gz";
193          done`; cat /var/log/maillog) |pflogsumm.pl
194
195     [Note: I didn't actually run these.  So you would be well-advised
196      to double-check them.]
197
198     See Also:  4. Built-In Support for Compressed Logs
199               17. How Do I Get Pflogsumm To Email Reports To Me
200                   Daily/Weekly/etc.?
201
202
203 6. Time-Based Reporting and Statistics
204
205     There has been a small assortment of requests for different time
206     statistics reporting.  And adding this would be relatively straight-
207     forward.  (Just have to reach a consensus on exactly *what* should be
208     reported, and how.  This could easily get out of hand!)
209
210     There's only one *small* problem.  Ironically, it's time.
211
212     I've experimented with Pflogsumm grokking the log timestamps.  As a
213     matter-of-fact: the enhancement added in the 19990110-05 version
214     required that I do some of this.  My first pass was to use the Perl
215     timelocal() function to convert those sub-strings to an integer for
216     subsequent comparison operations.  Imagine my surprise when
217     performance of the resulting code was a factor of five (5) times
218     slower than that of its predecessor.  After a "remove the statements
219     until it got fast again" exercise, I found that the culprit was
220     timelocal().
221
222     As of version 19990321-01, Pflogsumm does by-domain stats reporting of
223     average and maximum delivery time by host/domain.  And an even earlier
224     version added by-hour and by-day message count reporting.  Anything
225     much beyond these is going to get "expensive."
226
227     If/when any additional time-based stats reporting is added: I think
228     they are definitely going to be optional.
229
230     One way you can make up for Pflogsumm's deficiency in this respect is
231     to use good ol' Unix tools like "grep" to pre-process your log files
232     before feeding them to Pflogsumm.  E.g.:
233
234         grep "Feb  9" /var/log/maillog |pflogsumm what_ever_args
235
236     Note that single-digit days-of-the-month have an additional leading
237     space in the logfiles, where the digit for two-digit dates would be.
238
239
240 7. By-domain Listings
241
242     I figured on the desire for this one from the start.  There are many
243     possibilities:
244
245         1) A single report, split by domain
246         2) An option to limit reporting to a particular domain
247
248     This issue is kind of tricky.  The popularity of Unix amongst
249     SysAdmins is testimony to the beauty of being able to wire- together
250     small, simple tools so that one can generate output to ones taste.
251     Anything I do is likely to make some Admins happy and others wishing
252     I'd done it "the other way".
253
254     One thought that occurred is to perhaps provide a couple of options
255     that would allow one to limit a particular report to
256
257         sender=regular_expression and/or recipient=regular_expression
258
259     The problem with this solution is that an Admin desiring to emit
260     custom reports for multiple domains would have to re-process the same
261     log multiple times--once for each desired domain.
262
263     So I'm still thinking about this one.
264
265
266 8. Reject, Deferred and Bounced Detail Info
267
268     I've actually only received one query about this so far, but there are
269     bound to be more.  So...
270
271     The "detailed" information in the "Reject", "Deferred" and "Bounced"
272     reports is a compromise.  Just take a stroll through your postfix logs
273     some day and observe the variation in how the "reason" for a
274     particular reject, defer, or bounce is reported.  Without putting a
275     lot of static comparisons for each-and-every case into the analyzer, I
276     have absolutely no hope is doing this very well.
277
278     Emitting the entire "reason" is not good, either.  The entire "reason"
279     string can be very long.  Depending on what somebody is using to
280     display Pflogsumm's output, the lines may well wrap-- producing output
281     that is no more readable than just grepping the logs.
282
283     And anything more I do to this end may soon be rendered moot.  After
284     Wietse gets most of the more important functional stuff out of the
285     way, Postfix logging is going to be completely re-written.  (Oh boy,
286     won't that be fun!)  I'm hoping I'll be able to get some input into
287     the process so the formatting is more amenable to automated
288     processing.  Wietse has indicated that such would be the case.
289
290     Also, please note my primary objective behind Pflogsumm (besides the
291     entertainment value): "just enough detail to give the administrator a
292     ``heads up'' for potential trouble spots."  It's not *supposed* to do
293     away with manual inspection entirely.
294
295     For those that really want all that extra detail in the log summary
296     reports, specify the "--verbose-msg-detail" switch.
297
298     See Also: 25. Sending Logfile Samples
299
300
301 9. "Orphaned" (no size) Messages
302
303     The Problem:
304
305         Message size is reported only by the queue manager.  The message
306         may be delivered long-enough after the (last) qmgr log entry that
307         the information is not in the log(s) processed by a particular run
308         of pflogsumm.pl.
309
310     The Result:
311
312         "Orphaned" messages.  These are reported by Pflogsumm as "Messages
313         with no size data."
314
315         This, of course, throws off "Recipients by message size" and the
316         total for "bytes delivered."  ("bytes in messages" in earlier
317         versions.)
318
319     The Solution:
320
321         "Memorize" message sizes by queue i.d.  Easy in theory.  Difficult
322         in practice.  At least at the moment.
323
324         You see, if Pflogsumm's going to "memorize" message sizes, it has
325         to have some definitive way to know when to delete a no-
326         longer-needed reference.  Otherwise the memory file will just grow
327         forever.
328
329     As with the "Reject, Deferred and Bounced Detail Info" issue above,
330     I'm hoping the get some input into future changes in logging issues.
331     In any event: maybe whatever comes out of the logging redesign will
332     provide a solution.
333
334     As of Pflogsumm version 1.0.12, the "Messages with no size data" report
335     can be turned off.
336
337
338 10. Pflogsumm misses/mis-diagnoses/mis-reports, etc. <whatever>
339
340     Are you using a real old version of VMailer?  As of pflogsumm.pl
341     version 19990220-06, versions of VMailer prior to 19981023 are no
342     longer supported.  Sorry.  Pflogsumm-19990121-01.pl will be made
343     permanently available from now on for those with out-of-date versions
344     of VMailer prior to 19981023.
345
346     Are you processing your log files in chronological order?  See item
347     "5: "Processing Multiple Log Files".
348
349     Pflogsumm.pl is being developed by me on my rather small-scale server
350     at home.  There are only two users on the system.  And I do no
351     mail-forwarding.  So the log samples I have to work with are
352     commensurately limited.
353
354     If there's something that Pflogsumm is not doing, or not doing right,
355     let me know what it is, what you think it ought to do, and send me a
356     representative sample of *real* log entries with which to work.
357
358     See Also: 5. Processing Multiple Log Files
359               12. Pflogsumm just doesn't work or doesn't report anything
360               15. Pflogsumm's numbers don't add up
361               19. New Red Hat install - Pflogsumm no longer works!
362               21. Pflogsumm doesn't understand my log file format
363               25. Sending Logfile Samples
364
365
366 11. Pflogsumm is generating lots of "uninitialized value" warnings
367
368     Are you using a version of Perl lower than 5.004_04?  Perhaps with a
369     "beta" version of pflogsumm.pl?  If so, try turning off the "-w"
370     switch.  Pflogsumm as of 19990413-02beta appeared to work correctly
371     with Perl 5.003 in spite of the warnings.  (Those warnings didn't
372     appear with Perl 5.004.)
373
374     I don't guarantee that I'll remember to test future versions of
375     pflogsumm.pl against 5.003, but I'll try to :-).
376
377     You really should consider upgrading your Perl to 5.004 or later.
378
379
380 12. Pflogsumm just doesn't work or doesn't report anything
381
382     Did you *download* Pflogsumm as opposed to grabbing it by
383     "copy-and-paste" from a browser?  Copy-and-paste can result in lines
384     being unintentionally wrapped and hard-tabs being converted to
385     spaces.  This will break Pflogsumm.
386
387     Also, I've received a couple of reports by people downloading
388     Pflogsumm with Lynx that the download has long lines wrapped.
389     Naturally, this breaks Pflogsumm.
390
391     See Also: 10. Pflogsumm misses/mis-diagnoses/mis-reports, etc.
392                <whatever>
393               19. New Red Hat install - Pflogsumm no longer works!
394               21. Pflogsumm doesn't understand my log file format
395
396
397 13. Postfix Rejects Pflogsumm Reports Because Of Body Checks
398
399     You configure Postfix to do body checks, Postfix does its thing,
400     Pflogsumm reports it and Postfix catches the the same string in the
401     Pflogsumm report.  There are several solutions to this.
402
403     Wolfgang Zeikat contributed this:
404
405         #!/usr/bin/perl
406         use MIME::Lite;
407
408         ### Create a new message:
409         $msg = MIME::Lite->new(
410             From     => 'your@send.er',
411             To       => 'your@recipie.nt',
412             # Cc     => 'some@other.com, some@more.com',
413             Subject  => 'pflogsumm',
414             Date     => `date`,
415             Type     => 'text/plain',
416             Encoding => 'base64',
417             Path     =>'/tmp/pflogg',
418         );
419
420         $msg->send;
421
422     Where "/tmp/pflogg" is the output of Pflogsumm.  This puts Pflogsumm's
423     output in a base64 MIME attachment.
424
425     In a follow-up to a thread in the postfix-users mailing list, Ralf
426     Hildebrandt noted:
427
428         "mpack does the same thing."
429
430     The canonical FTP site for mpack is ftp.andrew.cmu.edu:pub/mpack/
431
432     The solution I came up with is to modify the body_checks statements to
433     ignore the strings when they're in a Pflogsumm report, as follows:
434
435     Bounce anything with 6 or more "$"s in a row...
436
437         /\${6,}/    REJECT
438
439     Which, of course, catches the line in the Pflogsumm report too.
440     So...
441
442         /^(?!\s+[0-9]+\s+).*?\${6,}/    REJECT
443
444     which reads "anything with 6 or more '$'s in a row that is not a line
445     beginning with one or more whitespace characters, followed by one or
446     more digits, followed by one or more whitespace characters."
447
448     (This is using PCRE's, btw.)
449
450     Note that my solution will be more computationally expensive, by a
451     *long* way, than encoding Pflogsumm's output into a format that
452     body_checks won't catch.
453
454     Robert L Mathews suggested the following solution
455
456         /^ {6,11}[[:digit:]]{1,6}[ km] /    OK
457
458     Placed at the beginning of a body_checks file, this will "pre-approve"
459     lines in Pflogsumm's output that might otherwise get caught.  That's
460     a POSIX regexp version.  A PCRE version of the same thing would be:
461
462         /^ {6,11}\d{1,6}[ km] /    OK
463
464
465 14. Pflogsumm Reports Double Traffic When Anti-Virus Scanner Used
466
467     Sadly, there's absolutely nothing I can do about this :-(.
468
469     The problem arises because of the way in which anti-virus scanning is
470     handled by Postfix.  Basically, Postfix "delivers" each email to the
471     anti-virus scanner and the anti-virus scanner re-sends it through
472     Postfix.  So each email really is received twice and sent/delivered
473     twice.
474
475     And yes, I tried.  I really, really tried.  If I recall correctly, I
476     spent some two days mucking-about with this problem.  Actually thought
477     I had it once or twice.  But the results inevitably failed regression
478     testing.  At the end of this, and with some more careful thought, I
479     realized it just wasn't possible.  If you think you can prove me
480     wrong, please do so.  I'd be quite pleased to be proven wrong on this
481     one.
482
483     johnfawcett at tiscali-dot-it believes he's done it.  You may find
484     prefiltering your log with his "prepflog" does it for you.  You can
485     find it at <http://web.tiscali.it/postfix/>.
486     
487         Note: Because of the way John's pre-processing script works,
488         which, given my own experiments, is probably the way it *has*
489         to work to work correctly, integrating his code into Pflogsumm
490         would be difficult, at best, if it's even possible within
491         Pflogsumm's current structure.
492
493
494 15. Pflogsumm's numbers don't add up
495
496     Pflogsumm reports more "delivered" than "received"
497
498         Naturally.  A single email message can have multiple recipients.
499
500     Pflogsumm reports more "rejected" than "received"
501
502     Why doesn't delivered + deferred + bounce + rejected = received?
503
504         Some rejects (header and body checks, for example) happen in
505         "cleanup," after alias lists are expanded.  Thus a single received
506         message will be rejected multiple times: once for each recipient.
507
508     The "size=" fields, multiplied by their "nrcpt=" fields, when added-up
509     yields a total higher than Pflogsumm's "bytes delivered" total.
510
511         Pflogsumm doesn't count something delivered until it actually *is*
512         delivered.  Nrcpt only suggests the number of intended recipients,
513         not how many are actually deliverable.  Only if there were no
514         bounces, rejects, defers or other undeliverables for everything
515         that was received would a calculation such as that above yield the
516         proper value.
517
518     Pflogsumm's "% rejected" doesn't add up
519
520         The "percent rejected" and "percent discarded" figures are only
521         approximations.  They are calculated as follows (example is for
522         "percent rejected"):
523
524             percent rejected =
525
526                 (rejected / (delivered + rejected + discarded)) * 100
527
528         Given the issues discussed above, this is really the best that can
529         be hoped-for, IMO.
530
531     I consistently see more "delivered" than "received."  How is that
532     possible?
533
534         Any message that's got multiple recipients in the "To:,"
535         "Cc:," and "Bcc:" fields will result in a single "received"
536         with multiple "delivered"s, as well as, possibly, multiple
537         "rejects" (or reject warnings, discards or holds), depending
538         on where in Postfix' processing the rule was that resulted
539         in the reject, etc.
540
541     See Also: 10. Pflogsumm misses/mis-diagnoses/mis-reports, etc.
542                   <whatever>
543
544
545 16. Hourly stats for reports run without "-d" option are halved
546
547     Scenario: On day #1 of a fresh logfile, you run Pflogsumm with "-d
548     today" and the next day you run it with no "-d" option.  The "Per-Hour
549     Traffic" statistics are approximately halved.  How can this be?
550
551     Note that when you run Pflogsumm on a logfile that contains multi-day
552     logfile entries, Pflogsumm automatically changes the per-hour stats to
553     daily traffic averages.  If there's even *one* logfile entry from
554     another day, all of the per-hour stats will be divided by two.  Unless
555     you rotate logfiles *precisely* at midnight--and it's unlikely you can
556     guarantee that happening--there's no way to prevent this.
557
558
559 17. How Do I Get Pflogsumm To Email Reports To Me Daily/Weekly/etc.?
560
561     Excuse me?  You're running a mailserver and you don't know how to use
562     cron to run things on a scheduled basis and pipe the output to
563     something that'll email it to you?
564
565     Oh. My. Lord.
566
567     *sigh*
568
569     Here's my crontab entries:
570
571     10 0 * * * /usr/local/sbin/pflogsumm -d yesterday /var/log/syslog \
572         2>&1 |/usr/bin/mailx -s "`uname -n` daily mail stats" postmaster
573
574     10 4 * * 0   /usr/local/sbin/pflogsumm /var/log/syslog.0 \
575         2>&1 |/usr/bin/mailx -s "`uname -n` weekly mail stats" postmaster
576
577     (Those are actually each a single line.  I line-broke them [and
578     signified that with the "\"s] for readability.)
579
580     The first generates stats for the previous day and is run *after*
581     midnight.  The second is run against the previous week's entire log.
582     (I rotate my logs weekly.)
583
584     If you rotate your logs on a different schedule, want monthly reports,
585     etc., I leave it as an exercise to you, the reader, to figure out how
586     to concatenate several logs to stdout and feed that to Pflogsumm.
587
588     See Also: 4. Built-In Support for Compressed Logs
589               5. Processing Multiple Log Files
590               The Unix manual pages for "cron," "crontab," "cat,"
591               "zcat," "gzip," "gunzip," "mail," "mailx," etc.
592
593
594 18. How Can I View Pflogsumm's Reports In My Web Browser?
595
596     Just direct Pflogsumm's output to a file, call it "something.txt" or
597     whatever, and look at it with your browser :).  If you want to get
598     fancy, create a post-processing shell script that'll create a
599     date-tagged file, like "mailstats-20030216.txt".  It's easy.
600
601     See Also: Pflogsumm Through A Browser, on Pflogsumm's home page.
602
603
604 19. New Red Hat install - Pflogsumm no longer works!
605
606     From some email exchanges with a couple of people that reported
607     this...
608
609         "It appears the Pflogsumm is broken with RedHat9.  I can take
610          the same log file and run it under Solaris9/RedHat 7.3 (perl 5.8
611          on both) without a problem, but it breaks on RH9."
612
613         "Oops.  Sorry about the false alarm.  This is an issue with
614          some of the other Perl scripts that are out there due to Red Hat
615          8/9 using LANG=en_US.UTF-8
616
617          Changing the locale to "POSIX" fixes this...
618              LANG=C
619
620          Note that Pflogsumm works fine when run through cron.daily, as
621          cron has different environment settings."
622
623         "Ah, the good old RH8/9 UTF-8 strikes again.  I should have
624          known. Setting  LANG to either en_US or C fixes the problem."
625
626     What the above means is that you have to change the "LANG" environment
627     variable from "en_US.UTF-8" to "en_US" or "C".  E.g.:
628
629         LANG="en_US"
630         export LANG
631
632     in your shell.  Or you could add these commands to your login
633     profile.  (I.e.: $HOME/.bash_profile, if you're using bash.)  Or set
634     the system-wide default in /etc/sysconfig/i18n.  My RH boxes have LANG
635     set to "en_US" there, and everything seems to work fine.  (If you set
636     it in your profile or the system-wide default, you'll need a fresh
637     login for it to take effect, obviously.)
638
639     See Also: 10. Pflogsumm misses/mis-diagnoses/mis-reports, etc.
640                <whatever>
641               12. Pflogsumm just doesn't work or doesn't report anything
642               21. Pflogsumm doesn't understand my log file format
643
644
645 20. How can I best format my custom reject messages for display in
646     Pflogsumm's output?
647
648     Reject reason strings found in the mail log will be truncated at the
649     first comma (","), colon (":") or semi-colon (";").  If you want a
650     "clause" in your reject message to appear in Pflogsumm's output,
651     without having to specify --verbose-msg-detail, use a punctuation mark
652     other than one of those three, such as a dash ("-").
653
654
655 21. Pflogsumm doesn't understand my log file format
656
657     I've received several requests to modify Pflogsumm's log file format
658     regular expression matching to accommodate "non-standard" log file
659     formats.  I'm not inclined to honour such requests.  The regexp that
660     identifies Postfix' log file entries is nearly incomprehensible as it
661     is.  If your log file format has extra fields (e.g.: FreeBSD syslogd
662     with "-v -v" specified), or, as in one case (metalog), is lacking
663     fields, and you insist on doing things that way, I recommend you
664     code-up a little pre-filter to mung the format into a standard one.
665
666     See Also: 10. Pflogsumm misses/mis-diagnoses/mis-reports, etc.
667                <whatever>
668               12. Pflogsumm just doesn't work or doesn't report anything
669               19. New Red Hat install - Pflogsumm no longer works!
670
671
672 22. Why Isn't There Any Mention Of "Monkey Butler" In The FAQ?
673
674     A friend of mine asked me if I'd put the phrase "monkey butler" in
675     the FAQ.  The answer is no.  Pflogsumm is used by some rather large
676     corporations.  There are credibility issues.  Sorry. :)
677
678
679 23. Translating Pflogsumm (Support for Internationalization)
680
681     Unfortunately, Pflogsumm doesn't currently have i18n support.
682
683     It wasn't until at least Perl 5.6 that i18n was included as part of
684     the base distribution.  Since, last time I looked, 5.005* was still
685     the most widely-used version of Perl (that's what I'm still running
686     everywhere, too), I can't put i18n in without chancing breaking
687     things right-and-left for the majority of my customers.
688
689     Even with Perl 5.6 and above, it was mentioned in postfix-users, by
690     Liviu Daia, that
691
692         "Perl 5.6+ has locales.  Locales can give you localized
693          dates, charsets, standard error messages etc., but it
694          won't automatically switch languages of the strings
695          defined in your program.  For that, you still need
696          gettext or something equivalent."
697
698     So I'm not clear on the future of i18n support in Pflogsumm.  But I'm
699     keeping an eye on things.  Proper i18n support has long been one of
700     the top things on my own wish list!
701
702     Prospective translators are urged to translate *only* the
703     stable/production versions.  Beta and Alpha versions can sometimes
704     change rapidly.
705
706     If you do translate Pflogsumm, let me know and I'll put a link to it
707     on Pflogsumm's main web page.
708
709
710 24. Pflogsumm may sometimes calculate "yesterday" incorrectly
711
712     As Wieland Chmielewski aptly noted:
713
714         Subroutine get_datestr incorrectly assumes that each day of
715         the year comprises 24 hours. In those countries which
716         participate in Daylight Saving Time policy there is one day
717         with 23 hours and one day with 25 hours. So, chances are (for
718         1 hour within those days) that get_datestr actually returns
719         either "the day before yesterday" or "today" instead of
720         "yesterday" as requested.
721
722     Right you are, Wieland, and thanks for the catch.
723
724     Problem is, of course, there's really no clean, easy, certain fix.
725     The work-around is to stay well clear of DST never-never land with
726     your cron jobs.
727
728
729 25. Sending Logfile Samples
730
731     Here's the deal with whatever you may send me in the way of log
732     samples:
733
734         . Obfuscate them if you want.  But take care not alter them
735           in such a manner that they're not accurate wrt the "realism" of
736           the data, make sure the field formatting is not altered, and
737           that the order of the log entries is not altered.
738
739         . The world is an unsafe place for your data, no matter where
740           it might reside.  But I'll do my level best to ensure that your
741           data does not fall into the hands of others.
742
743         . If you want, I'll PGP-encrypt the data when it's not in
744           use.
745
746         . You can PGP-encrypt it when you send it to me if you're
747           concerned.  My PGP public key can be found on my Web site and at
748           the PGP public key servers.
749
750         . If you want, I'll delete the sample data when the work is
751           done.  But I would *like* to keep it around for future
752           regression-testing.  It's your call.  Let me know.
753
754
755 26. From Where Can I  Obtain Pflogsumm?
756
757     http://jimsun.LinxNet.com/postfix_contrib.html
758
759
760 Created: 15 Feb., 1999 / Last updated: 22 March, 2010