[prev in list] [next in list] [prev in thread] [next in thread] 

List:       syslog-ng
Subject:    [syslog-ng] dbparser problem isolating messages
From:       Evan Rempel <erempel () uvic ! ca>
Date:       2012-10-31 16:01:05
Message-ID: 50914B41.1060300 () uvic ! ca
[Download RAW message or body]

I am having a problem with the dbparser when messages have identical leading \
portions.

In my case I have two messages

xlog: backup pg_xlog/000000010000014700000076
xlog: backup pg_xlog/000000010000014700000076 failed


The first of these two messages is a success, and should be safely ignored.
The second of these two messages is a failure, and I want to tag it and route it to a \
ticket creation program so that our Operations Center can investigate.

Patterns are;

xlog: backup pg_xlog/@SET:xid:0123456789ABCDEF@
xlog: backup pg_xlog/@SET:xid:0123456789ABCDEF@ failed

If these patterns are placed into the pattern database in this order, then the first \
pattern will match the failed log message, which is completely wrong. I would ignore \
the message rather than route it to my ticketing system.

If I change the order of them, then all works correctly.

I don't think that "hand tuning" the xml file is the correct approach, and in my case \
can not actually be done. My patterndb.xml file is created by a program that reads \
all of the patterns and tests messages from an external database.

I've worked around this by sorting the patterns descending by the length of the \
patterns, but if I had the two patterns;

xlog: backup pg_xlog/@SET:xid:0123456789ABCDEF@
xlog: backup pg_xlog/@ESTRING:: @failed

then that "trick" does not work either.

As I see it, the dbparser should match complete messages only. That would make the \
order completely irrelevant.







Incidentally, I have the same problem with the "program" matching that the dbparser \
users.

Take the mimedefang program as an example. There are multiple components with program \
names of;

mimedefang
mimedefang-multiplexor
mimedefang.pl

but the program mimedefang will match them all. This means that the pattern database \
file must either;

1. Have all of the message patterns under mimedefang
2. have the program sections sorted in reverse order so that the shortest program \
matches last.

Again, I think that the pattern database should match the complete program name. \
Using multiple patterns for the program  name is technically sufficient, but it would \
be nice to use a regular expression so that I can match

imapd
imapds

with the program
impads?


As usual, all comments welcome, especially those that explain the history of why it \
was done this way and how the issue can be addressed.


Thanks to everyone for such an active community.

Evan.
______________________________________________________________________________
Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
FAQ: http://www.balabit.com/wiki/syslog-ng-faq


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic