Re: Fwd: patch to deal with kernel timestamp messages

Mike Tremaine <[email protected]>
Newsgroups gmane.comp.log.logwatch.devel
Message-ID <[email protected]>
Kirk Bauer wrote:
> ---------- Forwarded message ----------
> From: David Miller <[email protected]>
> Date: Fri, Mar 21, 2008 at 9:46 AM
> Subject: patch to deal with kernel timestamp messages
> To: [email protected]
> 
> 
> Hi,
> 
>  Ubuntu (and probably other distro) kernels emit some sort of timestamp
>  (actually, an uptime) on log messages, which while perhaps useful for
>  some things, confuses logwatch.  Instead of:
> 
>       From 66.98.146.21 - 2 packets
>          To xxx.xxx.xxx.xxx - 2 packets
>             Service: www (tcp/80) (Inbound) - 2 packets
> 
>  one gets:
> 
>       From 66.98.146.21 - 2 packets
>          To xxx.xxx.xxx.xxx - 2 packets
>             Service: www (tcp/80) ([3186663.636944] Inbound) - 1 packet
>             Service: www (tcp/80) ([3186666.607561] Inbound) - 1 packet
> 
>  similarly (from service kernel):
> 
>    1 Time(s): [3271383.159937] skge eth0: Link is down.
>    1 Time(s): [3271384.159937] skge eth0: Link is down.
> 
>  instead of:
> 
>    2 Time(s): skge eth0: Link is down.
> 
> 
>  I wrote a fix (attached) for my own purposes.  I don't know if this has
>  been discussed before, if a patch is welcome, or if I have even done it
>  "properly", but I submit it to the logwatch development team in case it
>  is of some use to somebody.
> 
>  Happy hacking,
> 
> 
>  David.
> 
> 
> diff -ur /usr/share/logwatch/scripts/services/iptables
> /etc/logwatch/scripts/services/iptables
>  --- /usr/share/logwatch/scripts/services/iptables       2006-08-23
> 23:47:29.000000000 +0100
>  +++ /etc/logwatch/scripts/services/iptables     2008-03-21
> 15:49:36.000000000 +0000
>  @@ -102,7 +102,7 @@
>     # the format for ulogd/ulogd.syslogmenu and messages differ in that
>     # the earlier has no service name after the date.  So RemoveHeaders
>     # doesn't work.  Therefore, we extract it here:
>  -   $ThisLine =~ s/^... .. ..:..:.. ([^ ]*) (kernel: )?//;
>  +   $ThisLine =~ s/^... .. ..:..:.. ([^ ]*) (kernel: )?(\[\d+\.\d+\] )?//;
> 
>     # IPCHAINS
>     if( ($TU,$from,$port,$on) = ( $ThisLine =~ /IP fw-in deny \w+
> (\w+) ([^:]+):\d+ ([^:]+):(\d+) / ) ){
>  diff -ur /usr/share/logwatch/scripts/shared/removeheaders
> /etc/logwatch/scripts/shared/removeheaders
>  --- /usr/share/logwatch/scripts/shared/removeheaders    2006-12-07
> 08:13:21.000000000 +0000
>  +++ /etc/logwatch/scripts/shared/removeheaders  2008-03-21
> 16:05:21.000000000 +0000
>  @@ -19,7 +19,7 @@
>   while (defined($ThisLine = <STDIN>)) {
>      #First line is Solaris ID tag style -mgt
>      $ThisLine =~ s/^... .. ..:..:.. [^ ]* [^\[:]*(\[\d*\])?: \[ID
> \d+( \w+\.\w+)?] //;
>  -    $ThisLine =~ s/^... .. ..:..:.. [^ ]* [^\[:]*(\[\d*\])?: //;
>  +    $ThisLine =~ s/^... .. ..:..:.. [^ ]* [^\[:]*(\[\d*\])?:
> (\[\d+\.\d+\] )?//;
>      # the following is for those logs that use the service name, but do not
>      # append the ':' right after (for example, syslogd restart).  Presumably
>      # OnlyService is called before RemoveHeaders, so this should only be done
> 
>

The first patch to iptables is already in. The second patch to 
removeheaders makes me stop and think. Can anyone think of a case where 
it would break something else?

>  -    $ThisLine =~ s/^... .. ..:..:.. [^ ]* [^\[:]*(\[\d*\])?: //;
>  +    $ThisLine =~ s/^... .. ..:..:.. [^ ]* [^\[:]*(\[\d*\])?: (\[\d+\.\d+\] )?//;

It is conditional so it should no break normal syslog headers but is 
there ever a case where we want the [nnnn.nn] as part of a log?

-Mike
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.